Toolverse
Wszystkie skille

single-or-array-pattern

autor: EpicenterHQ

Funkcje, które obsługują zarówno pojedyncze elementy, jak i tablice — jeden kod dla obu przypadków

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Wyświetlenia
4

O skillu

Wzorzec projektowy do tworzenia funkcji, które elastycznie przyjmują pojedynczy element lub tablicę elementów. Idealne do operacji CRUD, API przetwarzania wsadowego i funkcji fabrycznych. Normalizujesz dane na wejściu, a cała logika pracuje na tablicy — eliminujesz duplikację kodu i upraszczasz obsługę obu scenariuszy bez rozgałęzień warunkowych.

Jak używać

  1. Zdefiniuj parametr funkcji z typem unii: T | T[], gdzie T to typ pojedynczego elementu (np. Client | Client[]).

  2. Na początku funkcji normalizuj wejście do tablicy za pomocą Array.isArray() — jeśli otrzymasz pojedynczy element, zawiń go w tablicę: const items = Array.isArray(itemOrItems) ? itemOrItems : [itemOrItems].

  3. Napisz całą logikę biznesową pracując tylko na zmiennej items (tablicy) — iteruj pętlą for...of lub map() i wykonaj operacje na każdym elemencie.

  4. Nazwij parametr wejściowy zgodnie z konwencją: itemOrItems, clientOrClients, recordingOrRecordings — znormalizowaną zmienną nazwij formą liczby mnogiej (items, clients, recordings).

  5. Zastosuj wzorzec w operacjach CRUD (create, update, delete), funkcjach fabrycznych lub API, które powinny obsługiwać zarówno pojedyncze żądania, jak i przetwarzanie wsadowe.

  6. Unikaj tego wzorca, jeśli semantyka operacji na jednym elemencie różni się znacząco od operacji na tablicy, lub jeśli typ zwracany powinien być inny dla obu przypadków.

Podobne skille