katanakit-js 3.2.2 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/README.md +435 -307
  2. package/dist/adapters/angular/fetch.d.ts +37 -0
  3. package/dist/adapters/angular/fetch.d.ts.map +1 -0
  4. package/dist/adapters/angular/fetch.js +67 -0
  5. package/dist/adapters/angular/fetch.js.map +1 -0
  6. package/dist/adapters/angular/index.d.ts +4 -0
  7. package/dist/adapters/angular/index.d.ts.map +1 -0
  8. package/dist/adapters/angular/index.js +4 -0
  9. package/dist/adapters/angular/index.js.map +1 -0
  10. package/dist/adapters/angular/query.d.ts +107 -0
  11. package/dist/adapters/angular/query.d.ts.map +1 -0
  12. package/dist/adapters/angular/query.js +166 -0
  13. package/dist/adapters/angular/query.js.map +1 -0
  14. package/dist/adapters/angular/watch.d.ts +34 -0
  15. package/dist/adapters/angular/watch.d.ts.map +1 -0
  16. package/dist/adapters/angular/watch.js +38 -0
  17. package/dist/adapters/angular/watch.js.map +1 -0
  18. package/dist/adapters/assistant/assistant.service.js +1 -1
  19. package/dist/adapters/assistant/assistant.service.js.map +1 -1
  20. package/dist/adapters/astro/astro.service.d.ts +0 -1
  21. package/dist/adapters/astro/astro.service.d.ts.map +1 -1
  22. package/dist/adapters/astro/astro.service.js +0 -1
  23. package/dist/adapters/astro/astro.service.js.map +1 -1
  24. package/dist/adapters/bun/dummyjson.service.d.ts +88 -0
  25. package/dist/adapters/bun/dummyjson.service.d.ts.map +1 -0
  26. package/dist/adapters/bun/dummyjson.service.js +149 -0
  27. package/dist/adapters/bun/dummyjson.service.js.map +1 -0
  28. package/dist/adapters/bun/index.d.ts +5 -0
  29. package/dist/adapters/bun/index.d.ts.map +1 -0
  30. package/dist/adapters/bun/index.js +5 -0
  31. package/dist/adapters/bun/index.js.map +1 -0
  32. package/dist/adapters/bun/main.d.ts +2 -0
  33. package/dist/adapters/bun/main.d.ts.map +1 -0
  34. package/dist/adapters/bun/main.js +6 -0
  35. package/dist/adapters/bun/main.js.map +1 -0
  36. package/dist/adapters/bun/routes.d.ts +62 -0
  37. package/dist/adapters/bun/routes.d.ts.map +1 -0
  38. package/dist/adapters/bun/routes.js +60 -0
  39. package/dist/adapters/bun/routes.js.map +1 -0
  40. package/dist/adapters/bun/seed.d.ts +65 -0
  41. package/dist/adapters/bun/seed.d.ts.map +1 -0
  42. package/dist/adapters/bun/seed.js +117 -0
  43. package/dist/adapters/bun/seed.js.map +1 -0
  44. package/dist/adapters/bun/server.d.ts +53 -0
  45. package/dist/adapters/bun/server.d.ts.map +1 -0
  46. package/dist/adapters/bun/server.js +64 -0
  47. package/dist/adapters/bun/server.js.map +1 -0
  48. package/dist/adapters/express/app.d.ts +2 -1
  49. package/dist/adapters/express/app.d.ts.map +1 -1
  50. package/dist/adapters/express/app.js +14 -2
  51. package/dist/adapters/express/app.js.map +1 -1
  52. package/dist/adapters/express/products.controller.d.ts.map +1 -1
  53. package/dist/adapters/express/products.controller.js +3 -1
  54. package/dist/adapters/express/products.controller.js.map +1 -1
  55. package/dist/adapters/express/server.js +2 -2
  56. package/dist/adapters/express/server.js.map +1 -1
  57. package/dist/adapters/notion/notion.service.d.ts +4 -2
  58. package/dist/adapters/notion/notion.service.d.ts.map +1 -1
  59. package/dist/adapters/notion/notion.service.js +19 -5
  60. package/dist/adapters/notion/notion.service.js.map +1 -1
  61. package/dist/adapters/react/fetch.d.ts +44 -0
  62. package/dist/adapters/react/fetch.d.ts.map +1 -0
  63. package/dist/adapters/react/fetch.js +74 -0
  64. package/dist/adapters/react/fetch.js.map +1 -0
  65. package/dist/adapters/react/index.d.ts +4 -0
  66. package/dist/adapters/react/index.d.ts.map +1 -0
  67. package/dist/adapters/react/index.js +4 -0
  68. package/dist/adapters/react/index.js.map +1 -0
  69. package/dist/adapters/react/query.d.ts +104 -0
  70. package/dist/adapters/react/query.d.ts.map +1 -0
  71. package/dist/adapters/react/query.js +200 -0
  72. package/dist/adapters/react/query.js.map +1 -0
  73. package/dist/adapters/react/watch.d.ts +37 -0
  74. package/dist/adapters/react/watch.d.ts.map +1 -0
  75. package/dist/adapters/react/watch.js +39 -0
  76. package/dist/adapters/react/watch.js.map +1 -0
  77. package/dist/adapters/solid/fetch.d.ts +43 -0
  78. package/dist/adapters/solid/fetch.d.ts.map +1 -0
  79. package/dist/adapters/solid/fetch.js +72 -0
  80. package/dist/adapters/solid/fetch.js.map +1 -0
  81. package/dist/adapters/solid/index.d.ts +4 -0
  82. package/dist/adapters/solid/index.d.ts.map +1 -0
  83. package/dist/adapters/solid/index.js +4 -0
  84. package/dist/adapters/solid/index.js.map +1 -0
  85. package/dist/adapters/solid/query.d.ts +102 -0
  86. package/dist/adapters/solid/query.d.ts.map +1 -0
  87. package/dist/adapters/solid/query.js +163 -0
  88. package/dist/adapters/solid/query.js.map +1 -0
  89. package/dist/adapters/solid/watch.d.ts +32 -0
  90. package/dist/adapters/solid/watch.d.ts.map +1 -0
  91. package/dist/adapters/solid/watch.js +36 -0
  92. package/dist/adapters/solid/watch.js.map +1 -0
  93. package/dist/adapters/svelte/fetch.d.ts +40 -0
  94. package/dist/adapters/svelte/fetch.d.ts.map +1 -0
  95. package/dist/adapters/svelte/fetch.js +75 -0
  96. package/dist/adapters/svelte/fetch.js.map +1 -0
  97. package/dist/adapters/svelte/index.d.ts +4 -0
  98. package/dist/adapters/svelte/index.d.ts.map +1 -0
  99. package/dist/adapters/svelte/index.js +4 -0
  100. package/dist/adapters/svelte/index.js.map +1 -0
  101. package/dist/adapters/svelte/query.d.ts +108 -0
  102. package/dist/adapters/svelte/query.d.ts.map +1 -0
  103. package/dist/adapters/svelte/query.js +172 -0
  104. package/dist/adapters/svelte/query.js.map +1 -0
  105. package/dist/adapters/svelte/watch.d.ts +32 -0
  106. package/dist/adapters/svelte/watch.d.ts.map +1 -0
  107. package/dist/adapters/svelte/watch.js +41 -0
  108. package/dist/adapters/svelte/watch.js.map +1 -0
  109. package/dist/adapters/telegram/telegram.service.js +1 -1
  110. package/dist/adapters/telegram/telegram.service.js.map +1 -1
  111. package/dist/adapters/vue/query.d.ts +1 -2
  112. package/dist/adapters/vue/query.d.ts.map +1 -1
  113. package/dist/adapters/vue/query.js +9 -9
  114. package/dist/adapters/vue/query.js.map +1 -1
  115. package/dist/adapters/vue/vue.service.d.ts +9 -5
  116. package/dist/adapters/vue/vue.service.d.ts.map +1 -1
  117. package/dist/adapters/vue/vue.service.js +7 -3
  118. package/dist/adapters/vue/vue.service.js.map +1 -1
  119. package/dist/adapters/whatsapp/whatsapp.service.js +1 -1
  120. package/dist/adapters/whatsapp/whatsapp.service.js.map +1 -1
  121. package/dist/adapters/wordpress/wordpress.service.d.ts +2 -1
  122. package/dist/adapters/wordpress/wordpress.service.d.ts.map +1 -1
  123. package/dist/adapters/wordpress/wordpress.service.js +10 -5
  124. package/dist/adapters/wordpress/wordpress.service.js.map +1 -1
  125. package/dist/core/services/agent.service.d.ts.map +1 -1
  126. package/dist/core/services/agent.service.js +9 -1
  127. package/dist/core/services/agent.service.js.map +1 -1
  128. package/dist/core/services/dates.service.d.ts.map +1 -1
  129. package/dist/core/services/dates.service.js +2 -1
  130. package/dist/core/services/dates.service.js.map +1 -1
  131. package/dist/core/services/error.service.d.ts +1 -1
  132. package/dist/core/services/error.service.js +1 -1
  133. package/dist/core/services/http.service.d.ts +26 -5
  134. package/dist/core/services/http.service.d.ts.map +1 -1
  135. package/dist/core/services/http.service.js +30 -6
  136. package/dist/core/services/http.service.js.map +1 -1
  137. package/dist/core/services/logger.service.d.ts +10 -67
  138. package/dist/core/services/logger.service.d.ts.map +1 -1
  139. package/dist/core/services/logger.service.js +13 -139
  140. package/dist/core/services/logger.service.js.map +1 -1
  141. package/dist/core/services/query.service.d.ts +4 -0
  142. package/dist/core/services/query.service.d.ts.map +1 -1
  143. package/dist/core/services/query.service.js +75 -63
  144. package/dist/core/services/query.service.js.map +1 -1
  145. package/dist/core/services/reactive.service.d.ts.map +1 -1
  146. package/dist/core/services/reactive.service.js +7 -10
  147. package/dist/core/services/reactive.service.js.map +1 -1
  148. package/dist/core/services/timing.service.js +8 -8
  149. package/dist/core/services/timing.service.js.map +1 -1
  150. package/dist/core/services/utils.service.d.ts.map +1 -1
  151. package/dist/core/services/utils.service.js +3 -0
  152. package/dist/core/services/utils.service.js.map +1 -1
  153. package/dist/index.d.ts +0 -1
  154. package/dist/index.d.ts.map +1 -1
  155. package/dist/index.js +0 -1
  156. package/dist/index.js.map +1 -1
  157. package/dist/infrastructure/dom/dom.service.d.ts.map +1 -1
  158. package/dist/infrastructure/dom/dom.service.js +18 -4
  159. package/dist/infrastructure/dom/dom.service.js.map +1 -1
  160. package/dist/infrastructure/observer/observer.service.js +2 -2
  161. package/dist/infrastructure/observer/observer.service.js.map +1 -1
  162. package/dist/infrastructure/sensors/sensors.service.js +6 -6
  163. package/dist/infrastructure/sensors/sensors.service.js.map +1 -1
  164. package/dist/infrastructure/storage/storage.service.d.ts.map +1 -1
  165. package/dist/infrastructure/storage/storage.service.js +12 -2
  166. package/dist/infrastructure/storage/storage.service.js.map +1 -1
  167. package/dist/prisma/assistant.store.d.ts +3 -0
  168. package/dist/prisma/assistant.store.d.ts.map +1 -1
  169. package/dist/prisma/assistant.store.js +12 -6
  170. package/dist/prisma/assistant.store.js.map +1 -1
  171. package/dist/prisma/use-prisma.d.ts +5 -4
  172. package/dist/prisma/use-prisma.d.ts.map +1 -1
  173. package/dist/prisma/use-prisma.js +5 -4
  174. package/dist/prisma/use-prisma.js.map +1 -1
  175. package/dist/types/index.d.ts +2 -6
  176. package/dist/types/index.d.ts.map +1 -1
  177. package/package.json +244 -185
  178. package/dist/prisma/db.d.ts +0 -4
  179. package/dist/prisma/db.d.ts.map +0 -1
  180. package/dist/prisma/db.js +0 -12
  181. package/dist/prisma/db.js.map +0 -1
