katanakit-js 3.2.2 → 4.0.3
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 +453 -326
- 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 +5 -0
- package/dist/adapters/angular/index.d.ts.map +1 -0
- package/dist/adapters/angular/index.js +5 -0
- package/dist/adapters/angular/index.js.map +1 -0
- package/dist/adapters/angular/query.d.ts +90 -0
- package/dist/adapters/angular/query.d.ts.map +1 -0
- package/dist/adapters/angular/query.js +103 -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 +5 -0
- package/dist/adapters/react/index.d.ts.map +1 -0
- package/dist/adapters/react/index.js +5 -0
- package/dist/adapters/react/index.js.map +1 -0
- package/dist/adapters/react/query.d.ts +59 -0
- package/dist/adapters/react/query.d.ts.map +1 -0
- package/dist/adapters/react/query.js +86 -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 +5 -0
- package/dist/adapters/solid/index.d.ts.map +1 -0
- package/dist/adapters/solid/index.js +5 -0
- package/dist/adapters/solid/index.js.map +1 -0
- package/dist/adapters/solid/query.d.ts +60 -0
- package/dist/adapters/solid/query.d.ts.map +1 -0
- package/dist/adapters/solid/query.js +88 -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 +5 -0
- package/dist/adapters/svelte/index.d.ts.map +1 -0
- package/dist/adapters/svelte/index.js +5 -0
- package/dist/adapters/svelte/index.js.map +1 -0
- package/dist/adapters/svelte/query.d.ts +60 -0
- package/dist/adapters/svelte/query.d.ts.map +1 -0
- package/dist/adapters/svelte/query.js +78 -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/vanilla/index.d.ts +3 -0
- package/dist/adapters/vanilla/index.d.ts.map +1 -0
- package/dist/adapters/vanilla/index.js +3 -0
- package/dist/adapters/vanilla/index.js.map +1 -0
- package/dist/adapters/vanilla/query.d.ts +69 -0
- package/dist/adapters/vanilla/query.d.ts.map +1 -0
- package/dist/adapters/vanilla/query.js +76 -0
- package/dist/adapters/vanilla/query.js.map +1 -0
- package/dist/adapters/vue/index.d.ts +1 -0
- package/dist/adapters/vue/index.d.ts.map +1 -1
- package/dist/adapters/vue/index.js +1 -0
- package/dist/adapters/vue/index.js.map +1 -1
- package/dist/adapters/vue/query.d.ts +35 -87
- package/dist/adapters/vue/query.d.ts.map +1 -1
- package/dist/adapters/vue/query.js +57 -168
- 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 +87 -130
- package/dist/core/services/query.service.d.ts.map +1 -1
- package/dist/core/services/query.service.js +99 -366
- 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 +251 -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
|
@@ -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,OAAO,EACN,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,cAAc,GACd,MAAM,sCAAsC,CAAC;AAC9C,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,OAAO,EACN,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,cAAc,GACd,MAAM,sCAAsC,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { type MutationObserverOptions, type MutationObserverResult, type QueryClient, type QueryObserverOptions, type QueryObserverResult } from "@tanstack/query-core";
|
|
2
|
+
/**
|
|
3
|
+
* React hook for a cached query, backed by TanStack Query Core.
|
|
4
|
+
*
|
|
5
|
+
* Returns TanStack's native {@link QueryObserverResult}
|
|
6
|
+
* (`{ data, error, isPending, isFetching, isSuccess, isError, status, fetchStatus, refetch, … }`),
|
|
7
|
+
* with stale-while-revalidate, focus/reconnect refetch, retries and garbage
|
|
8
|
+
* collection handled by the engine.
|
|
9
|
+
*
|
|
10
|
+
* `client` is captured for the component's lifetime — pass a stable instance.
|
|
11
|
+
*
|
|
12
|
+
* @param options - TanStack query options (`queryKey`, `queryFn`, `staleTime`, …).
|
|
13
|
+
* @param client - Optional {@link QueryClient} (defaults to the shared singleton).
|
|
14
|
+
* @returns The TanStack {@link QueryObserverResult}.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* import { useQuery, useSafeQueryFn } from "katanakit-js/adapters/react";
|
|
19
|
+
* import { useGetApi } from "katanakit-js";
|
|
20
|
+
*
|
|
21
|
+
* function Pokemon({ id }: { id: number }) {
|
|
22
|
+
* const { data, isPending, isError, error } = useQuery({
|
|
23
|
+
* queryKey: ["pokemon", id],
|
|
24
|
+
* queryFn: useSafeQueryFn(() => useGetApi("pokeapi", "pokemonById", { params: { id } })),
|
|
25
|
+
* });
|
|
26
|
+
* if (isPending) return <div>Loading…</div>;
|
|
27
|
+
* if (isError) return <div>{error.message}</div>;
|
|
28
|
+
* return <div>{data?.name}</div>;
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare function useQuery<TQueryFnData = unknown, TError = Error, TData = TQueryFnData>(options: QueryObserverOptions<TQueryFnData, TError, TData>, client?: QueryClient): QueryObserverResult<TData, TError>;
|
|
33
|
+
/**
|
|
34
|
+
* React hook for a mutation, backed by TanStack Query Core.
|
|
35
|
+
*
|
|
36
|
+
* Returns TanStack's native {@link MutationObserverResult}
|
|
37
|
+
* (`{ data, error, variables, isPending, isError, isSuccess, status, mutate, reset }`).
|
|
38
|
+
*
|
|
39
|
+
* @param options - TanStack mutation options (`mutationFn`, `onSuccess`, …).
|
|
40
|
+
* @param client - Optional {@link QueryClient} (defaults to the shared singleton).
|
|
41
|
+
* @returns The TanStack {@link MutationObserverResult}.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```tsx
|
|
45
|
+
* import { useMutation, useQueryClient } from "katanakit-js/adapters/react";
|
|
46
|
+
* import { usePost } from "katanakit-js";
|
|
47
|
+
*
|
|
48
|
+
* function CreateUser() {
|
|
49
|
+
* const qc = useQueryClient();
|
|
50
|
+
* const { mutate, isPending } = useMutation({
|
|
51
|
+
* mutationFn: (name: string) => usePost("api", "createUser", { name }),
|
|
52
|
+
* onSuccess: () => qc.invalidateQueries({ queryKey: ["users"] }),
|
|
53
|
+
* });
|
|
54
|
+
* return <button disabled={isPending} onClick={() => mutate("Ada")}>Create</button>;
|
|
55
|
+
* }
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare function useMutation<TData = unknown, TError = Error, TVariables = void, TContext = unknown>(options: MutationObserverOptions<TData, TError, TVariables, TContext>, client?: QueryClient): MutationObserverResult<TData, TError, TVariables, TContext>;
|
|
59
|
+
//# sourceMappingURL=query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/adapters/react/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAE3B,KAAK,WAAW,EAEhB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,MAAM,sBAAsB,CAAC;AAK9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,QAAQ,CAAC,YAAY,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,KAAK,GAAG,YAAY,EACpF,OAAO,EAAE,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAC1D,MAAM,CAAC,EAAE,WAAW,GAClB,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CA4BpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,UAAU,GAAG,IAAI,EAAE,QAAQ,GAAG,OAAO,EACjG,OAAO,EAAE,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EACrE,MAAM,CAAC,EAAE,WAAW,GAClB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAqB7D"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { MutationObserver, notifyManager, QueryObserver, } from "@tanstack/query-core";
|
|
2
|
+
import { useCallback, useEffect, useState, useSyncExternalStore } from "react";
|
|
3
|
+
import { useQueryClient } from "../../core/services/query.service.js";
|
|
4
|
+
/**
|
|
5
|
+
* React hook for a cached query, backed by TanStack Query Core.
|
|
6
|
+
*
|
|
7
|
+
* Returns TanStack's native {@link QueryObserverResult}
|
|
8
|
+
* (`{ data, error, isPending, isFetching, isSuccess, isError, status, fetchStatus, refetch, … }`),
|
|
9
|
+
* with stale-while-revalidate, focus/reconnect refetch, retries and garbage
|
|
10
|
+
* collection handled by the engine.
|
|
11
|
+
*
|
|
12
|
+
* `client` is captured for the component's lifetime — pass a stable instance.
|
|
13
|
+
*
|
|
14
|
+
* @param options - TanStack query options (`queryKey`, `queryFn`, `staleTime`, …).
|
|
15
|
+
* @param client - Optional {@link QueryClient} (defaults to the shared singleton).
|
|
16
|
+
* @returns The TanStack {@link QueryObserverResult}.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* import { useQuery, useSafeQueryFn } from "katanakit-js/adapters/react";
|
|
21
|
+
* import { useGetApi } from "katanakit-js";
|
|
22
|
+
*
|
|
23
|
+
* function Pokemon({ id }: { id: number }) {
|
|
24
|
+
* const { data, isPending, isError, error } = useQuery({
|
|
25
|
+
* queryKey: ["pokemon", id],
|
|
26
|
+
* queryFn: useSafeQueryFn(() => useGetApi("pokeapi", "pokemonById", { params: { id } })),
|
|
27
|
+
* });
|
|
28
|
+
* if (isPending) return <div>Loading…</div>;
|
|
29
|
+
* if (isError) return <div>{error.message}</div>;
|
|
30
|
+
* return <div>{data?.name}</div>;
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export function useQuery(options, client) {
|
|
35
|
+
const queryClient = client ?? useQueryClient();
|
|
36
|
+
const defaultedOptions = queryClient.defaultQueryOptions(options);
|
|
37
|
+
const [observer] = useState(() => new QueryObserver(queryClient, defaultedOptions));
|
|
38
|
+
const subscribe = useCallback((onStoreChange) => {
|
|
39
|
+
const unsubscribe = observer.subscribe(notifyManager.batchCalls(onStoreChange));
|
|
40
|
+
// Sync the optimistic result with the store after subscribing.
|
|
41
|
+
observer.updateResult();
|
|
42
|
+
return unsubscribe;
|
|
43
|
+
}, [observer]);
|
|
44
|
+
const result = useSyncExternalStore(subscribe, () => observer.getCurrentResult(), () => observer.getCurrentResult());
|
|
45
|
+
// Keep the observer's options in sync on every render (TanStack's pattern).
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
observer.setOptions(queryClient.defaultQueryOptions(options));
|
|
48
|
+
});
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* React hook for a mutation, backed by TanStack Query Core.
|
|
53
|
+
*
|
|
54
|
+
* Returns TanStack's native {@link MutationObserverResult}
|
|
55
|
+
* (`{ data, error, variables, isPending, isError, isSuccess, status, mutate, reset }`).
|
|
56
|
+
*
|
|
57
|
+
* @param options - TanStack mutation options (`mutationFn`, `onSuccess`, …).
|
|
58
|
+
* @param client - Optional {@link QueryClient} (defaults to the shared singleton).
|
|
59
|
+
* @returns The TanStack {@link MutationObserverResult}.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```tsx
|
|
63
|
+
* import { useMutation, useQueryClient } from "katanakit-js/adapters/react";
|
|
64
|
+
* import { usePost } from "katanakit-js";
|
|
65
|
+
*
|
|
66
|
+
* function CreateUser() {
|
|
67
|
+
* const qc = useQueryClient();
|
|
68
|
+
* const { mutate, isPending } = useMutation({
|
|
69
|
+
* mutationFn: (name: string) => usePost("api", "createUser", { name }),
|
|
70
|
+
* onSuccess: () => qc.invalidateQueries({ queryKey: ["users"] }),
|
|
71
|
+
* });
|
|
72
|
+
* return <button disabled={isPending} onClick={() => mutate("Ada")}>Create</button>;
|
|
73
|
+
* }
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export function useMutation(options, client) {
|
|
77
|
+
const queryClient = client ?? useQueryClient();
|
|
78
|
+
const [observer] = useState(() => new MutationObserver(queryClient, options));
|
|
79
|
+
const subscribe = useCallback((onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)), [observer]);
|
|
80
|
+
const result = useSyncExternalStore(subscribe, () => observer.getCurrentResult(), () => observer.getCurrentResult());
|
|
81
|
+
useEffect(() => {
|
|
82
|
+
observer.setOptions(options);
|
|
83
|
+
});
|
|
84
|
+
return result;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/adapters/react/query.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gBAAgB,EAGhB,aAAa,EAEb,aAAa,GAGb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,QAAQ,CACvB,OAA0D,EAC1D,MAAoB;IAEpB,MAAM,WAAW,GAAG,MAAM,IAAI,cAAc,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAAG,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAElE,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,aAAa,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEpF,MAAM,SAAS,GAAG,WAAW,CAC5B,CAAC,aAAyB,EAAE,EAAE;QAC7B,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;QAChF,+DAA+D;QAC/D,QAAQ,CAAC,YAAY,EAAE,CAAC;QACxB,OAAO,WAAW,CAAC;IACpB,CAAC,EACD,CAAC,QAAQ,CAAC,CACV,CAAC;IAEF,MAAM,MAAM,GAAG,oBAAoB,CAClC,SAAS,EACT,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EACjC,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CACjC,CAAC;IAEF,4EAA4E;IAC5E,SAAS,CAAC,GAAG,EAAE;QACd,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,WAAW,CAC1B,OAAqE,EACrE,MAAoB;IAEpB,MAAM,WAAW,GAAG,MAAM,IAAI,cAAc,EAAE,CAAC;IAE/C,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAE9E,MAAM,SAAS,GAAG,WAAW,CAC5B,CAAC,aAAyB,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAC1F,CAAC,QAAQ,CAAC,CACV,CAAC;IAEF,MAAM,MAAM,GAAG,oBAAoB,CAClC,SAAS,EACT,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EACjC,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CACjC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** Options for {@link useWatch}. */
|
|
2
|
+
export interface UseWatchOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Compare values deeply (via JSON serialization) instead of by reference.
|
|
5
|
+
* Defaults to `true`, matching the Vue adapter.
|
|
6
|
+
*/
|
|
7
|
+
deep?: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* React effect-based watcher that invokes `callback` whenever the value
|
|
11
|
+
* produced by `source` changes. Tracks the previous value so the callback
|
|
12
|
+
* receives `(value, previous)`.
|
|
13
|
+
*
|
|
14
|
+
* Runs once on mount (with `previous` undefined) and on every change. Cleans
|
|
15
|
+
* up automatically on unmount.
|
|
16
|
+
*
|
|
17
|
+
* @typeParam T - The watched value type.
|
|
18
|
+
* @param source - A getter returning the value to watch.
|
|
19
|
+
* @param callback - Invoked on change as `(value, previous)`.
|
|
20
|
+
* @param options - `deep` (default `true`) serializes objects for comparison.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* import { useState } from "react";
|
|
25
|
+
* import { useWatch } from "katanakit-js/adapters/react";
|
|
26
|
+
*
|
|
27
|
+
* function Form() {
|
|
28
|
+
* const [product, setProduct] = useState({ name: "", price: 0 });
|
|
29
|
+
* useWatch(() => product, (next, prev) => {
|
|
30
|
+
* console.log("changed:", next, prev);
|
|
31
|
+
* });
|
|
32
|
+
* // ...
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare function useWatch<T>(source: () => T, callback: (value: T, previous: T | undefined) => void, options?: UseWatchOptions): void;
|
|
37
|
+
//# sourceMappingURL=watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/adapters/react/watch.ts"],"names":[],"mappings":"AAEA,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;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,OAAO,GAAE,eAAoB,GAC3B,IAAI,CAUN"}
|