S
services-layer
Service layer patterns with createTaggedError, namespace exports, and Result types. Use when creating new services, defining domain-specific errors, or understanding the service architecture.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Service layer patterns with createTaggedError, namespace exports, and Result types. Use when creating new services, defining domain-specific errors, or understanding the service architecture.
How to use
- 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.