@@ -0,0 +1,37 @@
1
+ import { type Signal } from "@angular/core";
2
+ import type { ApiError, UrlOptions } from "../../types/index.js";
3
+ /** Reactive state exposed by the {@link useRequest} factory (Angular signals). */
4
+ export interface RequestState<T = unknown> {
5
+ data: Signal<T | null>;
6
+ error: Signal<ApiError | null>;
7
+ loading: Signal<boolean>;
8
+ refetch: () => Promise<void>;
9
+ }
10
+ /**
11
+ * Angular signal factory that wraps KatanaKit's HTTP GET. Bridges the Safe
12
+ * Result pattern to Angular signals and never throws on HTTP errors.
13
+ *
14
+ * Must be called within an injection context (component field initializer,
15
+ * constructor, or service) so it can abort in-flight requests via `DestroyRef`.
16
+ * Stale responses are ignored via a request version counter.
17
+ *
18
+ * @param apiName - Name of the registered API (see `useInitApis`).
19
+ * @param endpointName - Name of the endpoint inside that API.
20
+ * @param options - Optional `UrlOptions` (path/query params).
21
+ * @returns Signals `{ data, error, loading }` plus `refetch`.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * import { Component } from "@angular/core";
26
+ * import { useRequest } from "katanakit-js/adapters/angular";
27
+ *
28
+ * @Component({ selector: "app-pokemon", template: `@if (loading()) { Loading… } @else { {{ data()?.name }} }` })
29
+ * export class PokemonComponent {
30
+ * readonly result = useRequest<{ name: string }>("pokeapi", "pokemonById", { params: { id: 25 } });
31
+ * readonly data = this.result.data;
32
+ * readonly loading = this.result.loading;
33
+ * }
34
+ * ```
35
+ */
36
+ export declare function useRequest<T>(apiName: string, endpointName: string, options?: UrlOptions): RequestState<T>;
37
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/adapters/angular/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,MAAM,EAAU,MAAM,eAAe,CAAC;AAGxE,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEjE,kFAAkF;AAClF,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACxC,IAAI,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC3B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,UAAU,GAClB,YAAY,CAAC,CAAC,CAAC,CA6CjB"}
@@ -0,0 +1,67 @@
1
+ import { DestroyRef, inject, signal } from "@angular/core";
2
+ import { useFetch } from "../../core/services/http.service.js";
3
+ /**
4
+ * Angular signal factory that wraps KatanaKit's HTTP GET. Bridges the Safe
5
+ * Result pattern to Angular signals and never throws on HTTP errors.
6
+ *
7
+ * Must be called within an injection context (component field initializer,
8
+ * constructor, or service) so it can abort in-flight requests via `DestroyRef`.
9
+ * Stale responses are ignored via a request version counter.
10
+ *
11
+ * @param apiName - Name of the registered API (see `useInitApis`).
12
+ * @param endpointName - Name of the endpoint inside that API.
13
+ * @param options - Optional `UrlOptions` (path/query params).
14
+ * @returns Signals `{ data, error, loading }` plus `refetch`.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { Component } from "@angular/core";
19
+ * import { useRequest } from "katanakit-js/adapters/angular";
20
+ *
21
+ * @Component({ selector: "app-pokemon", template: `@if (loading()) { Loading… } @else { {{ data()?.name }} }` })
22
+ * export class PokemonComponent {
23
+ * readonly result = useRequest<{ name: string }>("pokeapi", "pokemonById", { params: { id: 25 } });
24
+ * readonly data = this.result.data;
25
+ * readonly loading = this.result.loading;
26
+ * }
27
+ * ```
28
+ */
29
+ export function useRequest(apiName, endpointName, options) {
30
+ const destroyRef = inject(DestroyRef);
31
+ const data = signal(null);
32
+ const error = signal(null);
33
+ const loading = signal(true);
34
+ let version = 0;
35
+ let controller = null;
36
+ let disposed = false;
37
+ const refetch = async () => {
38
+ const current = ++version;
39
+ controller?.abort();
40
+ const next = new AbortController();
41
+ controller = next;
42
+ loading.set(true);
43
+ error.set(null);
44
+ const result = await useFetch(apiName, endpointName, {
45
+ method: "GET",
46
+ urlOptions: options,
47
+ signal: next.signal,
48
+ });
49
+ if (disposed || current !== version)
50
+ return;
51
+ if (result.ok) {
52
+ data.set(result.data);
53
+ error.set(null);
54
+ }
55
+ else if (!next.signal.aborted) {
56
+ error.set(result.error);
57
+ }
58
+ loading.set(false);
59
+ };
60
+ destroyRef.onDestroy(() => {
61
+ disposed = true;
62
+ controller?.abort();
63
+ });
64
+ void refetch();
65
+ return { data, error, loading, refetch };
66
+ }
67
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/adapters/angular/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAe,MAAM,EAAE,MAAM,eAAe,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAW/D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,UAAU,CACzB,OAAe,EACf,YAAoB,EACpB,OAAoB;IAEpB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAEtC,MAAM,IAAI,GAAG,MAAM,CAAW,IAAI,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,UAAU,GAA2B,IAAI,CAAC;IAC9C,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;QACzC,MAAM,OAAO,GAAG,EAAE,OAAO,CAAC;QAC1B,UAAU,EAAE,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,UAAU,GAAG,IAAI,CAAC;QAElB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEhB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAI,OAAO,EAAE,YAAY,EAAE;YACvD,MAAM,EAAE,KAAK;YACb,UAAU,EAAE,OAAO;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC,CAAC;QAEH,IAAI,QAAQ,IAAI,OAAO,KAAK,OAAO;YAAE,OAAO;QAE5C,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACjC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE;QACzB,QAAQ,GAAG,IAAI,CAAC;QAChB,UAAU,EAAE,KAAK,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,KAAK,OAAO,EAAE,CAAC;IAEf,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./fetch.js";
2
+ export * from "./query.js";
3
+ export * from "./watch.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/angular/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./fetch.js";
2
+ export * from "./query.js";
3
+ export * from "./watch.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/angular/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,107 @@
1
+ import { type Signal } from "@angular/core";
2
+ import { type QueryClient, type QueryKey, type QueryState } from "../../core/services/query.service.js";
3
+ import type { ApiError, FetchResult } from "../../types/index.js";
4
+ /** Configuration for `useQuery` (Angular signal factory). */
5
+ export interface UseQueryConfig<T = unknown> {
6
+ /** Cache key (stable array). */
7
+ queryKey: QueryKey;
8
+ /** Fetcher function returning a Safe Result. */
9
+ queryFn: () => Promise<FetchResult<T>>;
10
+ /** Time in ms before cached data is stale (default: 0). */
11
+ staleTime?: number;
12
+ /** Time in ms to keep unused data (default: 5 min). */
13
+ cacheTime?: number;
14
+ /** Retry count on failure (default: 3). */
15
+ retry?: number;
16
+ /** Base delay for exponential backoff (default: 1000). */
17
+ retryDelay?: number;
18
+ /** Whether the query is enabled (default: true). */
19
+ enabled?: boolean;
20
+ }
21
+ /** Reactive return value of `useQuery` (Angular signals). */
22
+ export interface UseQueryReturn<T = unknown> {
23
+ data: Signal<T | null>;
24
+ error: Signal<ApiError | null>;
25
+ isLoading: Signal<boolean>;
26
+ isSuccess: Signal<boolean>;
27
+ isError: Signal<boolean>;
28
+ isStale: Signal<boolean>;
29
+ status: Signal<QueryState<T>["status"]>;
30
+ /** Manually refetch the query. */
31
+ refetch: () => Promise<void>;
32
+ }
33
+ /** Configuration for `useMutation`. */
34
+ export interface UseMutationConfig<TData = unknown, TVariables = unknown> {
35
+ mutationFn: (variables: TVariables) => Promise<FetchResult<TData>>;
36
+ onSuccess?: (data: TData, variables: TVariables) => void;
37
+ onError?: (error: ApiError, variables: TVariables) => void;
38
+ onSettled?: (data: TData | null, error: ApiError | null, variables: TVariables) => void;
39
+ }
40
+ /** Reactive return value of `useMutation`. */
41
+ export interface UseMutationReturn<TData = unknown, TVariables = unknown> {
42
+ data: Signal<TData | null>;
43
+ error: Signal<ApiError | null>;
44
+ isLoading: Signal<boolean>;
45
+ isSuccess: Signal<boolean>;
46
+ isError: Signal<boolean>;
47
+ status: Signal<"idle" | "loading" | "success" | "error">;
48
+ /** Execute the mutation. */
49
+ mutate: (variables: TVariables) => Promise<void>;
50
+ /** Reset the mutation state. */
51
+ reset: () => void;
52
+ }
53
+ /**
54
+ * Angular signal factory that wraps the {@link QueryClient}.
55
+ * Integrates with the API manager — your `queryFn` typically calls `useGetApi`
56
+ * or `useFetch` and returns the Safe Result.
57
+ *
58
+ * Must be called within an injection context (component field initializer,
59
+ * constructor, or a service) so the returned query can auto-cleanup via
60
+ * `DestroyRef`. Requires Angular 16+ signals.
61
+ *
62
+ * @param config - Query configuration.
63
+ * @param client - Optional QueryClient instance (uses global singleton by default).
64
+ * @returns Signals `{ data, error, isLoading, isSuccess, isError, isStale, status }` plus `refetch`.
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * import { Component, inject } from "@angular/core";
69
+ * import { useQuery } from "katanakit-js/adapters/angular";
70
+ * import { useGetApi } from "katanakit-js";
71
+ *
72
+ * @Component({ selector: "app-pokemon", template: `@if (isLoading()) { Loading… } @else { {{ data()?.name }} }` })
73
+ * export class PokemonComponent {
74
+ * readonly data = useQuery({ queryKey: ["pokemon", 25], queryFn: () => useGetApi("pokeapi", "pokemonById", { params: { id: 25 } }) }).data;
75
+ * }
76
+ * ```
77
+ */
78
+ export declare function useQuery<T>(config: UseQueryConfig<T>, client?: QueryClient): UseQueryReturn<T>;
79
+ /**
80
+ * Angular signal factory for mutations (POST/PUT/PATCH/DELETE).
81
+ * Does not cache — returns a `mutate` function that executes the mutation.
82
+ *
83
+ * Must be called within an injection context. Requires Angular 16+ signals.
84
+ *
85
+ * @param config - Mutation configuration.
86
+ * @returns Signals plus `{ mutate, reset }`.
87
+ *
88
+ * @example
89
+ * ```ts
90
+ * import { Component } from "@angular/core";
91
+ * import { useMutation, useQueryClient } from "katanakit-js/adapters/angular";
92
+ * import { usePost } from "katanakit-js";
93
+ *
94
+ * @Component({ selector: "app-create", template: `<button [disabled]="isLoading()" (click)="mutate('Ada')">Create</button>` })
95
+ * export class CreateUserComponent {
96
+ * private readonly qc = useQueryClient();
97
+ * readonly result = useMutation({
98
+ * mutationFn: (name: string) => usePost("api", "createUser", { name }),
99
+ * onSuccess: () => this.qc.invalidateQueries({ queryKey: ["users"] }),
100
+ * });
101
+ * readonly isLoading = this.result.isLoading;
102
+ * readonly mutate = this.result.mutate;
103
+ * }
104
+ * ```
105
+ */
106
+ export declare function useMutation<TData = unknown, TVariables = unknown>(config: UseMutationConfig<TData, TVariables>): UseMutationReturn<TData, TVariables>;
107
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/adapters/angular/query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ import { DestroyRef, inject, signal } from "@angular/core";
2
+ import { useQueryClient, } from "../../core/services/query.service.js";
3
+ /**
4
+ * Angular signal factory that wraps the {@link QueryClient}.
5
+ * Integrates with the API manager — your `queryFn` typically calls `useGetApi`
6
+ * or `useFetch` and returns the Safe Result.
7
+ *
8
+ * Must be called within an injection context (component field initializer,
9
+ * constructor, or a service) so the returned query can auto-cleanup via
10
+ * `DestroyRef`. Requires Angular 16+ signals.
11
+ *
12
+ * @param config - Query configuration.
13
+ * @param client - Optional QueryClient instance (uses global singleton by default).
14
+ * @returns Signals `{ data, error, isLoading, isSuccess, isError, isStale, status }` plus `refetch`.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { Component, inject } from "@angular/core";
19
+ * import { useQuery } from "katanakit-js/adapters/angular";
20
+ * import { useGetApi } from "katanakit-js";
21
+ *
22
+ * @Component({ selector: "app-pokemon", template: `@if (isLoading()) { Loading… } @else { {{ data()?.name }} }` })
23
+ * export class PokemonComponent {
24
+ * readonly data = useQuery({ queryKey: ["pokemon", 25], queryFn: () => useGetApi("pokeapi", "pokemonById", { params: { id: 25 } }) }).data;
25
+ * }
26
+ * ```
27
+ */
28
+ export function useQuery(config, client) {
29
+ const qc = client ?? useQueryClient();
30
+ const destroyRef = inject(DestroyRef);
31
+ const data = signal(null);
32
+ const error = signal(null);
33
+ const isLoading = signal(false);
34
+ const isSuccess = signal(false);
35
+ const isError = signal(false);
36
+ const isStale = signal(true);
37
+ const status = signal("idle");
38
+ const sync = (state) => {
39
+ data.set(state.data);
40
+ error.set(state.error);
41
+ isLoading.set(state.isLoading);
42
+ isSuccess.set(state.isSuccess);
43
+ isError.set(state.isError);
44
+ isStale.set(state.isStale);
45
+ status.set(state.status);
46
+ };
47
+ const qKey = config.queryKey;
48
+ const unsubscribe = qc.subscribe(qKey, (next) => sync(next));
49
+ const existing = qc.getQueryState(qKey);
50
+ if (existing)
51
+ sync(existing);
52
+ if (config.enabled !== false) {
53
+ void qc
54
+ .fetchQuery({
55
+ queryKey: qKey,
56
+ queryFn: config.queryFn,
57
+ staleTime: config.staleTime,
58
+ cacheTime: config.cacheTime,
59
+ retry: config.retry,
60
+ retryDelay: config.retryDelay,
61
+ })
62
+ .catch(() => {
63
+ // Error is already reflected in the cache state.
64
+ });
65
+ }
66
+ destroyRef.onDestroy(unsubscribe);
67
+ const refetch = async () => {
68
+ await qc
69
+ .fetchQuery({
70
+ queryKey: config.queryKey,
71
+ queryFn: config.queryFn,
72
+ staleTime: 0,
73
+ cacheTime: config.cacheTime,
74
+ retry: config.retry,
75
+ retryDelay: config.retryDelay,
76
+ })
77
+ .catch(() => {
78
+ // Error is already reflected in the cache state.
79
+ });
80
+ };
81
+ return { data, error, isLoading, isSuccess, isError, isStale, status, refetch };
82
+ }
83
+ /**
84
+ * Angular signal factory for mutations (POST/PUT/PATCH/DELETE).
85
+ * Does not cache — returns a `mutate` function that executes the mutation.
86
+ *
87
+ * Must be called within an injection context. Requires Angular 16+ signals.
88
+ *
89
+ * @param config - Mutation configuration.
90
+ * @returns Signals plus `{ mutate, reset }`.
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * import { Component } from "@angular/core";
95
+ * import { useMutation, useQueryClient } from "katanakit-js/adapters/angular";
96
+ * import { usePost } from "katanakit-js";
97
+ *
98
+ * @Component({ selector: "app-create", template: `<button [disabled]="isLoading()" (click)="mutate('Ada')">Create</button>` })
99
+ * export class CreateUserComponent {
100
+ * private readonly qc = useQueryClient();
101
+ * readonly result = useMutation({
102
+ * mutationFn: (name: string) => usePost("api", "createUser", { name }),
103
+ * onSuccess: () => this.qc.invalidateQueries({ queryKey: ["users"] }),
104
+ * });
105
+ * readonly isLoading = this.result.isLoading;
106
+ * readonly mutate = this.result.mutate;
107
+ * }
108
+ * ```
109
+ */
110
+ export function useMutation(config) {
111
+ const data = signal(null);
112
+ const error = signal(null);
113
+ const isLoading = signal(false);
114
+ const isSuccess = signal(false);
115
+ const isError = signal(false);
116
+ const status = signal("idle");
117
+ const mutate = async (variables) => {
118
+ isLoading.set(true);
119
+ isSuccess.set(false);
120
+ isError.set(false);
121
+ status.set("loading");
122
+ try {
123
+ const result = await config.mutationFn(variables);
124
+ if (result.ok) {
125
+ data.set(result.data);
126
+ error.set(null);
127
+ isSuccess.set(true);
128
+ status.set("success");
129
+ config.onSuccess?.(result.data, variables);
130
+ config.onSettled?.(result.data, null, variables);
131
+ }
132
+ else {
133
+ data.set(null);
134
+ error.set(result.error);
135
+ isError.set(true);
136
+ status.set("error");
137
+ config.onError?.(result.error, variables);
138
+ config.onSettled?.(null, result.error, variables);
139
+ }
140
+ }
141
+ catch (caught) {
142
+ const apiError = caught instanceof Error
143
+ ? { message: caught.message, status: 0 }
144
+ : { message: String(caught), status: 0 };
145
+ data.set(null);
146
+ error.set(apiError);
147
+ isError.set(true);
148
+ status.set("error");
149
+ config.onError?.(apiError, variables);
150
+ config.onSettled?.(null, apiError, variables);
151
+ }
152
+ finally {
153
+ isLoading.set(false);
154
+ }
155
+ };
156
+ const reset = () => {
157
+ data.set(null);
158
+ error.set(null);
159
+ isLoading.set(false);
160
+ isSuccess.set(false);
161
+ isError.set(false);
162
+ status.set("idle");
163
+ };
164
+ return { data, error, isLoading, isSuccess, isError, status, mutate, reset };
165
+ }
166
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/adapters/angular/query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /** Options for {@link useWatch}. Accepted for API parity; Angular tracks signal reads natively. */
2
+ export interface UseWatchOptions {
3
+ deep?: boolean;
4
+ }
5
+ /**
6
+ * Angular signal watcher that invokes `callback` whenever any signal read
7
+ * inside `source` changes. Tracks the previous value so the callback receives
8
+ * `(value, previous)`.
9
+ *
10
+ * Must be called within an injection context; the effect auto-disposes with
11
+ * the owning scope. Angular tracks nested signal reads automatically, so
12
+ * `deep` is effectively always on.
13
+ *
14
+ * @typeParam T - The watched value type.
15
+ * @param source - A getter that reads the signals to watch.
16
+ * @param callback - Invoked on change as `(value, previous)`.
17
+ * @param options - Accepted for API parity (ignored).
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * import { Component, signal } from "@angular/core";
22
+ * import { useWatch } from "katanakit-js/adapters/angular";
23
+ *
24
+ * @Component({ selector: "app-form", template: "" })
25
+ * export class FormComponent {
26
+ * readonly product = signal({ name: "", price: 0 });
27
+ * constructor() {
28
+ * useWatch(() => this.product(), (next, prev) => console.log(next, prev));
29
+ * }
30
+ * }
31
+ * ```
32
+ */
33
+ export declare function useWatch<T>(source: () => T, callback: (value: T, previous: T | undefined) => void, _options?: UseWatchOptions): void;
34
+ //# sourceMappingURL=watch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/adapters/angular/watch.ts"],"names":[],"mappings":"AAEA,mGAAmG;AACnG,MAAM,WAAW,eAAe;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACzB,MAAM,EAAE,MAAM,CAAC,EACf,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,KAAK,IAAI,EACrD,QAAQ,GAAE,eAAoB,GAC5B,IAAI,CAQN"}
@@ -0,0 +1,38 @@
1
+ import { effect } from "@angular/core";
2
+ /**
3
+ * Angular signal watcher that invokes `callback` whenever any signal read
4
+ * inside `source` changes. Tracks the previous value so the callback receives
5
+ * `(value, previous)`.
6
+ *
7
+ * Must be called within an injection context; the effect auto-disposes with
8
+ * the owning scope. Angular tracks nested signal reads automatically, so
9
+ * `deep` is effectively always on.
10
+ *
11
+ * @typeParam T - The watched value type.
12
+ * @param source - A getter that reads the signals to watch.
13
+ * @param callback - Invoked on change as `(value, previous)`.
14
+ * @param options - Accepted for API parity (ignored).
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { Component, signal } from "@angular/core";
19
+ * import { useWatch } from "katanakit-js/adapters/angular";
20
+ *
21
+ * @Component({ selector: "app-form", template: "" })
22
+ * export class FormComponent {
23
+ * readonly product = signal({ name: "", price: 0 });
24
+ * constructor() {
25
+ * useWatch(() => this.product(), (next, prev) => console.log(next, prev));
26
+ * }
27
+ * }
28
+ * ```
29
+ */
30
+ export function useWatch(source, callback, _options = {}) {
31
+ let previous;
32
+ effect(() => {
33
+ const value = source();
34
+ callback(value, previous);
35
+ previous = value;
36
+ });
37
+ }
38
+ //# sourceMappingURL=watch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/adapters/angular/watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAOvC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,QAAQ,CACvB,MAAe,EACf,QAAqD,EACrD,WAA4B,EAAE;IAE9B,IAAI,QAAuB,CAAC;IAE5B,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1B,QAAQ,GAAG,KAAK,CAAC;IAClB,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -27,7 +27,7 @@ export function useCreateAssistantRouter(options = {}) {
27
27
  return;
