katanakit-js 3.2.1 → 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.
- package/README.md +435 -307
- package/dist/adapters/angular/fetch.d.ts +37 -0
- package/dist/adapters/angular/fetch.d.ts.map +1 -0
- package/dist/adapters/angular/fetch.js +67 -0
- package/dist/adapters/angular/fetch.js.map +1 -0
- package/dist/adapters/angular/index.d.ts +4 -0
- package/dist/adapters/angular/index.d.ts.map +1 -0
- package/dist/adapters/angular/index.js +4 -0
- package/dist/adapters/angular/index.js.map +1 -0
- package/dist/adapters/angular/query.d.ts +107 -0
- package/dist/adapters/angular/query.d.ts.map +1 -0
- package/dist/adapters/angular/query.js +166 -0
- package/dist/adapters/angular/query.js.map +1 -0
- package/dist/adapters/angular/watch.d.ts +34 -0
- package/dist/adapters/angular/watch.d.ts.map +1 -0
- package/dist/adapters/angular/watch.js +38 -0
- package/dist/adapters/angular/watch.js.map +1 -0
- package/dist/adapters/assistant/assistant.service.js +1 -1
- package/dist/adapters/assistant/assistant.service.js.map +1 -1
- package/dist/adapters/astro/astro.service.d.ts +0 -1
- package/dist/adapters/astro/astro.service.d.ts.map +1 -1
- package/dist/adapters/astro/astro.service.js +0 -1
- package/dist/adapters/astro/astro.service.js.map +1 -1
- package/dist/adapters/bun/dummyjson.service.d.ts +88 -0
- package/dist/adapters/bun/dummyjson.service.d.ts.map +1 -0
- package/dist/adapters/bun/dummyjson.service.js +149 -0
- package/dist/adapters/bun/dummyjson.service.js.map +1 -0
- package/dist/adapters/bun/index.d.ts +5 -0
- package/dist/adapters/bun/index.d.ts.map +1 -0
- package/dist/adapters/bun/index.js +5 -0
- package/dist/adapters/bun/index.js.map +1 -0
- package/dist/adapters/bun/main.d.ts +2 -0
- package/dist/adapters/bun/main.d.ts.map +1 -0
- package/dist/adapters/bun/main.js +6 -0
- package/dist/adapters/bun/main.js.map +1 -0
- package/dist/adapters/bun/routes.d.ts +62 -0
- package/dist/adapters/bun/routes.d.ts.map +1 -0
- package/dist/adapters/bun/routes.js +60 -0
- package/dist/adapters/bun/routes.js.map +1 -0
- package/dist/adapters/bun/seed.d.ts +65 -0
- package/dist/adapters/bun/seed.d.ts.map +1 -0
- package/dist/adapters/bun/seed.js +117 -0
- package/dist/adapters/bun/seed.js.map +1 -0
- package/dist/adapters/bun/server.d.ts +53 -0
- package/dist/adapters/bun/server.d.ts.map +1 -0
- package/dist/adapters/bun/server.js +64 -0
- package/dist/adapters/bun/server.js.map +1 -0
- package/dist/adapters/express/app.d.ts +2 -1
- package/dist/adapters/express/app.d.ts.map +1 -1
- package/dist/adapters/express/app.js +14 -2
- package/dist/adapters/express/app.js.map +1 -1
- package/dist/adapters/express/products.controller.d.ts.map +1 -1
- package/dist/adapters/express/products.controller.js +3 -1
- package/dist/adapters/express/products.controller.js.map +1 -1
- package/dist/adapters/express/server.js +2 -2
- package/dist/adapters/express/server.js.map +1 -1
- package/dist/adapters/notion/notion.service.d.ts +4 -2
- package/dist/adapters/notion/notion.service.d.ts.map +1 -1
- package/dist/adapters/notion/notion.service.js +19 -5
- package/dist/adapters/notion/notion.service.js.map +1 -1
- package/dist/adapters/react/fetch.d.ts +44 -0
- package/dist/adapters/react/fetch.d.ts.map +1 -0
- package/dist/adapters/react/fetch.js +74 -0
- package/dist/adapters/react/fetch.js.map +1 -0
- package/dist/adapters/react/index.d.ts +4 -0
- package/dist/adapters/react/index.d.ts.map +1 -0
- package/dist/adapters/react/index.js +4 -0
- package/dist/adapters/react/index.js.map +1 -0
- package/dist/adapters/react/query.d.ts +104 -0
- package/dist/adapters/react/query.d.ts.map +1 -0
- package/dist/adapters/react/query.js +200 -0
- package/dist/adapters/react/query.js.map +1 -0
- package/dist/adapters/react/watch.d.ts +37 -0
- package/dist/adapters/react/watch.d.ts.map +1 -0
- package/dist/adapters/react/watch.js +39 -0
- package/dist/adapters/react/watch.js.map +1 -0
- package/dist/adapters/solid/fetch.d.ts +43 -0
- package/dist/adapters/solid/fetch.d.ts.map +1 -0
- package/dist/adapters/solid/fetch.js +72 -0
- package/dist/adapters/solid/fetch.js.map +1 -0
- package/dist/adapters/solid/index.d.ts +4 -0
- package/dist/adapters/solid/index.d.ts.map +1 -0
- package/dist/adapters/solid/index.js +4 -0
- package/dist/adapters/solid/index.js.map +1 -0
- package/dist/adapters/solid/query.d.ts +102 -0
- package/dist/adapters/solid/query.d.ts.map +1 -0
- package/dist/adapters/solid/query.js +163 -0
- package/dist/adapters/solid/query.js.map +1 -0
- package/dist/adapters/solid/watch.d.ts +32 -0
- package/dist/adapters/solid/watch.d.ts.map +1 -0
- package/dist/adapters/solid/watch.js +36 -0
- package/dist/adapters/solid/watch.js.map +1 -0
- package/dist/adapters/svelte/fetch.d.ts +40 -0
- package/dist/adapters/svelte/fetch.d.ts.map +1 -0
- package/dist/adapters/svelte/fetch.js +75 -0
- package/dist/adapters/svelte/fetch.js.map +1 -0
- package/dist/adapters/svelte/index.d.ts +4 -0
- package/dist/adapters/svelte/index.d.ts.map +1 -0
- package/dist/adapters/svelte/index.js +4 -0
- package/dist/adapters/svelte/index.js.map +1 -0
- package/dist/adapters/svelte/query.d.ts +108 -0
- package/dist/adapters/svelte/query.d.ts.map +1 -0
- package/dist/adapters/svelte/query.js +172 -0
- package/dist/adapters/svelte/query.js.map +1 -0
- package/dist/adapters/svelte/watch.d.ts +32 -0
- package/dist/adapters/svelte/watch.d.ts.map +1 -0
- package/dist/adapters/svelte/watch.js +41 -0
- package/dist/adapters/svelte/watch.js.map +1 -0
- package/dist/adapters/telegram/telegram.service.js +1 -1
- package/dist/adapters/telegram/telegram.service.js.map +1 -1
- package/dist/adapters/vue/query.d.ts +1 -2
- package/dist/adapters/vue/query.d.ts.map +1 -1
- package/dist/adapters/vue/query.js +9 -9
- package/dist/adapters/vue/query.js.map +1 -1
- package/dist/adapters/vue/vue.service.d.ts +9 -5
- package/dist/adapters/vue/vue.service.d.ts.map +1 -1
- package/dist/adapters/vue/vue.service.js +7 -3
- package/dist/adapters/vue/vue.service.js.map +1 -1
- package/dist/adapters/whatsapp/whatsapp.service.js +1 -1
- package/dist/adapters/whatsapp/whatsapp.service.js.map +1 -1
- package/dist/adapters/wordpress/wordpress.service.d.ts +2 -1
- package/dist/adapters/wordpress/wordpress.service.d.ts.map +1 -1
- package/dist/adapters/wordpress/wordpress.service.js +10 -5
- package/dist/adapters/wordpress/wordpress.service.js.map +1 -1
- package/dist/core/services/agent.service.d.ts.map +1 -1
- package/dist/core/services/agent.service.js +9 -1
- package/dist/core/services/agent.service.js.map +1 -1
- package/dist/core/services/dates.service.d.ts.map +1 -1
- package/dist/core/services/dates.service.js +2 -1
- package/dist/core/services/dates.service.js.map +1 -1
- package/dist/core/services/error.service.d.ts +1 -1
- package/dist/core/services/error.service.js +1 -1
- package/dist/core/services/http.service.d.ts +26 -5
- package/dist/core/services/http.service.d.ts.map +1 -1
- package/dist/core/services/http.service.js +30 -6
- package/dist/core/services/http.service.js.map +1 -1
- package/dist/core/services/logger.service.d.ts +10 -67
- package/dist/core/services/logger.service.d.ts.map +1 -1
- package/dist/core/services/logger.service.js +13 -139
- package/dist/core/services/logger.service.js.map +1 -1
- package/dist/core/services/query.service.d.ts +4 -0
- package/dist/core/services/query.service.d.ts.map +1 -1
- package/dist/core/services/query.service.js +75 -63
- package/dist/core/services/query.service.js.map +1 -1
- package/dist/core/services/reactive.service.d.ts.map +1 -1
- package/dist/core/services/reactive.service.js +7 -10
- package/dist/core/services/reactive.service.js.map +1 -1
- package/dist/core/services/timing.service.js +8 -8
- package/dist/core/services/timing.service.js.map +1 -1
- package/dist/core/services/utils.service.d.ts.map +1 -1
- package/dist/core/services/utils.service.js +3 -0
- package/dist/core/services/utils.service.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/dom/dom.service.d.ts.map +1 -1
- package/dist/infrastructure/dom/dom.service.js +18 -4
- package/dist/infrastructure/dom/dom.service.js.map +1 -1
- package/dist/infrastructure/observer/observer.service.js +2 -2
- package/dist/infrastructure/observer/observer.service.js.map +1 -1
- package/dist/infrastructure/sensors/sensors.service.js +6 -6
- package/dist/infrastructure/sensors/sensors.service.js.map +1 -1
- package/dist/infrastructure/storage/storage.service.d.ts.map +1 -1
- package/dist/infrastructure/storage/storage.service.js +12 -2
- package/dist/infrastructure/storage/storage.service.js.map +1 -1
- package/dist/prisma/assistant.store.d.ts +3 -0
- package/dist/prisma/assistant.store.d.ts.map +1 -1
- package/dist/prisma/assistant.store.js +12 -6
- package/dist/prisma/assistant.store.js.map +1 -1
- package/dist/prisma/use-prisma.d.ts +5 -4
- package/dist/prisma/use-prisma.d.ts.map +1 -1
- package/dist/prisma/use-prisma.js +5 -4
- package/dist/prisma/use-prisma.js.map +1 -1
- package/dist/types/index.d.ts +2 -6
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +244 -185
- package/dist/prisma/db.d.ts +0 -4
- package/dist/prisma/db.d.ts.map +0 -1
- package/dist/prisma/db.js +0 -12
- package/dist/prisma/db.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/adapters/bun/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,aAAa,CAAC;AAK5E,gDAAgD;AAChD,MAAM,WAAW,gBAAgB;IAChC,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,sDAAsD;IACtD,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACtF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAWlF;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAE5F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAE9D;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,sBAAsB,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAK9E"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/// <reference types="bun-types" />
|
|
2
|
+
import { useBuildDummyJsonRoutes } from "./routes.js";
|
|
3
|
+
/** Module-level Bun server singleton. */
|
|
4
|
+
let server = null;
|
|
5
|
+
/**
|
|
6
|
+
* Creates (or returns the existing) Bun HTTP server with the dummyjson route
|
|
7
|
+
* table. Idempotent — subsequent calls return the same server.
|
|
8
|
+
*
|
|
9
|
+
* Requires the Bun runtime (Bun v1.2.3+ for the `routes` API).
|
|
10
|
+
*
|
|
11
|
+
* @param options - Optional port, hostname, routes and fetch handler.
|
|
12
|
+
* @returns The running {@link Bun.Server}.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* import { useInitDummyJson, useBunCreate } from "katanakit-js/adapters/bun";
|
|
17
|
+
*
|
|
18
|
+
* useInitDummyJson();
|
|
19
|
+
* const server = useBunCreate({ port: 3000 });
|
|
20
|
+
* console.log(`Server running at ${server.url}`);
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export function useBunCreate(options = {}) {
|
|
24
|
+
if (server)
|
|
25
|
+
return server;
|
|
26
|
+
server = Bun.serve({
|
|
27
|
+
port: options.port ?? 3000,
|
|
28
|
+
hostname: options.hostname ?? "localhost",
|
|
29
|
+
routes: options.routes ?? useBuildDummyJsonRoutes(),
|
|
30
|
+
...(options.fetch ? { fetch: options.fetch } : {}),
|
|
31
|
+
});
|
|
32
|
+
return server;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Starts the Bun server on the given port/hostname (Singleton).
|
|
36
|
+
*
|
|
37
|
+
* @param port - Port to listen on (default `3000`).
|
|
38
|
+
* @param hostname - Hostname to bind to (default `"localhost"`).
|
|
39
|
+
* @returns The running {@link Bun.Server}.
|
|
40
|
+
*/
|
|
41
|
+
export function useBunStart(port, hostname) {
|
|
42
|
+
return useBunCreate({ port, hostname });
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Returns the current Bun server singleton, or `null` before {@link useBunCreate}.
|
|
46
|
+
*
|
|
47
|
+
* @returns The {@link Bun.Server} or `null`.
|
|
48
|
+
*/
|
|
49
|
+
export function useBunGetServer() {
|
|
50
|
+
return server;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Stops the Bun server and clears the singleton.
|
|
54
|
+
*
|
|
55
|
+
* @param closeActiveConnections - Immediately terminate in-flight requests.
|
|
56
|
+
* @returns A promise that resolves once all connections are closed.
|
|
57
|
+
*/
|
|
58
|
+
export async function useBunStop(closeActiveConnections = false) {
|
|
59
|
+
if (server) {
|
|
60
|
+
await server.stop(closeActiveConnections);
|
|
61
|
+
server = null;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/adapters/bun/server.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAEnC,OAAO,EAAwB,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE5E,yCAAyC;AACzC,IAAI,MAAM,GAAiC,IAAI,CAAC;AAchD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,YAAY,CAAC,UAA4B,EAAE;IAC1D,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,GAAG,GAAG,CAAC,KAAK,CAAY;QAC7B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,WAAW;QACzC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,uBAAuB,EAAE;QACnD,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,IAAsB,EAAE,QAAiB;IACpE,OAAO,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe;IAC9B,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,sBAAsB,GAAG,KAAK;IAC9D,IAAI,MAAM,EAAE,CAAC;QACZ,MAAM,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC1C,MAAM,GAAG,IAAI,CAAC;IACf,CAAC;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/adapters/express/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/adapters/express/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAW3C;;;;;;;;;GASG;AACH,eAAO,MAAM,GAAG,EAAE,WAMhB,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,mBAAmB,CAAC;AAE1C;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,wCAAkB,CAAC"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { useExpressCreate, useExpressGetApp, useExpressStart } from "./server.js";
|
|
2
|
+
/** Lazily-resolved Express app instance (created on first access). */
|
|
3
|
+
let appInstance = null;
|
|
4
|
+
function getApp() {
|
|
5
|
+
return (appInstance ??= useExpressCreate());
|
|
6
|
+
}
|
|
2
7
|
/**
|
|
3
|
-
* Re-exported Express application instance
|
|
8
|
+
* Re-exported Express application instance (lazy — built on first access so
|
|
9
|
+
* importing this module has no side effects).
|
|
4
10
|
*
|
|
5
11
|
* @example
|
|
6
12
|
* ```ts
|
|
@@ -8,7 +14,13 @@ import { useExpressCreate, useExpressGetApp, useExpressStart } from "./server.js
|
|
|
8
14
|
* app.get("/custom", (req, res) => res.json({ ok: true }));
|
|
9
15
|
* ```
|
|
10
16
|
*/
|
|
11
|
-
export const app =
|
|
17
|
+
export const app = new Proxy({}, {
|
|
18
|
+
get(_target, prop) {
|
|
19
|
+
const real = getApp();
|
|
20
|
+
const value = Reflect.get(real, prop, real);
|
|
21
|
+
return typeof value === "function" ? value.bind(real) : value;
|
|
22
|
+
},
|
|
23
|
+
});
|
|
12
24
|
/**
|
|
13
25
|
* Get the Express application instance.
|
|
14
26
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/adapters/express/app.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAElF
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/adapters/express/app.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAElF,sEAAsE;AACtE,IAAI,WAAW,GAAuB,IAAI,CAAC;AAE3C,SAAS,MAAM;IACd,OAAO,CAAC,WAAW,KAAK,gBAAgB,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,GAAG,GAAgB,IAAI,KAAK,CAAC,EAAiB,EAAE;IAC5D,GAAG,CAAC,OAAO,EAAE,IAAqB;QACjC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5C,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/D,CAAC;CACD,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,gBAAgB,CAAC;AAE1C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"products.controller.d.ts","sourceRoot":"","sources":["../../../src/adapters/express/products.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"products.controller.d.ts","sourceRoot":"","sources":["../../../src/adapters/express/products.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAUjD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,GAAI,UAAU,OAAO,EAAE,UAAU,QAAQ,KAAG,IAEhF,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,GAAI,SAAS,OAAO,EAAE,UAAU,QAAQ,KAAG,IAU/E,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,OAAO,EAAE,UAAU,QAAQ,KAAG,IAc9E,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,OAAO,EAAE,UAAU,QAAQ,KAAG,IAiB9E,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,OAAO,EAAE,UAAU,QAAQ,KAAG,IAW9E,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/** Module-level products storage. */
|
|
2
2
|
const products = [];
|
|
3
|
+
/** Monotonically increasing id counter (avoids reuse after deletions). */
|
|
4
|
+
let nextId = 1;
|
|
3
5
|
/**
|
|
4
6
|
* Get all products.
|
|
5
7
|
*
|
|
@@ -52,7 +54,7 @@ export const useExpressGetProductById = (request, response) => {
|
|
|
52
54
|
export const useExpressCreateProduct = (request, response) => {
|
|
53
55
|
const { name = "", price = 0 } = (request.body ?? {});
|
|
54
56
|
const product = {
|
|
55
|
-
id:
|
|
57
|
+
id: nextId++,
|
|
56
58
|
name,
|
|
57
59
|
price: Number(price),
|
|
58
60
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"products.controller.js","sourceRoot":"","sources":["../../../src/adapters/express/products.controller.ts"],"names":[],"mappings":"AAIA,qCAAqC;AACrC,MAAM,QAAQ,GAAkB,EAAE,CAAC;AAEnC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,QAAiB,EAAE,QAAkB,EAAQ,EAAE;IACvF,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAAgB,EAAE,QAAkB,EAAQ,EAAE;IACtF,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAExD,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC1D,OAAO;IACR,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAgB,EAAE,QAAkB,EAAQ,EAAE;IACrF,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAGnD,CAAC;IAEF,MAAM,OAAO,GAAgB;QAC5B,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"products.controller.js","sourceRoot":"","sources":["../../../src/adapters/express/products.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,7 +79,7 @@ function useExpressSetupRoutes(expressApp) {
|
|
|
79
79
|
*/
|
|
80
80
|
function useExpressSetupErrorHandling(expressApp) {
|
|
81
81
|
expressApp.use((err, _req, res, _next) => {
|
|
82
|
-
useLogger("
|
|
82
|
+
useLogger("Unhandled error:", err, "error");
|
|
83
83
|
res.status(500).json({ error: "Internal Server Error" });
|
|
84
84
|
});
|
|
85
85
|
expressApp.use((_req, res) => {
|
|
@@ -145,7 +145,7 @@ export const useExpressStart = (port = 3000, host = "localhost") => {
|
|
|
145
145
|
useExpressFinalize();
|
|
146
146
|
const expressApp = useExpressCreate();
|
|
147
147
|
expressApp.listen(port, host, () => {
|
|
148
|
-
useLogger(
|
|
148
|
+
useLogger(`Server running on http://${host}:${port}`);
|
|
149
149
|
});
|
|
150
150
|
};
|
|
151
151
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/adapters/express/server.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,OAA6E,MAAM,SAAS,CAAC;AAEpG,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,iDAAiD;AACjD,IAAI,GAAG,GAAuB,IAAI,CAAC;AACnC,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,IAAI,SAAS,GAAG,KAAK,CAAC;AAKtB;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC7C,OAAQ,OAAyC,CAAC,OAAO,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,0BAA0B,CAAC,UAAuB;IAC1D,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SACjF,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SAC9B,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,UAAU,CAAC,GAAG,CACb,IAAI,CAAC;QACJ,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC;KACzC,CAAC,CACF,CAAC;IACF,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACnC,UAAU,CAAC,GAAG,CACb,OAAO,CAAC,IAAI,CAAC;QACZ,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YACzB,GAA0B,CAAC,OAAO,GAAG,GAAG,CAAC;QAC3C,CAAC;KACD,CAAC,CACF,CAAC;IACF,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,qBAAqB,CAAC,UAAuB;IACrD,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,QAAiB,EAAE,QAAkB,EAAE,EAAE;QACnE,OAAO,QAAQ,CAAC,IAAI,CAAC;YACpB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,4BAA4B,CAAC,UAAuB;IAC5D,UAAU,CAAC,GAAG,CAAC,CAAC,GAAU,EAAE,IAAa,EAAE,GAAa,EAAE,KAAmB,EAAE,EAAE;QAChF,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/adapters/express/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -355,6 +355,7 @@ export declare function useNotionSearchContent(query: NotionSearchQuery): Promis
|
|
|
355
355
|
* pagination cursors. Loops through all pages until `has_more` is false.
|
|
356
356
|
*
|
|
357
357
|
* @param blockId - The parent block ID (usually a page ID).
|
|
358
|
+
* @param maxItems - Cap on the total number of blocks to fetch (default `1000`).
|
|
358
359
|
* @returns All child blocks as a flat array.
|
|
359
360
|
*
|
|
360
361
|
* @example
|
|
@@ -366,7 +367,7 @@ export declare function useNotionSearchContent(query: NotionSearchQuery): Promis
|
|
|
366
367
|
* }
|
|
367
368
|
* ```
|
|
368
369
|
*/
|
|
369
|
-
export declare function useNotionListAllBlockChildren(blockId: string): Promise<FetchResult<NotionBlock[]>>;
|
|
370
|
+
export declare function useNotionListAllBlockChildren(blockId: string, maxItems?: number): Promise<FetchResult<NotionBlock[]>>;
|
|
370
371
|
/**
|
|
371
372
|
* Fetches ALL pages in a database, automatically handling cursor pagination.
|
|
372
373
|
*
|
|
@@ -377,6 +378,7 @@ export declare function useNotionListAllBlockChildren(blockId: string): Promise<
|
|
|
377
378
|
* @param databaseId - The database UUID.
|
|
378
379
|
* @param filter - Optional filter to apply (same syntax as Notion API).
|
|
379
380
|
* @param sorts - Optional sort options.
|
|
381
|
+
* @param maxItems - Cap on the total number of pages to fetch (default `1000`).
|
|
380
382
|
* @returns All pages matching the filter as a flat array.
|
|
381
383
|
*
|
|
382
384
|
* @example
|
|
@@ -393,5 +395,5 @@ export declare function useNotionListAllBlockChildren(blockId: string): Promise<
|
|
|
393
395
|
* );
|
|
394
396
|
* ```
|
|
395
397
|
*/
|
|
396
|
-
export declare function useNotionListAllDatabasePages(databaseId: string, filter?: NotionFilter, sorts?: NotionSort[]): Promise<FetchResult<NotionPage[]>>;
|
|
398
|
+
export declare function useNotionListAllDatabasePages(databaseId: string, filter?: NotionFilter, sorts?: NotionSort[], maxItems?: number): Promise<FetchResult<NotionPage[]>>;
|
|
397
399
|
//# sourceMappingURL=notion.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notion.service.d.ts","sourceRoot":"","sources":["../../../src/adapters/notion/notion.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,cAAc,EACd,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"notion.service.d.ts","sourceRoot":"","sources":["../../../src/adapters/notion/notion.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,15 @@ function getConfig() {
|
|
|
20
20
|
* @internal
|
|
21
21
|
*/
|
|
22
22
|
async function notionFetch(endpoint, options = {}) {
|
|
23
|
-
|
|
23
|
+
let cfg;
|
|
24
|
+
try {
|
|
25
|
+
cfg = getConfig();
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
29
|
+
return { data: null, error: { message, status: 0 }, url: "", status: 0, ok: false };
|
|
30
|
+
}
|
|
31
|
+
const { token, apiVersion, apiBaseUrl } = cfg;
|
|
24
32
|
const base = apiBaseUrl ?? NOTION_API_BASE;
|
|
25
33
|
const version = apiVersion ?? NOTION_API_VERSION;
|
|
26
34
|
const url = `${base}${endpoint}`;
|
|
@@ -520,6 +528,7 @@ export async function useNotionSearchContent(query) {
|
|
|
520
528
|
* pagination cursors. Loops through all pages until `has_more` is false.
|
|
521
529
|
*
|
|
522
530
|
* @param blockId - The parent block ID (usually a page ID).
|
|
531
|
+
* @param maxItems - Cap on the total number of blocks to fetch (default `1000`).
|
|
523
532
|
* @returns All child blocks as a flat array.
|
|
524
533
|
*
|
|
525
534
|
* @example
|
|
@@ -531,7 +540,7 @@ export async function useNotionSearchContent(query) {
|
|
|
531
540
|
* }
|
|
532
541
|
* ```
|
|
533
542
|
*/
|
|
534
|
-
export async function useNotionListAllBlockChildren(blockId) {
|
|
543
|
+
export async function useNotionListAllBlockChildren(blockId, maxItems = 1000) {
|
|
535
544
|
const allBlocks = [];
|
|
536
545
|
let cursor;
|
|
537
546
|
do {
|
|
@@ -542,10 +551,12 @@ export async function useNotionListAllBlockChildren(blockId) {
|
|
|
542
551
|
if (!result.ok)
|
|
543
552
|
return result;
|
|
544
553
|
allBlocks.push(...result.data.results);
|
|
554
|
+
if (maxItems && allBlocks.length >= maxItems)
|
|
555
|
+
break;
|
|
545
556
|
cursor = result.data.has_more ? (result.data.next_cursor ?? undefined) : undefined;
|
|
546
557
|
} while (cursor);
|
|
547
558
|
return {
|
|
548
|
-
data: allBlocks,
|
|
559
|
+
data: allBlocks.slice(0, maxItems),
|
|
549
560
|
error: null,
|
|
550
561
|
url: "",
|
|
551
562
|
status: 200,
|
|
@@ -562,6 +573,7 @@ export async function useNotionListAllBlockChildren(blockId) {
|
|
|
562
573
|
* @param databaseId - The database UUID.
|
|
563
574
|
* @param filter - Optional filter to apply (same syntax as Notion API).
|
|
564
575
|
* @param sorts - Optional sort options.
|
|
576
|
+
* @param maxItems - Cap on the total number of pages to fetch (default `1000`).
|
|
565
577
|
* @returns All pages matching the filter as a flat array.
|
|
566
578
|
*
|
|
567
579
|
* @example
|
|
@@ -578,7 +590,7 @@ export async function useNotionListAllBlockChildren(blockId) {
|
|
|
578
590
|
* );
|
|
579
591
|
* ```
|
|
580
592
|
*/
|
|
581
|
-
export async function useNotionListAllDatabasePages(databaseId, filter, sorts) {
|
|
593
|
+
export async function useNotionListAllDatabasePages(databaseId, filter, sorts, maxItems = 1000) {
|
|
582
594
|
const allPages = [];
|
|
583
595
|
let cursor;
|
|
584
596
|
do {
|
|
@@ -591,10 +603,12 @@ export async function useNotionListAllDatabasePages(databaseId, filter, sorts) {
|
|
|
591
603
|
if (!result.ok)
|
|
592
604
|
return result;
|
|
593
605
|
allPages.push(...result.data.results);
|
|
606
|
+
if (maxItems && allPages.length >= maxItems)
|
|
607
|
+
break;
|
|
594
608
|
cursor = result.data.has_more ? (result.data.next_cursor ?? undefined) : undefined;
|
|
595
609
|
} while (cursor);
|
|
596
610
|
return {
|
|
597
|
-
data: allPages,
|
|
611
|
+
data: allPages.slice(0, maxItems),
|
|
598
612
|
error: null,
|
|
599
613
|
url: "",
|
|
600
614
|
status: 200,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notion.service.js","sourceRoot":"","sources":["../../../src/adapters/notion/notion.service.ts"],"names":[],"mappings":"AAoBA,mCAAmC;AACnC,MAAM,eAAe,GAAG,2BAA2B,CAAC;AAEpD,kCAAkC;AAClC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAExC,yCAAyC;AACzC,IAAI,MAAM,GAAwB,IAAI,CAAC;AAEvC;;;GAGG;AACH,SAAS,SAAS;IACjB,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,WAAW,CACzB,QAAgB,EAChB,UAAuB,EAAE;IAEzB,MAAM,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"notion.service.js","sourceRoot":"","sources":["../../../src/adapters/notion/notion.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { ApiError, UrlOptions } from "../../types/index.js";
|
|
2
|
+
/** Reactive state exposed by the {@link useRequest} hook. */
|
|
3
|
+
export interface RequestState<T = unknown> {
|
|
4
|
+
/** The resolved data on success, `null` otherwise. */
|
|
5
|
+
data: T | null;
|
|
6
|
+
/** The Safe Result error on failure, `null` otherwise. */
|
|
7
|
+
error: ApiError | null;
|
|
8
|
+
/** Whether a request is in flight. */
|
|
9
|
+
loading: boolean;
|
|
10
|
+
/** Re-runs the request manually. */
|
|
11
|
+
refetch: () => Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* React hook that wraps KatanaKit's HTTP GET with `useState` reactivity.
|
|
15
|
+
* Bridges the Safe Result pattern to idiomatic React state and never throws
|
|
16
|
+
* on HTTP errors.
|
|
17
|
+
*
|
|
18
|
+
* Stale responses are ignored via a request version counter and AbortController;
|
|
19
|
+
* in-flight requests are aborted on unmount. Re-fetches automatically when the
|
|
20
|
+
* serialized `options` change.
|
|
21
|
+
*
|
|
22
|
+
* @param apiName - Name of the registered API (see `useInitApis`).
|
|
23
|
+
* @param endpointName - Name of the endpoint inside that API.
|
|
24
|
+
* @param options - Optional `UrlOptions` (path/query params).
|
|
25
|
+
* @returns `{ data, error, loading, refetch }`.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```tsx
|
|
29
|
+
* import { useRequest } from "katanakit-js/adapters/react";
|
|
30
|
+
*
|
|
31
|
+
* function Pokemon({ id }: { id: number }) {
|
|
32
|
+
* const { data, error, loading } = useRequest<{ name: string }>(
|
|
33
|
+
* "pokeapi",
|
|
34
|
+
* "pokemonById",
|
|
35
|
+
* { params: { id } },
|
|
36
|
+
* );
|
|
37
|
+
* if (loading) return <div>Loading…</div>;
|
|
38
|
+
* if (error) return <div>{error.message}</div>;
|
|
39
|
+
* return <div>{data?.name}</div>;
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function useRequest<T>(apiName: string, endpointName: string, options?: UrlOptions): RequestState<T>;
|
|
44
|
+
//# sourceMappingURL=fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/adapters/react/fetch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEjE,6DAA6D;AAC7D,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACxC,sDAAsD;IACtD,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,0DAA0D;IAC1D,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC3B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,UAAU,GAClB,YAAY,CAAC,CAAC,CAAC,CA+CjB"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
2
|
+
import { useFetch } from "../../core/services/http.service.js";
|
|
3
|
+
/**
|
|
4
|
+
* React hook that wraps KatanaKit's HTTP GET with `useState` reactivity.
|
|
5
|
+
* Bridges the Safe Result pattern to idiomatic React state and never throws
|
|
6
|
+
* on HTTP errors.
|
|
7
|
+
*
|
|
8
|
+
* Stale responses are ignored via a request version counter and AbortController;
|
|
9
|
+
* in-flight requests are aborted on unmount. Re-fetches automatically when the
|
|
10
|
+
* serialized `options` change.
|
|
11
|
+
*
|
|
12
|
+
* @param apiName - Name of the registered API (see `useInitApis`).
|
|
13
|
+
* @param endpointName - Name of the endpoint inside that API.
|
|
14
|
+
* @param options - Optional `UrlOptions` (path/query params).
|
|
15
|
+
* @returns `{ data, error, loading, refetch }`.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* import { useRequest } from "katanakit-js/adapters/react";
|
|
20
|
+
*
|
|
21
|
+
* function Pokemon({ id }: { id: number }) {
|
|
22
|
+
* const { data, error, loading } = useRequest<{ name: string }>(
|
|
23
|
+
* "pokeapi",
|
|
24
|
+
* "pokemonById",
|
|
25
|
+
* { params: { id } },
|
|
26
|
+
* );
|
|
27
|
+
* if (loading) return <div>Loading…</div>;
|
|
28
|
+
* if (error) return <div>{error.message}</div>;
|
|
29
|
+
* return <div>{data?.name}</div>;
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export function useRequest(apiName, endpointName, options) {
|
|
34
|
+
const [data, setData] = useState(null);
|
|
35
|
+
const [error, setError] = useState(null);
|
|
36
|
+
const [loading, setLoading] = useState(true);
|
|
37
|
+
const versionRef = useRef(0);
|
|
38
|
+
const controllerRef = useRef(null);
|
|
39
|
+
const mountedRef = useRef(true);
|
|
40
|
+
const optionsKey = JSON.stringify(options ?? null);
|
|
41
|
+
const refetch = useCallback(async () => {
|
|
42
|
+
const version = ++versionRef.current;
|
|
43
|
+
controllerRef.current?.abort();
|
|
44
|
+
const controller = new AbortController();
|
|
45
|
+
controllerRef.current = controller;
|
|
46
|
+
setLoading(true);
|
|
47
|
+
setError(null);
|
|
48
|
+
const result = await useFetch(apiName, endpointName, {
|
|
49
|
+
method: "GET",
|
|
50
|
+
urlOptions: options,
|
|
51
|
+
signal: controller.signal,
|
|
52
|
+
});
|
|
53
|
+
if (!mountedRef.current || version !== versionRef.current)
|
|
54
|
+
return;
|
|
55
|
+
if (result.ok) {
|
|
56
|
+
setData(result.data);
|
|
57
|
+
setError(null);
|
|
58
|
+
}
|
|
59
|
+
else if (!controller.signal.aborted) {
|
|
60
|
+
setError(result.error);
|
|
61
|
+
}
|
|
62
|
+
setLoading(false);
|
|
63
|
+
}, [apiName, endpointName, optionsKey]);
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
mountedRef.current = true;
|
|
66
|
+
void refetch();
|
|
67
|
+
return () => {
|
|
68
|
+
mountedRef.current = false;
|
|
69
|
+
controllerRef.current?.abort();
|
|
70
|
+
};
|
|
71
|
+
}, [refetch]);
|
|
72
|
+
return { data, error, loading, refetch };
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/adapters/react/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAe/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,UAAU,CACzB,OAAe,EACf,YAAoB,EACpB,OAAoB;IAEpB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAW,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAkB,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,aAAa,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEhC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;IAEnD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAmB,EAAE;QACrD,MAAM,OAAO,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC;QACrC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;QAEnC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAI,OAAO,EAAE,YAAY,EAAE;YACvD,MAAM,EAAE,KAAK;YACb,UAAU,EAAE,OAAO;YACnB,MAAM,EAAE,UAAU,CAAC,MAAM;SACzB,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,OAAO,KAAK,UAAU,CAAC,OAAO;YAAE,OAAO;QAElE,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;aAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,UAAU,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;IAExC,SAAS,CAAC,GAAG,EAAE;QACd,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,KAAK,OAAO,EAAE,CAAC;QACf,OAAO,GAAG,EAAE;YACX,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;YAC3B,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAChC,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { type QueryClient, type QueryKey, type QueryState } from "../../core/services/query.service.js";
|
|
2
|
+
import type { ApiError, FetchResult } from "../../types/index.js";
|
|
3
|
+
/** Configuration for `useQuery` (React hook). */
|
|
4
|
+
export interface UseQueryConfig<T = unknown> {
|
|
5
|
+
/** Cache key — the query refetches when its serialized value changes. */
|
|
6
|
+
queryKey: QueryKey;
|
|
7
|
+
/** Fetcher function returning a Safe Result. */
|
|
8
|
+
queryFn: () => Promise<FetchResult<T>>;
|
|
9
|
+
/** Time in ms before cached data is stale (default: 0). */
|
|
10
|
+
staleTime?: number;
|
|
11
|
+
/** Time in ms to keep unused data (default: 5 min). */
|
|
12
|
+
cacheTime?: number;
|
|
13
|
+
/** Retry count on failure (default: 3). */
|
|
14
|
+
retry?: number;
|
|
15
|
+
/** Base delay for exponential backoff (default: 1000). */
|
|
16
|
+
retryDelay?: number;
|
|
17
|
+
/** Whether the query is enabled (default: true). */
|
|
18
|
+
enabled?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/** Reactive return value of `useQuery`. */
|
|
21
|
+
export interface UseQueryReturn<T = unknown> {
|
|
22
|
+
data: T | null;
|
|
23
|
+
error: ApiError | null;
|
|
24
|
+
isLoading: boolean;
|
|
25
|
+
isSuccess: boolean;
|
|
26
|
+
isError: boolean;
|
|
27
|
+
isStale: boolean;
|
|
28
|
+
status: QueryState<T>["status"];
|
|
29
|
+
/** Manually refetch the query. */
|
|
30
|
+
refetch: () => Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
/** Configuration for `useMutation`. */
|
|
33
|
+
export interface UseMutationConfig<TData = unknown, TVariables = unknown> {
|
|
34
|
+
mutationFn: (variables: TVariables) => Promise<FetchResult<TData>>;
|
|
35
|
+
onSuccess?: (data: TData, variables: TVariables) => void;
|
|
36
|
+
onError?: (error: ApiError, variables: TVariables) => void;
|
|
37
|
+
onSettled?: (data: TData | null, error: ApiError | null, variables: TVariables) => void;
|
|
38
|
+
}
|
|
39
|
+
/** Reactive return value of `useMutation`. */
|
|
40
|
+
export interface UseMutationReturn<TData = unknown, TVariables = unknown> {
|
|
41
|
+
data: TData | null;
|
|
42
|
+
error: ApiError | null;
|
|
43
|
+
isLoading: boolean;
|
|
44
|
+
isSuccess: boolean;
|
|
45
|
+
isError: boolean;
|
|
46
|
+
status: "idle" | "loading" | "success" | "error";
|
|
47
|
+
/** Execute the mutation. */
|
|
48
|
+
mutate: (variables: TVariables) => Promise<void>;
|
|
49
|
+
/** Reset the mutation state. */
|
|
50
|
+
reset: () => void;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* React hook that wraps the {@link QueryClient} with `useState` reactivity.
|
|
54
|
+
* Integrates with the API manager — your `queryFn` typically calls `useGetApi`
|
|
55
|
+
* or `useFetch` and returns the Safe Result.
|
|
56
|
+
*
|
|
57
|
+
* Subscribes to the global query cache, refetches when the serialized
|
|
58
|
+
* `queryKey` changes, and unsubscribes on unmount.
|
|
59
|
+
*
|
|
60
|
+
* @param config - Query configuration.
|
|
61
|
+
* @param client - Optional QueryClient instance (uses global singleton by default).
|
|
62
|
+
* @returns `{ data, error, isLoading, isSuccess, isError, isStale, status, refetch }`.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```tsx
|
|
66
|
+
* import { useQuery } from "katanakit-js/adapters/react";
|
|
67
|
+
* import { useGetApi } from "katanakit-js";
|
|
68
|
+
*
|
|
69
|
+
* function Pokemon({ id }: { id: number }) {
|
|
70
|
+
* const { data, isLoading, error } = useQuery({
|
|
71
|
+
* queryKey: ["pokemon", id],
|
|
72
|
+
* queryFn: () => useGetApi("pokeapi", "pokemonById", { params: { id } }),
|
|
73
|
+
* });
|
|
74
|
+
* if (isLoading) return <div>Loading…</div>;
|
|
75
|
+
* if (error) return <div>{error.message}</div>;
|
|
76
|
+
* return <div>{data?.name}</div>;
|
|
77
|
+
* }
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export declare function useQuery<T>(config: UseQueryConfig<T>, client?: QueryClient): UseQueryReturn<T>;
|
|
81
|
+
/**
|
|
82
|
+
* React hook for mutations (POST/PUT/PATCH/DELETE).
|
|
83
|
+
* Does not cache — returns a `mutate` function that executes the mutation.
|
|
84
|
+
*
|
|
85
|
+
* @param config - Mutation configuration.
|
|
86
|
+
* @returns `{ data, error, isLoading, isSuccess, isError, status, mutate, reset }`.
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```tsx
|
|
90
|
+
* import { useMutation, useQueryClient } from "katanakit-js/adapters/react";
|
|
91
|
+
* import { usePost } from "katanakit-js";
|
|
92
|
+
*
|
|
93
|
+
* function CreateUser() {
|
|
94
|
+
* const qc = useQueryClient();
|
|
95
|
+
* const { mutate, isLoading } = useMutation({
|
|
96
|
+
* mutationFn: (name: string) => usePost("api", "createUser", { name }),
|
|
97
|
+
* onSuccess: () => qc.invalidateQueries({ queryKey: ["users"] }),
|
|
98
|
+
* });
|
|
99
|
+
* return <button disabled={isLoading} onClick={() => mutate("Ada")}>Create</button>;
|
|
100
|
+
* }
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
export declare function useMutation<TData = unknown, TVariables = unknown>(config: UseMutationConfig<TData, TVariables>): UseMutationReturn<TData, TVariables>;
|
|
104
|
+
//# sourceMappingURL=query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/adapters/react/query.ts"],"names":[],"mappings":"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"}
|