S
services-layer
Wzorce warstwy serwisów z obsługą błędów i typami Result dla czystej logiki biznesowej
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill dokumentujący implementację serwisów w architekturze Whispering. Serwisy to czysta, izolowana logika biznesowa bez zależności od UI, zwracająca typy Result<T, E> do ujednoliconej obsługi błędów. Nauczysz się definiować błędy domenowe za pomocą defineErrors, organizować eksporty w przestrzeniach nazw i budować serwisy testowalne i niezależne od stanu aplikacji. Idealne gdy tworzysz nowy serwis, definiujesz błędy specyficzne dla domeny lub chcesz zrozumieć architekturę warstwową.
Jak używać
- Zainstaluj skill services-layer w swoim projekcie Whispering. Skill zawiera dokumentację wzorców implementacji serwisów zgodnie z trzywarstwową architekturą: UI → Query/RPC → Services.
- Gdy potrzebujesz stworzyć nowy serwis, zdefiniuj najpierw błędy domenowe za pomocą funkcji defineErrors z biblioteki wellcrafted. Grupuj błędy w obiekcie namespace, gdzie każdy klucz staje się wariantem błędu.
- Implementuj logikę serwisu jako czystą funkcję — bez dostępu do stanu UI, ustawień ani reaktywnych magazynów. Serwis powinien przyjmować tylko jawne parametry i zwracać typ Result<T, E>.
- Eksportuj serwis i jego typy błędów poprzez namespace exports, aby zapewnić spójną organizację kodu i ułatwić konsumpcję w warstwie Query.
- Gdy potrzebujesz obsługi błędów asynchronicznych, odwołaj się do skill error-handling, aby poznać wzorce trySync i tryAsync. Dla integracji z UI wykorzystaj skill query-layer do konsumpcji serwisów za pośrednictwem TanStack Query.
- Testuj serwisy jednostkowo, przekazując mockowane parametry — czystość i izolacja serwisów czyni je łatwymi do testowania bez dodatkowych zależności.