28
28
  }
29
29
  const result = await useReply(sessionId, message);
30
- response.status(result.ok ? 200 : 502).json(result);
30
+ response.status(result.ok ? 200 : (result.error?.status ?? 502)).json(result);
31
31
  });
32
32
  router.get("/sessions/:id", async (request, response) => {
33
33
  const id = String(request.params.id);
@@ -1 +1 @@
1
- {"version":3,"file":"assistant.service.js","sourceRoot":"","sources":["../../../src/adapters/assistant/assistant.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,MAAM,EAAE,MAAM,SAAS,CAAC;AACnF,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EACN,aAAa,EACb,QAAQ,EACR,eAAe,EACf,gBAAgB,GAChB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAUzE,2DAA2D;AAC3D,MAAM,oBAAoB,GAAG,SAAS,CAAC;IACtC,QAAQ,EAAE,MAAM;IAChB,GAAG,EAAE,EAAE;IACP,eAAe,EAAE,SAAS;IAC1B,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;CACxF,CAAC,CAAC;AAEH,sEAAsE;AACtE,MAAM,UAAU,wBAAwB,CAAC,UAAkC,EAAE;IAC5E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAI,CACV,OAAO,EACP,OAAO,CAAC,SAAS,IAAI,oBAAoB,EACzC,KAAK,EAAE,OAAgB,EAAE,QAAkB,EAAE,EAAE;QAC9C,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAGjD,CAAC;QAEF,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1D,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACzB,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE,MAAM,EAAE,GAAG,EAAE;aAC9D,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAClD,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC,CACD,CAAC;IAEF,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,OAAgB,EAAE,QAAkB,EAAE,EAAE;QAC1E,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACnC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAC1D,OAAO;QACR,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,EAAE,CAAC,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,OAAgB,EAAE,QAAkB,EAAE,EAAE;QAC7E,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACnC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAC1D,OAAO;QACR,CAAC;QACD,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;QAC1B,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC;AAED,6DAA6D;AAC7D,IAAI,OAAO,GAAG,KAAK,CAAC;AAEpB;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAChC,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,WAAW,EAClB,SAAS,GAAG,YAAY,EACxB,UAAkC,EAAE;IAEpC,IAAI,OAAO;QAAE,OAAO;IACpB,OAAO,GAAG,IAAI,CAAC;IAEf,gBAAgB,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"assistant.service.js","sourceRoot":"","sources":["../../../src/adapters/assistant/assistant.service.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,6 @@ export declare function useAstroPathsFrom<T, TParam extends string = "slug", TPr
33
33
  * export async function getStaticPaths() {
34
34
  * const result = await useAstroGetStaticPaths(getCollection, "blog");
35
35
  * if (result.ok) return result.data;
36
- * TODO: traer el useLogger('error', result.error)
37
36
  * console.error(result.error);
38
37
  * return [];
39
38
  * }
@@ -1 +1 @@
1
- {"version":3,"file":"astro.service.d.ts","sourceRoot":"","sources":["../../../src/adapters/astro/astro.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,CAAC,EAC9E,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,GAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAM,GAC3C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAkB7B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,sBAAsB,CAC3C,KAAK,GAAG,OAAO,EACf,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,EAEnC,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,EAC9E,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAM,GACpE,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAe1D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,GACpC,CAAC,GAAG,IAAI,CAQV;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,GAAG,MAAM,EAC3E,KAAK,EAAE,CAAC,EAAE,EACV,QAAQ,SAAK,EACb,KAAK,GAAE,MAAyB,GAC9B,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAYzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,EACrE,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAC3B,KAAK,GAAE,MAAyB,GAC9B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,CAKtC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAEhG"}
1
+ {"version":3,"file":"astro.service.d.ts","sourceRoot":"","sources":["../../../src/adapters/astro/astro.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,CAAC,EAC9E,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,GAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAM,GAC3C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAkB7B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,sBAAsB,CAC3C,KAAK,GAAG,OAAO,EACf,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,EAEnC,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,EAC9E,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAM,GACpE,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAe1D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,GACpC,CAAC,GAAG,IAAI,CAQV;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,GAAG,MAAM,EAC3E,KAAK,EAAE,CAAC,EAAE,EACV,QAAQ,SAAK,EACb,KAAK,GAAE,MAAyB,GAC9B,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAYzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,EACrE,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAC3B,KAAK,GAAE,MAAyB,GAC9B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,CAKtC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAEhG"}
@@ -41,7 +41,6 @@ export function useAstroPathsFrom(items, options = {}) {
41
41
  * export async function getStaticPaths() {
42
42
  * const result = await useAstroGetStaticPaths(getCollection, "blog");
43
43
  * if (result.ok) return result.data;
44
- * TODO: traer el useLogger('error', result.error)
45
44
  * console.error(result.error);
46
45
  * return [];
47
46
  * }
@@ -1 +1 @@
1
- {"version":3,"file":"astro.service.js","sourceRoot":"","sources":["../../../src/adapters/astro/astro.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"astro.service.js","sourceRoot":"","sources":["../../../src/adapters/astro/astro.service.ts"],"names":[],"mappings":"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"}