@hf-chimera/store 0.0.15 → 0.2.0

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 (64) hide show
  1. package/README.md +171 -360
  2. package/dist/defaults-CDnbUToo.cjs +175 -0
  3. package/dist/defaults-CDnbUToo.cjs.map +1 -0
  4. package/dist/defaults-DkrKTPXY.mjs +91 -0
  5. package/dist/defaults-DkrKTPXY.mjs.map +1 -0
  6. package/dist/defaults.cjs +3 -14
  7. package/dist/defaults.d.cts +16 -42
  8. package/dist/defaults.d.cts.map +1 -1
  9. package/dist/defaults.d.mts +33 -0
  10. package/dist/defaults.d.mts.map +1 -0
  11. package/dist/defaults.mjs +3 -0
  12. package/dist/index.cjs +1709 -23
  13. package/dist/index.cjs.map +1 -0
  14. package/dist/index.d.cts +634 -2
  15. package/dist/index.d.cts.map +1 -0
  16. package/dist/index.d.mts +634 -0
  17. package/dist/index.d.mts.map +1 -0
  18. package/dist/{src-C74sq0jQ.js → index.mjs} +252 -246
  19. package/dist/index.mjs.map +1 -0
  20. package/dist/types-CNGIuRUw.d.mts +117 -0
  21. package/dist/types-CNGIuRUw.d.mts.map +1 -0
  22. package/dist/types-CuI5yXiY.d.cts +117 -0
  23. package/dist/types-CuI5yXiY.d.cts.map +1 -0
  24. package/package.json +10 -42
  25. package/.changeset/README.md +0 -8
  26. package/CHANGELOG.md +0 -92
  27. package/dist/adapters/react.cjs +0 -122
  28. package/dist/adapters/react.cjs.map +0 -1
  29. package/dist/adapters/react.d.cts +0 -39
  30. package/dist/adapters/react.d.cts.map +0 -1
  31. package/dist/adapters/react.d.ts +0 -39
  32. package/dist/adapters/react.d.ts.map +0 -1
  33. package/dist/adapters/react.js +0 -92
  34. package/dist/adapters/react.js.map +0 -1
  35. package/dist/defaults-Bg1kIemd.cjs +0 -372
  36. package/dist/defaults-Bg1kIemd.cjs.map +0 -1
  37. package/dist/defaults-CLUQg2zK.js +0 -210
  38. package/dist/defaults-CLUQg2zK.js.map +0 -1
  39. package/dist/defaults.cjs.map +0 -1
  40. package/dist/defaults.d.ts +0 -59
  41. package/dist/defaults.d.ts.map +0 -1
  42. package/dist/defaults.js +0 -13
  43. package/dist/defaults.js.map +0 -1
  44. package/dist/index-B6sY7hiW.d.ts +0 -22
  45. package/dist/index-B6sY7hiW.d.ts.map +0 -1
  46. package/dist/index-CTTQ1Hr3.d.ts +0 -821
  47. package/dist/index-CTTQ1Hr3.d.ts.map +0 -1
  48. package/dist/index-CiER0sxG.d.cts +0 -22
  49. package/dist/index-CiER0sxG.d.cts.map +0 -1
  50. package/dist/index-CkaYmEhA.d.cts +0 -821
  51. package/dist/index-CkaYmEhA.d.cts.map +0 -1
  52. package/dist/index.d.ts +0 -2
  53. package/dist/index.js +0 -4
  54. package/dist/qb-PXzZgo2H.cjs +0 -50
  55. package/dist/qb-PXzZgo2H.cjs.map +0 -1
  56. package/dist/qb-pchs-vdM.js +0 -45
  57. package/dist/qb-pchs-vdM.js.map +0 -1
  58. package/dist/qb.cjs +0 -5
  59. package/dist/qb.d.cts +0 -3
  60. package/dist/qb.d.ts +0 -3
  61. package/dist/qb.js +0 -5
  62. package/dist/src-C74sq0jQ.js.map +0 -1
  63. package/dist/src-TJG6k3Nr.cjs +0 -1771
  64. package/dist/src-TJG6k3Nr.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-CuI5yXiY.d.cts","names":[],"sources":["../../../src/shared/types.ts","../../../src/filter/constants.ts","../../../src/filter/types.ts","../../../src/filter/defaults.ts","../../../src/order/types.ts"],"sourcesContent":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,17 +1,15 @@
1
1
  {
2
- "author": "hewston",
3
2
  "name": "@hf-chimera/store",
4
- "description": "Cross-end reactivity API",
5
- "version": "0.0.15",
3
+ "version": "0.2.0",
4
+ "description": "Cross-end reactivity API - Core store",
6
5
  "license": "MIT",
6
+ "author": "hewston",
7
7
  "keywords": [
8
8
  "state-management",
9
9
  "reactivity",
10
10
  "reactive",
11
11
  "store",
12
12
  "cross-platform",
13
- "react",
14
- "query-builder",
15
13
  "typescript",
16
14
  "fullstack",
17
15
  "client-server",
@@ -31,53 +29,23 @@
31
29
  "types": "./dist/defaults.d.ts",
32
30
  "require": "./dist/defaults.cjs",
33
31
  "import": "./dist/defaults.js"
34
- },
35
- "./qb": {
36
- "types": "./dist/qb.d.ts",
37
- "require": "./dist/qb.cjs",
38
- "import": "./dist/qb.js"
39
- },
40
- "./adapters/react": {
41
- "types": "./dist/adapters/react.d.ts",
42
- "require": "./dist/adapters/react.cjs",
43
- "import": "./dist/adapters/react.js"
44
32
  }
45
33
  },
34
+ "files": [
35
+ "dist"
36
+ ],
46
37
  "bugs": {
47
38
  "url": "https://github.com/hf-chimera/store/issues"
48
39
  },
49
40
  "repository": {
50
41
  "url": "https://github.com/hf-chimera/store"
51
42
  },
52
- "devDependencies": {
53
- "@biomejs/biome": "2.3.2",
54
- "@changesets/cli": "^2.29.7",
55
- "@commitlint/cli": "^20.1.0",
56
- "@commitlint/config-conventional": "^20.0.0",
57
- "@vitest/coverage-v8": "^4.0.6",
58
- "@vitest/ui": "^4.0.6",
59
- "husky": "^9.1.7",
60
- "tsdown": "^0.15.12",
61
- "typescript": "^5.9.3",
62
- "vitest": "^4.0.6"
63
- },
64
- "peerDependencies": {
65
- "@types/react": ">=16.8.0",
66
- "react": ">=16.8.0"
67
- },
68
- "peerDependenciesMeta": {
69
- "@types/react": {
70
- "optional": true
71
- },
72
- "react": {
73
- "optional": true
74
- }
43
+ "publishConfig": {
44
+ "access": "public",
45
+ "provenance": true
75
46
  },
76
47
  "scripts": {
77
48
  "build": "tsdown",
78
- "lint": "tsc && pnpm biome check --write",
79
- "test": "vitest run --passWithNoTests",
80
- "test:coverage": "vitest --ui --coverage.enabled --coverage.all",
81
- "release": "pnpm run build && pnpm publish --provenance --access public"
49
+ "changeset:patch": "node ../../scripts/changeset-patch.mjs @hf-chimera/store"
82
50
  }
83
51
  }
@@ -1,8 +0,0 @@
1
- # Changesets
2
-
3
- Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
4
- with multi-package repos, or single-package repos to help you version and publish your code. You can
5
- find the full documentation for it [in our repository](https://github.com/changesets/changesets)
6
-
7
- We have a quick list of common questions to get you started engaging with this project in
8
- [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
package/CHANGELOG.md DELETED
@@ -1,92 +0,0 @@
1
- # @hf-chimera/store
2
-
3
- ## 0.0.15
4
-
5
- ### Patch Changes
6
-
7
- - Fix readme
8
-
9
- ## 0.0.14
10
-
11
- ### Patch Changes
12
-
13
- - Try to get npm confirmation v1
14
-
15
- ## 0.0.13
16
-
17
- ### Patch Changes
18
-
19
- - Fix readme
20
-
21
- ## 0.0.12
22
-
23
- ### Patch Changes
24
-
25
- - Update README
26
-
27
- ## 0.0.11
28
-
29
- ### Patch Changes
30
-
31
- - Add filter utils
32
-
33
- ## 0.0.10
34
-
35
- ### Patch Changes
36
-
37
- - Export correct types
38
-
39
- ## 0.0.9
40
-
41
- ### Patch Changes
42
-
43
- - Add defaults export
44
-
45
- ## 0.0.8
46
-
47
- ### Patch Changes
48
-
49
- - Fix dist ignore
50
-
51
- ## 0.0.7
52
-
53
- ### Patch Changes
54
-
55
- - Fix exports
56
-
57
- ## 0.0.6
58
-
59
- ### Patch Changes
60
-
61
- - Update npmignore
62
-
63
- ## 0.0.5
64
-
65
- ### Patch Changes
66
-
67
- - Implement library with adapters
68
-
69
- This patch release introduces the complete implementation of the
70
- `@hf-chimera/store` library with a flexible adapter system:
71
-
72
- - **React Adapter** (`packages/adapters/react`): Hooks and context for
73
- integrating the store with React applications
74
- - **Query Builder** (`packages/qb`): Fluent API for constructing complex queries
75
- - **CRUD Example**: Full-stack example application demonstrating store usage
76
- with customers and orders
77
- - **Core Improvements**: Bug fixes in ordering logic (using the first non-equal
78
- result) and enhanced type safety
79
- - **Testing Infrastructure**: Added Vitest UI and comprehensive test coverage
80
-
81
- ## 0.0.4
82
-
83
- ### Patch Changes
84
-
85
- - 2b3dd61: Cleanup try 3
86
- - bafd87f: Cleanup try 2
87
-
88
- ## 0.0.3
89
-
90
- ### Patch Changes
91
-
92
- - b582743: Cleanup
@@ -1,122 +0,0 @@
1
- //#region rolldown:runtime
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
- key = keys[i];
11
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
- get: ((k) => from[k]).bind(null, key),
13
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
- });
15
- }
16
- return to;
17
- };
18
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
- value: mod,
20
- enumerable: true
21
- }) : target, mod));
22
-
23
- //#endregion
24
- require('../defaults-Bg1kIemd.cjs');
25
- require('../src-TJG6k3Nr.cjs');
26
- const require_qb = require('../qb-PXzZgo2H.cjs');
27
- let react = require("react");
28
- react = __toESM(react);
29
-
30
- //#region packages/adapters/react/context.tsx
31
- const ChimeraStoreContext = (0, react.createContext)(null);
32
- const ChimeraStoreProvider = ({ children, store }) => <ChimeraStoreContext.Provider value={(0, react.useMemo)(() => ({ store }), [store])}>{children}</ChimeraStoreContext.Provider>;
33
-
34
- //#endregion
35
- //#region packages/adapters/react/hooks.ts
36
- function useChimeraStore() {
37
- const context = (0, react.useContext)(ChimeraStoreContext);
38
- if (!context) throw new Error("useChimeraStore must be used within a ChimeraStoreProvider");
39
- return context.store;
40
- }
41
- function useChimeraRepository(entityName) {
42
- return useChimeraStore().from(entityName);
43
- }
44
- const CHIMERA_COLLECTION_UPDATE_EVENTS = [
45
- "ready",
46
- "updated",
47
- "selfUpdated",
48
- "selfItemCreated",
49
- "itemAdded",
50
- "itemUpdated",
51
- "selfItemUpdated",
52
- "itemDeleted",
53
- "selfItemDeleted",
54
- "error"
55
- ];
56
- const useChimeraCollection = (entityName, params, deps) => {
57
- const [, trigger] = (0, react.useState)(() => ({}));
58
- const repository = useChimeraRepository(entityName);
59
- const oldDeps = (0, react.useRef)(deps);
60
- if (oldDeps.current && !deps || !oldDeps.current && deps) console.warn("useChimeraCollection deps is not a reactive param!\nUse deps if you want to control dependencies manually.\nOmit it if you already have a stable reference to params");
61
- oldDeps.current = deps;
62
- const memeParams = (0, react.useMemo)(() => {
63
- if (typeof params !== "function") return params;
64
- const q = new require_qb.ChimeraQueryBuilder();
65
- params(q);
66
- return q.build();
67
- }, deps ? deps : [params]);
68
- const collection = (0, react.useMemo)(() => repository.getCollection(memeParams), [repository, memeParams]);
69
- (0, react.useEffect)(() => {
70
- const handler = () => trigger({});
71
- for (const event of CHIMERA_COLLECTION_UPDATE_EVENTS) collection.on(event, handler);
72
- return () => {
73
- for (const event of CHIMERA_COLLECTION_UPDATE_EVENTS) collection.off(event, handler);
74
- };
75
- }, [collection]);
76
- return collection;
77
- };
78
- const CHIMERA_ITEM_UPDATE_EVENTS = [
79
- "initialized",
80
- "selfCreated",
81
- "ready",
82
- "updated",
83
- "selfUpdated",
84
- "deleted",
85
- "selfDeleted",
86
- "error"
87
- ];
88
- const useChimeraItem = (entityName, id, meta) => {
89
- const [, trigger] = (0, react.useState)(() => ({}));
90
- const item = useChimeraRepository(entityName).getItem(id, meta);
91
- (0, react.useEffect)(() => {
92
- const handler = () => trigger({});
93
- for (const event of CHIMERA_ITEM_UPDATE_EVENTS) item.on(event, handler);
94
- return () => {
95
- for (const event of CHIMERA_ITEM_UPDATE_EVENTS) item.off(event, handler);
96
- };
97
- }, [item]);
98
- return item;
99
- };
100
- function getChimeraTypedHooks(withoutPrefix) {
101
- return withoutPrefix ? {
102
- useCollection: useChimeraCollection,
103
- useItem: useChimeraItem,
104
- useRepository: useChimeraRepository,
105
- useStore: useChimeraStore
106
- } : {
107
- useChimeraCollection,
108
- useChimeraItem,
109
- useChimeraRepository,
110
- useChimeraStore
111
- };
112
- }
113
-
114
- //#endregion
115
- exports.ChimeraStoreContext = ChimeraStoreContext;
116
- exports.ChimeraStoreProvider = ChimeraStoreProvider;
117
- exports.getChimeraTypedHooks = getChimeraTypedHooks;
118
- exports.useChimeraCollection = useChimeraCollection;
119
- exports.useChimeraItem = useChimeraItem;
120
- exports.useChimeraRepository = useChimeraRepository;
121
- exports.useChimeraStore = useChimeraStore;
122
- //# sourceMappingURL=react.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.cjs","names":["ChimeraQueryBuilder"],"sources":["../../packages/adapters/react/context.tsx","../../packages/adapters/react/hooks.ts"],"sourcesContent":["import { createContext, type ReactNode, useMemo } from \"react\";\nimport type { AnyChimeraStore } from \"../../../src/store\";\n\nexport interface ChimeraStoreContextValue<T extends AnyChimeraStore> {\n\tstore: T;\n}\n\nexport interface ChimeraStoreProviderProps<T extends AnyChimeraStore> {\n\tchildren: ReactNode;\n\tstore: T;\n}\n\nexport const ChimeraStoreContext = createContext<ChimeraStoreContextValue<AnyChimeraStore> | null>(null);\n\nexport const ChimeraStoreProvider = <T extends AnyChimeraStore>({ children, store }: ChimeraStoreProviderProps<T>) => (\n\t<ChimeraStoreContext.Provider value={useMemo(() => ({ store }), [store])}>{children}</ChimeraStoreContext.Provider>\n);\n","import { useContext, useEffect, useMemo, useRef, useState } from \"react\";\nimport type { ChimeraCollectionQuery } from \"../../../src/query/ChimeraCollectionQuery\";\nimport type { ChimeraItemQuery } from \"../../../src/query/ChimeraItemQuery\";\nimport type { ChimeraEntityId } from \"../../../src/shared/types\";\nimport type { ChimeraEntityRepository } from \"../../../src/store/ChimeraEntityRepository\";\nimport type {\n\tAnyChimeraStore,\n\tChimeraStoreEntities,\n\tChimeraStoreEntityType,\n\tChimeraStoreOperatorMap,\n} from \"../../../src/store/ChimeraStore\";\nimport type { ChimeraCollectionParams } from \"../../../src/store/types\";\nimport { ChimeraQueryBuilder, type QueryBuilderCreator } from \"../../qb\";\nimport { ChimeraStoreContext } from \"./context\";\n\nexport function useChimeraStore<T extends AnyChimeraStore>(): T {\n\tconst context = useContext(ChimeraStoreContext);\n\tif (!context) {\n\t\tthrow new Error(\"useChimeraStore must be used within a ChimeraStoreProvider\");\n\t}\n\treturn context.store as T;\n}\n\nexport function useChimeraRepository<T extends AnyChimeraStore, EntityName extends ChimeraStoreEntities<T>>(\n\tentityName: EntityName,\n): ChimeraEntityRepository<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>> {\n\tconst store = useChimeraStore<T>();\n\treturn store.from(entityName);\n}\n\nconst CHIMERA_COLLECTION_UPDATE_EVENTS = [\n\t\"ready\",\n\t\"updated\",\n\t\"selfUpdated\",\n\t\"selfItemCreated\",\n\t\"itemAdded\",\n\t\"itemUpdated\",\n\t\"selfItemUpdated\",\n\t\"itemDeleted\",\n\t\"selfItemDeleted\",\n\t\"error\",\n] as const;\nexport const useChimeraCollection = <T extends AnyChimeraStore, EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\tentityName: EntityName,\n\tparams:\n\t\t| ChimeraCollectionParams<ChimeraStoreOperatorMap<T>, ChimeraStoreEntityType<T, EntityName>, Meta>\n\t\t| QueryBuilderCreator<T, ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>,\n\tdeps?: unknown[],\n): ChimeraCollectionQuery<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>> => {\n\tconst [, trigger] = useState(() => ({}));\n\n\tconst repository = useChimeraRepository<T, EntityName>(entityName);\n\n\tconst oldDeps = useRef(deps);\n\tif ((oldDeps.current && !deps) || (!oldDeps.current && deps)) {\n\t\tconsole.warn(\n\t\t\t\"useChimeraCollection deps is not a reactive param!\\n\" +\n\t\t\t\t\"Use deps if you want to control dependencies manually.\\n\" +\n\t\t\t\t\"Omit it if you already have a stable reference to params\",\n\t\t);\n\t}\n\toldDeps.current = deps;\n\n\tconst memeParams = useMemo(\n\t\t() => {\n\t\t\tif (typeof params !== \"function\") return params;\n\n\t\t\tconst q = new ChimeraQueryBuilder();\n\t\t\tparams(q);\n\t\t\treturn q.build();\n\t\t},\n\t\t// biome-ignore lint/correctness/useExhaustiveDependencies: Very unlikely it will be changed over time, anyway warning for this already added.\n\t\tdeps ? deps : [params],\n\t);\n\tconst collection = useMemo(() => repository.getCollection(memeParams), [repository, memeParams]);\n\n\tuseEffect(() => {\n\t\tconst handler = () => trigger({});\n\t\tfor (const event of CHIMERA_COLLECTION_UPDATE_EVENTS) {\n\t\t\tcollection.on(event, handler);\n\t\t}\n\t\treturn () => {\n\t\t\tfor (const event of CHIMERA_COLLECTION_UPDATE_EVENTS) {\n\t\t\t\tcollection.off(event, handler);\n\t\t\t}\n\t\t};\n\t}, [collection]);\n\n\treturn collection;\n};\n\nconst CHIMERA_ITEM_UPDATE_EVENTS = [\n\t\"initialized\",\n\t\"selfCreated\",\n\t\"ready\",\n\t\"updated\",\n\t\"selfUpdated\",\n\t\"deleted\",\n\t\"selfDeleted\",\n\t\"error\",\n] as const;\nexport const useChimeraItem = <T extends AnyChimeraStore, EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\tentityName: EntityName,\n\tid: ChimeraEntityId,\n\tmeta?: Meta,\n): ChimeraItemQuery<ChimeraStoreEntityType<T, EntityName>> => {\n\tconst [, trigger] = useState(() => ({}));\n\n\tconst repository = useChimeraRepository<T, EntityName>(entityName);\n\tconst item = repository.getItem(id, meta);\n\n\tuseEffect(() => {\n\t\tconst handler = () => trigger({});\n\t\tfor (const event of CHIMERA_ITEM_UPDATE_EVENTS) {\n\t\t\titem.on(event, handler);\n\t\t}\n\t\treturn () => {\n\t\t\tfor (const event of CHIMERA_ITEM_UPDATE_EVENTS) {\n\t\t\t\titem.off(event, handler);\n\t\t\t}\n\t\t};\n\t}, [item]);\n\n\treturn item;\n};\n\nexport function getChimeraTypedHooks<T extends AnyChimeraStore>(\n\twithoutPrefix: true,\n): {\n\tuseStore: () => T;\n\tuseRepository: <EntityName extends ChimeraStoreEntities<T>>(\n\t\tentityName: EntityName,\n\t) => ChimeraEntityRepository<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;\n\tuseCollection: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\t\tentityName: EntityName,\n\t\tparams: ChimeraCollectionParams<ChimeraStoreOperatorMap<T>, ChimeraStoreEntityType<T, EntityName>, Meta>,\n\t\tdeps?: unknown[],\n\t) => ChimeraCollectionQuery<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;\n\tuseItem: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\t\tentityName: EntityName,\n\t\tid: ChimeraEntityId,\n\t\tmeta?: Meta,\n\t) => ChimeraItemQuery<ChimeraStoreEntityType<T, EntityName>>;\n};\nexport function getChimeraTypedHooks<T extends AnyChimeraStore>(\n\twithoutPrefix?: false,\n): {\n\tuseChimeraStore: () => T;\n\tuseChimeraRepository: <EntityName extends ChimeraStoreEntities<T>>(\n\t\tentityName: EntityName,\n\t) => ChimeraEntityRepository<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;\n\tuseChimeraCollection: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\t\tentityName: EntityName,\n\t\tparams:\n\t\t\t| ChimeraCollectionParams<ChimeraStoreOperatorMap<T>, ChimeraStoreEntityType<T, EntityName>, Meta>\n\t\t\t| QueryBuilderCreator<T, ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>,\n\t\tdeps?: unknown[],\n\t) => ChimeraCollectionQuery<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;\n\tuseChimeraItem: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\t\tentityName: EntityName,\n\t\tid: ChimeraEntityId,\n\t\tmeta?: Meta,\n\t) => ChimeraItemQuery<ChimeraStoreEntityType<T, EntityName>>;\n};\nexport function getChimeraTypedHooks<T extends AnyChimeraStore>(\n\twithoutPrefix?: boolean,\n):\n\t| {\n\t\t\tuseChimeraStore: () => T;\n\t\t\tuseChimeraRepository: <EntityName extends ChimeraStoreEntities<T>>(\n\t\t\t\tentityName: EntityName,\n\t\t\t) => ChimeraEntityRepository<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;\n\t\t\tuseChimeraCollection: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\t\t\t\tentityName: EntityName,\n\t\t\t\tparams: ChimeraCollectionParams<ChimeraStoreOperatorMap<T>, ChimeraStoreEntityType<T, EntityName>, Meta>,\n\t\t\t\tdeps?: unknown[],\n\t\t\t) => ChimeraCollectionQuery<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;\n\t\t\tuseChimeraItem: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\t\t\t\tentityName: EntityName,\n\t\t\t\tid: ChimeraEntityId,\n\t\t\t\tmeta?: Meta,\n\t\t\t) => ChimeraItemQuery<ChimeraStoreEntityType<T, EntityName>>;\n\t }\n\t| {\n\t\t\tuseStore: () => T;\n\t\t\tuseRepository: <EntityName extends ChimeraStoreEntities<T>>(\n\t\t\t\tentityName: EntityName,\n\t\t\t) => ChimeraEntityRepository<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;\n\t\t\tuseCollection: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\t\t\t\tentityName: EntityName,\n\t\t\t\tparams: ChimeraCollectionParams<ChimeraStoreOperatorMap<T>, ChimeraStoreEntityType<T, EntityName>, Meta>,\n\t\t\t\tdeps?: unknown[],\n\t\t\t) => ChimeraCollectionQuery<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;\n\t\t\tuseItem: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\t\t\t\tentityName: EntityName,\n\t\t\t\tid: ChimeraEntityId,\n\t\t\t\tmeta?: Meta,\n\t\t\t) => ChimeraItemQuery<ChimeraStoreEntityType<T, EntityName>>;\n\t } {\n\treturn (\n\t\twithoutPrefix\n\t\t\t? {\n\t\t\t\t\tuseCollection: useChimeraCollection,\n\t\t\t\t\tuseItem: useChimeraItem,\n\t\t\t\t\tuseRepository: useChimeraRepository,\n\t\t\t\t\tuseStore: useChimeraStore,\n\t\t\t\t}\n\t\t\t: {\n\t\t\t\t\tuseChimeraCollection,\n\t\t\t\t\tuseChimeraItem,\n\t\t\t\t\tuseChimeraRepository,\n\t\t\t\t\tuseChimeraStore,\n\t\t\t\t}\n\t) as ReturnType<typeof getChimeraTypedHooks<T>>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAa,+CAAsF,KAAK;AAExG,MAAa,wBAAmD,EAAE,UAAU,YAC3E,CAAC,oBAAoB,SAAS,iCAAsB,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,EAAE,oBAAoB;;;;ACA3G,SAAgB,kBAAgD;CAC/D,MAAM,gCAAqB,oBAAoB;AAC/C,KAAI,CAAC,QACJ,OAAM,IAAI,MAAM,6DAA6D;AAE9E,QAAO,QAAQ;;AAGhB,SAAgB,qBACf,YAC6F;AAE7F,QADc,iBAAoB,CACrB,KAAK,WAAW;;AAG9B,MAAM,mCAAmC;CACxC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACD,MAAa,wBACZ,YACA,QAGA,SAC+F;CAC/F,MAAM,GAAG,sCAA2B,EAAE,EAAE;CAExC,MAAM,aAAa,qBAAoC,WAAW;CAElE,MAAM,4BAAiB,KAAK;AAC5B,KAAK,QAAQ,WAAW,CAAC,QAAU,CAAC,QAAQ,WAAW,KACtD,SAAQ,KACP,uKAGA;AAEF,SAAQ,UAAU;CAElB,MAAM,sCACC;AACL,MAAI,OAAO,WAAW,WAAY,QAAO;EAEzC,MAAM,IAAI,IAAIA,gCAAqB;AACnC,SAAO,EAAE;AACT,SAAO,EAAE,OAAO;IAGjB,OAAO,OAAO,CAAC,OAAO,CACtB;CACD,MAAM,sCAA2B,WAAW,cAAc,WAAW,EAAE,CAAC,YAAY,WAAW,CAAC;AAEhG,4BAAgB;EACf,MAAM,gBAAgB,QAAQ,EAAE,CAAC;AACjC,OAAK,MAAM,SAAS,iCACnB,YAAW,GAAG,OAAO,QAAQ;AAE9B,eAAa;AACZ,QAAK,MAAM,SAAS,iCACnB,YAAW,IAAI,OAAO,QAAQ;;IAG9B,CAAC,WAAW,CAAC;AAEhB,QAAO;;AAGR,MAAM,6BAA6B;CAClC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACD,MAAa,kBACZ,YACA,IACA,SAC6D;CAC7D,MAAM,GAAG,sCAA2B,EAAE,EAAE;CAGxC,MAAM,OADa,qBAAoC,WAAW,CAC1C,QAAQ,IAAI,KAAK;AAEzC,4BAAgB;EACf,MAAM,gBAAgB,QAAQ,EAAE,CAAC;AACjC,OAAK,MAAM,SAAS,2BACnB,MAAK,GAAG,OAAO,QAAQ;AAExB,eAAa;AACZ,QAAK,MAAM,SAAS,2BACnB,MAAK,IAAI,OAAO,QAAQ;;IAGxB,CAAC,KAAK,CAAC;AAEV,QAAO;;AAyCR,SAAgB,qBACf,eAiCI;AACJ,QACC,gBACG;EACA,eAAe;EACf,SAAS;EACT,eAAe;EACf,UAAU;EACV,GACA;EACA;EACA;EACA;EACA;EACA"}
@@ -1,39 +0,0 @@
1
- import { C as ChimeraItemQuery, F as ChimeraCollectionQuery, Ut as ChimeraEntityId, _ as ChimeraStoreEntityType, b as ChimeraEntityRepository, h as ChimeraStoreEntities, p as AnyChimeraStore, x as ChimeraCollectionParams, y as ChimeraStoreOperatorMap } from "../index-CkaYmEhA.cjs";
2
- import { n as QueryBuilderCreator } from "../index-CiER0sxG.cjs";
3
- import * as react0 from "react";
4
- import { ReactNode } from "react";
5
-
6
- //#region packages/adapters/react/context.d.ts
7
- interface ChimeraStoreContextValue<T extends AnyChimeraStore> {
8
- store: T;
9
- }
10
- interface ChimeraStoreProviderProps<T extends AnyChimeraStore> {
11
- children: ReactNode;
12
- store: T;
13
- }
14
- declare const ChimeraStoreContext: react0.Context<ChimeraStoreContextValue<AnyChimeraStore> | null>;
15
- declare const ChimeraStoreProvider: <T extends AnyChimeraStore>({
16
- children,
17
- store
18
- }: ChimeraStoreProviderProps<T>) => react0.JSX.Element;
19
- //#endregion
20
- //#region packages/adapters/react/hooks.d.ts
21
- declare function useChimeraStore<T extends AnyChimeraStore>(): T;
22
- declare function useChimeraRepository<T extends AnyChimeraStore, EntityName extends ChimeraStoreEntities<T>>(entityName: EntityName): ChimeraEntityRepository<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;
23
- declare const useChimeraCollection: <T extends AnyChimeraStore, EntityName extends ChimeraStoreEntities<T>, Meta = any>(entityName: EntityName, params: ChimeraCollectionParams<ChimeraStoreOperatorMap<T>, ChimeraStoreEntityType<T, EntityName>, Meta> | QueryBuilderCreator<T, ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>, deps?: unknown[]) => ChimeraCollectionQuery<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;
24
- declare const useChimeraItem: <T extends AnyChimeraStore, EntityName extends ChimeraStoreEntities<T>, Meta = any>(entityName: EntityName, id: ChimeraEntityId, meta?: Meta) => ChimeraItemQuery<ChimeraStoreEntityType<T, EntityName>>;
25
- declare function getChimeraTypedHooks<T extends AnyChimeraStore>(withoutPrefix: true): {
26
- useStore: () => T;
27
- useRepository: <EntityName extends ChimeraStoreEntities<T>>(entityName: EntityName) => ChimeraEntityRepository<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;
28
- useCollection: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(entityName: EntityName, params: ChimeraCollectionParams<ChimeraStoreOperatorMap<T>, ChimeraStoreEntityType<T, EntityName>, Meta>, deps?: unknown[]) => ChimeraCollectionQuery<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;
29
- useItem: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(entityName: EntityName, id: ChimeraEntityId, meta?: Meta) => ChimeraItemQuery<ChimeraStoreEntityType<T, EntityName>>;
30
- };
31
- declare function getChimeraTypedHooks<T extends AnyChimeraStore>(withoutPrefix?: false): {
32
- useChimeraStore: () => T;
33
- useChimeraRepository: <EntityName extends ChimeraStoreEntities<T>>(entityName: EntityName) => ChimeraEntityRepository<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;
34
- useChimeraCollection: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(entityName: EntityName, params: ChimeraCollectionParams<ChimeraStoreOperatorMap<T>, ChimeraStoreEntityType<T, EntityName>, Meta> | QueryBuilderCreator<T, ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>, deps?: unknown[]) => ChimeraCollectionQuery<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;
35
- useChimeraItem: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(entityName: EntityName, id: ChimeraEntityId, meta?: Meta) => ChimeraItemQuery<ChimeraStoreEntityType<T, EntityName>>;
36
- };
37
- //#endregion
38
- export { ChimeraStoreContext, ChimeraStoreContextValue, ChimeraStoreProvider, ChimeraStoreProviderProps, getChimeraTypedHooks, useChimeraCollection, useChimeraItem, useChimeraRepository, useChimeraStore };
39
- //# sourceMappingURL=react.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.d.cts","names":[],"sources":["../../packages/adapters/react/context.tsx","../../packages/adapters/react/hooks.ts"],"sourcesContent":[],"mappings":";;;;;;UAGiB,mCAAmC;SAC5C;;UAGS,oCAAoC;EAJpC,QAAA,EAKN,SALM;EAIA,KAAA,EAET,CAFS;;AACN,cAIE,mBAJF,EAIqB,MAAA,CAAA,OAJrB,CAIqB,wBAJrB,CAIqB,eAJrB,CAAA,GAAA,IAAA,CAAA;AACH,cAKK,oBALL,EAAA,CAAA,UAKuC,eALvC,CAAA,CAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAK6E,yBAL7E,CAKuG,CALvG,CAAA,EAAA,GAKyG,MAAA,CAAA,GAAA,CAAA,OALzG;;;AAFS,iBCQD,eDR0B,CAAA,UCQA,eDRA,CAAA,CAAA,CAAA,ECQoB,CDRpB;AAAW,iBCgBrC,oBDhBqC,CAAA,UCgBN,eDhBM,EAAA,mBCgB8B,oBDhB9B,CCgBmD,CDhBnD,CAAA,CAAA,CAAA,UAAA,ECiBxC,UDjBwC,CAAA,ECkBlD,uBDlBkD,CCkB1B,sBDlB0B,CCkBH,CDlBG,ECkBA,UDlBA,CAAA,ECkBa,uBDlBb,CCkBqC,CDlBrC,CAAA,CAAA;AAC1C,cCkCE,oBDlCF,EAAA,CAAA,UCkCoC,eDlCpC,EAAA,mBCkCwE,oBDlCxE,CCkC6F,CDlC7F,CAAA,EAAA,OAAA,GAAA,CAAA,CAAA,UAAA,ECmCE,UDnCF,EAAA,MAAA,ECqCP,uBDrCO,CCqCiB,uBDrCjB,CCqCyC,CDrCzC,CAAA,ECqC6C,sBDrC7C,CCqCoE,CDrCpE,ECqCuE,UDrCvE,CAAA,ECqCoF,IDrCpF,CAAA,GCsCP,mBDtCO,CCsCa,CDtCb,ECsCgB,sBDtChB,CCsCuC,CDtCvC,ECsC0C,UDtC1C,CAAA,ECsCuD,uBDtCvD,CCsC+E,CDtC/E,CAAA,CAAA,EAAA,IAAA,CAAA,EAAA,OAAA,EAAA,EAAA,GCwCR,sBDxCQ,CCwCe,sBDxCf,CCwCsC,CDxCtC,ECwCyC,UDxCzC,CAAA,ECwCsD,uBDxCtD,CCwC8E,CDxC9E,CAAA,CAAA;AACH,cC4FK,cD5FL,EAAA,CAAA,UC4FiC,eD5FjC,EAAA,mBC4FqE,oBD5FrE,CC4F0F,CD5F1F,CAAA,EAAA,OAAA,GAAA,CAAA,CAAA,UAAA,EC6FK,UD7FL,EAAA,EAAA,EC8FH,eD9FG,EAAA,IAAA,CAAA,EC+FA,ID/FA,EAAA,GCgGL,gBDhGK,CCgGY,sBDhGZ,CCgGmC,CDhGnC,ECgGsC,UDhGtC,CAAA,CAAA;AAAC,iBCqHO,oBDrHP,CAAA,UCqHsC,eDrHtC,CAAA,CAAA,aAAA,EAAA,IAAA,CAAA,EAAA;EAGI,QAAA,EAAA,GAAA,GCqHI,CDrHJ;EAAmB,aAAA,EAAA,CAAA,mBCsHI,oBDtHJ,CCsHyB,CDtHzB,CAAA,CAAA,CAAA,UAAA,ECuHlB,UDvHkB,EAAA,GCwH1B,uBDxH0B,CCwHF,sBDxHE,CCwHqB,CDxHrB,ECwHwB,UDxHxB,CAAA,ECwHqC,uBDxHrC,CCwH6D,CDxH7D,CAAA,CAAA;EAAA,aAAA,EAAA,CAAA,mBCyHI,oBDzHJ,CCyHyB,CDzHzB,CAAA,EAAA,OAAA,GAAA,CAAA,CAAA,UAAA,EC0HlB,UD1HkB,EAAA,MAAA,EC2HtB,uBD3HsB,CC2HE,uBD3HF,CC2H0B,CD3H1B,CAAA,EC2H8B,sBD3H9B,CC2HqD,CD3HrD,EC2HwD,UD3HxD,CAAA,EC2HqE,ID3HrE,CAAA,EAAA,IAAA,CAAA,EAAA,OAAA,EAAA,EAAA,GC6H1B,sBD7H0B,CC6HH,sBD7HG,CC6HoB,CD7HpB,EC6HuB,UD7HvB,CAAA,EC6HoC,uBD7HpC,CC6H4D,CD7H5D,CAAA,CAAA;EAAA,OAAA,EAAA,CAAA,mBC8HF,oBD9HE,CC8HmB,CD9HnB,CAAA,EAAA,OAAA,GAAA,CAAA,CAAA,UAAA,EC+HlB,UD/HkB,EAAA,EAAA,ECgI1B,eDhI0B,EAAA,IAAA,CAAA,ECiIvB,IDjIuB,EAAA,GCkI1B,gBDlI0B,CCkIT,sBDlIS,CCkIc,CDlId,ECkIiB,UDlIjB,CAAA,CAAA;CAAA;AAEnB,iBCkIG,oBDhIf,CAAA,UCgI8C,eDhI9C,CAAA,CAAA,aAAA,CAAA,EAAA,KAAA,CAAA,EAAA;EAF8C,eAAA,EAAA,GAAA,GCqIvB,CDrIuB;EAAiB,oBAAA,EAAA,CAAA,mBCsIrB,oBDtIqB,CCsIA,CDtIA,CAAA,CAAA,CAAA,UAAA,ECuIlD,UDvIkD,EAAA,GCwI1D,uBDxI0D,CCwIlC,sBDxIkC,CCwIX,CDxIW,ECwIR,UDxIQ,CAAA,ECwIK,uBDxIL,CCwI6B,CDxI7B,CAAA,CAAA;EAAA,oBAAA,EAAA,CAAA,mBCyIrB,oBDzIqB,CCyIA,CDzIA,CAAA,EAAA,OAAA,GAAA,CAAA,CAAA,UAAA,EC0IlD,UD1IkD,EAAA,MAAA,EC4I3D,uBD5I2D,CC4InC,uBD5ImC,CC4IX,CD5IW,CAAA,EC4IP,sBD5IO,CC4IgB,CD5IhB,EC4ImB,UD5InB,CAAA,EC4IgC,ID5IhC,CAAA,GC6I3D,mBD7I2D,CC6IvC,CD7IuC,EC6IpC,sBD7IoC,CC6Ib,CD7Ia,EC6IV,UD7IU,CAAA,EC6IG,uBD7IH,CC6I2B,CD7I3B,CAAA,CAAA,EAAA,IAAA,CAAA,EAAA,OAAA,EAAA,EAAA,GC+I1D,sBD/I0D,CC+InC,sBD/ImC,CC+IZ,CD/IY,EC+IT,UD/IS,CAAA,EC+II,uBD/IJ,CC+I4B,CD/I5B,CAAA,CAAA;EAA+C,cAAA,EAAA,CAAA,mBCgJ1E,oBDhJ0E,CCgJrD,CDhJqD,CAAA,EAAA,OAAA,GAAA,CAAA,CAAA,UAAA,ECiJjG,UDjJiG,EAAA,EAAA,ECkJzG,eDlJyG,EAAA,IAAA,CAAA,ECmJtG,IDnJsG,EAAA,GCoJzG,gBDpJyG,CCoJxF,sBDpJwF,CCoJjE,CDpJiE,ECoJ9D,UDpJ8D,CAAA,CAAA;CAA1B"}
@@ -1,39 +0,0 @@
1
- import { C as ChimeraItemQuery, F as ChimeraCollectionQuery, Ut as ChimeraEntityId, _ as ChimeraStoreEntityType, b as ChimeraEntityRepository, h as ChimeraStoreEntities, p as AnyChimeraStore, x as ChimeraCollectionParams, y as ChimeraStoreOperatorMap } from "../index-CTTQ1Hr3.js";
2
- import { n as QueryBuilderCreator } from "../index-B6sY7hiW.js";
3
- import * as react0 from "react";
4
- import { ReactNode } from "react";
5
-
6
- //#region packages/adapters/react/context.d.ts
7
- interface ChimeraStoreContextValue<T extends AnyChimeraStore> {
8
- store: T;
9
- }
10
- interface ChimeraStoreProviderProps<T extends AnyChimeraStore> {
11
- children: ReactNode;
12
- store: T;
13
- }
14
- declare const ChimeraStoreContext: react0.Context<ChimeraStoreContextValue<AnyChimeraStore> | null>;
15
- declare const ChimeraStoreProvider: <T extends AnyChimeraStore>({
16
- children,
17
- store
18
- }: ChimeraStoreProviderProps<T>) => react0.JSX.Element;
19
- //#endregion
20
- //#region packages/adapters/react/hooks.d.ts
21
- declare function useChimeraStore<T extends AnyChimeraStore>(): T;
22
- declare function useChimeraRepository<T extends AnyChimeraStore, EntityName extends ChimeraStoreEntities<T>>(entityName: EntityName): ChimeraEntityRepository<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;
23
- declare const useChimeraCollection: <T extends AnyChimeraStore, EntityName extends ChimeraStoreEntities<T>, Meta = any>(entityName: EntityName, params: ChimeraCollectionParams<ChimeraStoreOperatorMap<T>, ChimeraStoreEntityType<T, EntityName>, Meta> | QueryBuilderCreator<T, ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>, deps?: unknown[]) => ChimeraCollectionQuery<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;
24
- declare const useChimeraItem: <T extends AnyChimeraStore, EntityName extends ChimeraStoreEntities<T>, Meta = any>(entityName: EntityName, id: ChimeraEntityId, meta?: Meta) => ChimeraItemQuery<ChimeraStoreEntityType<T, EntityName>>;
25
- declare function getChimeraTypedHooks<T extends AnyChimeraStore>(withoutPrefix: true): {
26
- useStore: () => T;
27
- useRepository: <EntityName extends ChimeraStoreEntities<T>>(entityName: EntityName) => ChimeraEntityRepository<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;
28
- useCollection: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(entityName: EntityName, params: ChimeraCollectionParams<ChimeraStoreOperatorMap<T>, ChimeraStoreEntityType<T, EntityName>, Meta>, deps?: unknown[]) => ChimeraCollectionQuery<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;
29
- useItem: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(entityName: EntityName, id: ChimeraEntityId, meta?: Meta) => ChimeraItemQuery<ChimeraStoreEntityType<T, EntityName>>;
30
- };
31
- declare function getChimeraTypedHooks<T extends AnyChimeraStore>(withoutPrefix?: false): {
32
- useChimeraStore: () => T;
33
- useChimeraRepository: <EntityName extends ChimeraStoreEntities<T>>(entityName: EntityName) => ChimeraEntityRepository<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;
34
- useChimeraCollection: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(entityName: EntityName, params: ChimeraCollectionParams<ChimeraStoreOperatorMap<T>, ChimeraStoreEntityType<T, EntityName>, Meta> | QueryBuilderCreator<T, ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>, deps?: unknown[]) => ChimeraCollectionQuery<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;
35
- useChimeraItem: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(entityName: EntityName, id: ChimeraEntityId, meta?: Meta) => ChimeraItemQuery<ChimeraStoreEntityType<T, EntityName>>;
36
- };
37
- //#endregion
38
- export { ChimeraStoreContext, ChimeraStoreContextValue, ChimeraStoreProvider, ChimeraStoreProviderProps, getChimeraTypedHooks, useChimeraCollection, useChimeraItem, useChimeraRepository, useChimeraStore };
39
- //# sourceMappingURL=react.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.d.ts","names":[],"sources":["../../packages/adapters/react/context.tsx","../../packages/adapters/react/hooks.ts"],"sourcesContent":[],"mappings":";;;;;;UAGiB,mCAAmC;SAC5C;;UAGS,oCAAoC;EAJpC,QAAA,EAKN,SALM;EAIA,KAAA,EAET,CAFS;;AACN,cAIE,mBAJF,EAIqB,MAAA,CAAA,OAJrB,CAIqB,wBAJrB,CAIqB,eAJrB,CAAA,GAAA,IAAA,CAAA;AACH,cAKK,oBALL,EAAA,CAAA,UAKuC,eALvC,CAAA,CAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAK6E,yBAL7E,CAKuG,CALvG,CAAA,EAAA,GAKyG,MAAA,CAAA,GAAA,CAAA,OALzG;;;AAFS,iBCQD,eDR0B,CAAA,UCQA,eDRA,CAAA,CAAA,CAAA,ECQoB,CDRpB;AAAW,iBCgBrC,oBDhBqC,CAAA,UCgBN,eDhBM,EAAA,mBCgB8B,oBDhB9B,CCgBmD,CDhBnD,CAAA,CAAA,CAAA,UAAA,ECiBxC,UDjBwC,CAAA,ECkBlD,uBDlBkD,CCkB1B,sBDlB0B,CCkBH,CDlBG,ECkBA,UDlBA,CAAA,ECkBa,uBDlBb,CCkBqC,CDlBrC,CAAA,CAAA;AAC1C,cCkCE,oBDlCF,EAAA,CAAA,UCkCoC,eDlCpC,EAAA,mBCkCwE,oBDlCxE,CCkC6F,CDlC7F,CAAA,EAAA,OAAA,GAAA,CAAA,CAAA,UAAA,ECmCE,UDnCF,EAAA,MAAA,ECqCP,uBDrCO,CCqCiB,uBDrCjB,CCqCyC,CDrCzC,CAAA,ECqC6C,sBDrC7C,CCqCoE,CDrCpE,ECqCuE,UDrCvE,CAAA,ECqCoF,IDrCpF,CAAA,GCsCP,mBDtCO,CCsCa,CDtCb,ECsCgB,sBDtChB,CCsCuC,CDtCvC,ECsC0C,UDtC1C,CAAA,ECsCuD,uBDtCvD,CCsC+E,CDtC/E,CAAA,CAAA,EAAA,IAAA,CAAA,EAAA,OAAA,EAAA,EAAA,GCwCR,sBDxCQ,CCwCe,sBDxCf,CCwCsC,CDxCtC,ECwCyC,UDxCzC,CAAA,ECwCsD,uBDxCtD,CCwC8E,CDxC9E,CAAA,CAAA;AACH,cC4FK,cD5FL,EAAA,CAAA,UC4FiC,eD5FjC,EAAA,mBC4FqE,oBD5FrE,CC4F0F,CD5F1F,CAAA,EAAA,OAAA,GAAA,CAAA,CAAA,UAAA,EC6FK,UD7FL,EAAA,EAAA,EC8FH,eD9FG,EAAA,IAAA,CAAA,EC+FA,ID/FA,EAAA,GCgGL,gBDhGK,CCgGY,sBDhGZ,CCgGmC,CDhGnC,ECgGsC,UDhGtC,CAAA,CAAA;AAAC,iBCqHO,oBDrHP,CAAA,UCqHsC,eDrHtC,CAAA,CAAA,aAAA,EAAA,IAAA,CAAA,EAAA;EAGI,QAAA,EAAA,GAAA,GCqHI,CDrHJ;EAAmB,aAAA,EAAA,CAAA,mBCsHI,oBDtHJ,CCsHyB,CDtHzB,CAAA,CAAA,CAAA,UAAA,ECuHlB,UDvHkB,EAAA,GCwH1B,uBDxH0B,CCwHF,sBDxHE,CCwHqB,CDxHrB,ECwHwB,UDxHxB,CAAA,ECwHqC,uBDxHrC,CCwH6D,CDxH7D,CAAA,CAAA;EAAA,aAAA,EAAA,CAAA,mBCyHI,oBDzHJ,CCyHyB,CDzHzB,CAAA,EAAA,OAAA,GAAA,CAAA,CAAA,UAAA,EC0HlB,UD1HkB,EAAA,MAAA,EC2HtB,uBD3HsB,CC2HE,uBD3HF,CC2H0B,CD3H1B,CAAA,EC2H8B,sBD3H9B,CC2HqD,CD3HrD,EC2HwD,UD3HxD,CAAA,EC2HqE,ID3HrE,CAAA,EAAA,IAAA,CAAA,EAAA,OAAA,EAAA,EAAA,GC6H1B,sBD7H0B,CC6HH,sBD7HG,CC6HoB,CD7HpB,EC6HuB,UD7HvB,CAAA,EC6HoC,uBD7HpC,CC6H4D,CD7H5D,CAAA,CAAA;EAAA,OAAA,EAAA,CAAA,mBC8HF,oBD9HE,CC8HmB,CD9HnB,CAAA,EAAA,OAAA,GAAA,CAAA,CAAA,UAAA,EC+HlB,UD/HkB,EAAA,EAAA,ECgI1B,eDhI0B,EAAA,IAAA,CAAA,ECiIvB,IDjIuB,EAAA,GCkI1B,gBDlI0B,CCkIT,sBDlIS,CCkIc,CDlId,ECkIiB,UDlIjB,CAAA,CAAA;CAAA;AAEnB,iBCkIG,oBDhIf,CAAA,UCgI8C,eDhI9C,CAAA,CAAA,aAAA,CAAA,EAAA,KAAA,CAAA,EAAA;EAF8C,eAAA,EAAA,GAAA,GCqIvB,CDrIuB;EAAiB,oBAAA,EAAA,CAAA,mBCsIrB,oBDtIqB,CCsIA,CDtIA,CAAA,CAAA,CAAA,UAAA,ECuIlD,UDvIkD,EAAA,GCwI1D,uBDxI0D,CCwIlC,sBDxIkC,CCwIX,CDxIW,ECwIR,UDxIQ,CAAA,ECwIK,uBDxIL,CCwI6B,CDxI7B,CAAA,CAAA;EAAA,oBAAA,EAAA,CAAA,mBCyIrB,oBDzIqB,CCyIA,CDzIA,CAAA,EAAA,OAAA,GAAA,CAAA,CAAA,UAAA,EC0IlD,UD1IkD,EAAA,MAAA,EC4I3D,uBD5I2D,CC4InC,uBD5ImC,CC4IX,CD5IW,CAAA,EC4IP,sBD5IO,CC4IgB,CD5IhB,EC4ImB,UD5InB,CAAA,EC4IgC,ID5IhC,CAAA,GC6I3D,mBD7I2D,CC6IvC,CD7IuC,EC6IpC,sBD7IoC,CC6Ib,CD7Ia,EC6IV,UD7IU,CAAA,EC6IG,uBD7IH,CC6I2B,CD7I3B,CAAA,CAAA,EAAA,IAAA,CAAA,EAAA,OAAA,EAAA,EAAA,GC+I1D,sBD/I0D,CC+InC,sBD/ImC,CC+IZ,CD/IY,EC+IT,UD/IS,CAAA,EC+II,uBD/IJ,CC+I4B,CD/I5B,CAAA,CAAA;EAA+C,cAAA,EAAA,CAAA,mBCgJ1E,oBDhJ0E,CCgJrD,CDhJqD,CAAA,EAAA,OAAA,GAAA,CAAA,CAAA,UAAA,ECiJjG,UDjJiG,EAAA,EAAA,ECkJzG,eDlJyG,EAAA,IAAA,CAAA,ECmJtG,IDnJsG,EAAA,GCoJzG,gBDpJyG,CCoJxF,sBDpJwF,CCoJjE,CDpJiE,ECoJ9D,UDpJ8D,CAAA,CAAA;CAA1B"}
@@ -1,92 +0,0 @@
1
- import "../defaults-CLUQg2zK.js";
2
- import "../src-C74sq0jQ.js";
3
- import { t as ChimeraQueryBuilder } from "../qb-pchs-vdM.js";
4
- import { createContext, useContext, useEffect, useMemo, useRef, useState } from "react";
5
-
6
- //#region packages/adapters/react/context.tsx
7
- const ChimeraStoreContext = createContext(null);
8
- const ChimeraStoreProvider = ({ children, store }) => <ChimeraStoreContext.Provider value={useMemo(() => ({ store }), [store])}>{children}</ChimeraStoreContext.Provider>;
9
-
10
- //#endregion
11
- //#region packages/adapters/react/hooks.ts
12
- function useChimeraStore() {
13
- const context = useContext(ChimeraStoreContext);
14
- if (!context) throw new Error("useChimeraStore must be used within a ChimeraStoreProvider");
15
- return context.store;
16
- }
17
- function useChimeraRepository(entityName) {
18
- return useChimeraStore().from(entityName);
19
- }
20
- const CHIMERA_COLLECTION_UPDATE_EVENTS = [
21
- "ready",
22
- "updated",
23
- "selfUpdated",
24
- "selfItemCreated",
25
- "itemAdded",
26
- "itemUpdated",
27
- "selfItemUpdated",
28
- "itemDeleted",
29
- "selfItemDeleted",
30
- "error"
31
- ];
32
- const useChimeraCollection = (entityName, params, deps) => {
33
- const [, trigger] = useState(() => ({}));
34
- const repository = useChimeraRepository(entityName);
35
- const oldDeps = useRef(deps);
36
- if (oldDeps.current && !deps || !oldDeps.current && deps) console.warn("useChimeraCollection deps is not a reactive param!\nUse deps if you want to control dependencies manually.\nOmit it if you already have a stable reference to params");
37
- oldDeps.current = deps;
38
- const memeParams = useMemo(() => {
39
- if (typeof params !== "function") return params;
40
- const q = new ChimeraQueryBuilder();
41
- params(q);
42
- return q.build();
43
- }, deps ? deps : [params]);
44
- const collection = useMemo(() => repository.getCollection(memeParams), [repository, memeParams]);
45
- useEffect(() => {
46
- const handler = () => trigger({});
47
- for (const event of CHIMERA_COLLECTION_UPDATE_EVENTS) collection.on(event, handler);
48
- return () => {
49
- for (const event of CHIMERA_COLLECTION_UPDATE_EVENTS) collection.off(event, handler);
50
- };
51
- }, [collection]);
52
- return collection;
53
- };
54
- const CHIMERA_ITEM_UPDATE_EVENTS = [
55
- "initialized",
56
- "selfCreated",
57
- "ready",
58
- "updated",
59
- "selfUpdated",
60
- "deleted",
61
- "selfDeleted",
62
- "error"
63
- ];
64
- const useChimeraItem = (entityName, id, meta) => {
65
- const [, trigger] = useState(() => ({}));
66
- const item = useChimeraRepository(entityName).getItem(id, meta);
67
- useEffect(() => {
68
- const handler = () => trigger({});
69
- for (const event of CHIMERA_ITEM_UPDATE_EVENTS) item.on(event, handler);
70
- return () => {
71
- for (const event of CHIMERA_ITEM_UPDATE_EVENTS) item.off(event, handler);
72
- };
73
- }, [item]);
74
- return item;
75
- };
76
- function getChimeraTypedHooks(withoutPrefix) {
77
- return withoutPrefix ? {
78
- useCollection: useChimeraCollection,
79
- useItem: useChimeraItem,
80
- useRepository: useChimeraRepository,
81
- useStore: useChimeraStore
82
- } : {
83
- useChimeraCollection,
84
- useChimeraItem,
85
- useChimeraRepository,
86
- useChimeraStore
87
- };
88
- }
89
-
90
- //#endregion
91
- export { ChimeraStoreContext, ChimeraStoreProvider, getChimeraTypedHooks, useChimeraCollection, useChimeraItem, useChimeraRepository, useChimeraStore };
92
- //# sourceMappingURL=react.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.js","names":[],"sources":["../../packages/adapters/react/context.tsx","../../packages/adapters/react/hooks.ts"],"sourcesContent":["import { createContext, type ReactNode, useMemo } from \"react\";\nimport type { AnyChimeraStore } from \"../../../src/store\";\n\nexport interface ChimeraStoreContextValue<T extends AnyChimeraStore> {\n\tstore: T;\n}\n\nexport interface ChimeraStoreProviderProps<T extends AnyChimeraStore> {\n\tchildren: ReactNode;\n\tstore: T;\n}\n\nexport const ChimeraStoreContext = createContext<ChimeraStoreContextValue<AnyChimeraStore> | null>(null);\n\nexport const ChimeraStoreProvider = <T extends AnyChimeraStore>({ children, store }: ChimeraStoreProviderProps<T>) => (\n\t<ChimeraStoreContext.Provider value={useMemo(() => ({ store }), [store])}>{children}</ChimeraStoreContext.Provider>\n);\n","import { useContext, useEffect, useMemo, useRef, useState } from \"react\";\nimport type { ChimeraCollectionQuery } from \"../../../src/query/ChimeraCollectionQuery\";\nimport type { ChimeraItemQuery } from \"../../../src/query/ChimeraItemQuery\";\nimport type { ChimeraEntityId } from \"../../../src/shared/types\";\nimport type { ChimeraEntityRepository } from \"../../../src/store/ChimeraEntityRepository\";\nimport type {\n\tAnyChimeraStore,\n\tChimeraStoreEntities,\n\tChimeraStoreEntityType,\n\tChimeraStoreOperatorMap,\n} from \"../../../src/store/ChimeraStore\";\nimport type { ChimeraCollectionParams } from \"../../../src/store/types\";\nimport { ChimeraQueryBuilder, type QueryBuilderCreator } from \"../../qb\";\nimport { ChimeraStoreContext } from \"./context\";\n\nexport function useChimeraStore<T extends AnyChimeraStore>(): T {\n\tconst context = useContext(ChimeraStoreContext);\n\tif (!context) {\n\t\tthrow new Error(\"useChimeraStore must be used within a ChimeraStoreProvider\");\n\t}\n\treturn context.store as T;\n}\n\nexport function useChimeraRepository<T extends AnyChimeraStore, EntityName extends ChimeraStoreEntities<T>>(\n\tentityName: EntityName,\n): ChimeraEntityRepository<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>> {\n\tconst store = useChimeraStore<T>();\n\treturn store.from(entityName);\n}\n\nconst CHIMERA_COLLECTION_UPDATE_EVENTS = [\n\t\"ready\",\n\t\"updated\",\n\t\"selfUpdated\",\n\t\"selfItemCreated\",\n\t\"itemAdded\",\n\t\"itemUpdated\",\n\t\"selfItemUpdated\",\n\t\"itemDeleted\",\n\t\"selfItemDeleted\",\n\t\"error\",\n] as const;\nexport const useChimeraCollection = <T extends AnyChimeraStore, EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\tentityName: EntityName,\n\tparams:\n\t\t| ChimeraCollectionParams<ChimeraStoreOperatorMap<T>, ChimeraStoreEntityType<T, EntityName>, Meta>\n\t\t| QueryBuilderCreator<T, ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>,\n\tdeps?: unknown[],\n): ChimeraCollectionQuery<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>> => {\n\tconst [, trigger] = useState(() => ({}));\n\n\tconst repository = useChimeraRepository<T, EntityName>(entityName);\n\n\tconst oldDeps = useRef(deps);\n\tif ((oldDeps.current && !deps) || (!oldDeps.current && deps)) {\n\t\tconsole.warn(\n\t\t\t\"useChimeraCollection deps is not a reactive param!\\n\" +\n\t\t\t\t\"Use deps if you want to control dependencies manually.\\n\" +\n\t\t\t\t\"Omit it if you already have a stable reference to params\",\n\t\t);\n\t}\n\toldDeps.current = deps;\n\n\tconst memeParams = useMemo(\n\t\t() => {\n\t\t\tif (typeof params !== \"function\") return params;\n\n\t\t\tconst q = new ChimeraQueryBuilder();\n\t\t\tparams(q);\n\t\t\treturn q.build();\n\t\t},\n\t\t// biome-ignore lint/correctness/useExhaustiveDependencies: Very unlikely it will be changed over time, anyway warning for this already added.\n\t\tdeps ? deps : [params],\n\t);\n\tconst collection = useMemo(() => repository.getCollection(memeParams), [repository, memeParams]);\n\n\tuseEffect(() => {\n\t\tconst handler = () => trigger({});\n\t\tfor (const event of CHIMERA_COLLECTION_UPDATE_EVENTS) {\n\t\t\tcollection.on(event, handler);\n\t\t}\n\t\treturn () => {\n\t\t\tfor (const event of CHIMERA_COLLECTION_UPDATE_EVENTS) {\n\t\t\t\tcollection.off(event, handler);\n\t\t\t}\n\t\t};\n\t}, [collection]);\n\n\treturn collection;\n};\n\nconst CHIMERA_ITEM_UPDATE_EVENTS = [\n\t\"initialized\",\n\t\"selfCreated\",\n\t\"ready\",\n\t\"updated\",\n\t\"selfUpdated\",\n\t\"deleted\",\n\t\"selfDeleted\",\n\t\"error\",\n] as const;\nexport const useChimeraItem = <T extends AnyChimeraStore, EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\tentityName: EntityName,\n\tid: ChimeraEntityId,\n\tmeta?: Meta,\n): ChimeraItemQuery<ChimeraStoreEntityType<T, EntityName>> => {\n\tconst [, trigger] = useState(() => ({}));\n\n\tconst repository = useChimeraRepository<T, EntityName>(entityName);\n\tconst item = repository.getItem(id, meta);\n\n\tuseEffect(() => {\n\t\tconst handler = () => trigger({});\n\t\tfor (const event of CHIMERA_ITEM_UPDATE_EVENTS) {\n\t\t\titem.on(event, handler);\n\t\t}\n\t\treturn () => {\n\t\t\tfor (const event of CHIMERA_ITEM_UPDATE_EVENTS) {\n\t\t\t\titem.off(event, handler);\n\t\t\t}\n\t\t};\n\t}, [item]);\n\n\treturn item;\n};\n\nexport function getChimeraTypedHooks<T extends AnyChimeraStore>(\n\twithoutPrefix: true,\n): {\n\tuseStore: () => T;\n\tuseRepository: <EntityName extends ChimeraStoreEntities<T>>(\n\t\tentityName: EntityName,\n\t) => ChimeraEntityRepository<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;\n\tuseCollection: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\t\tentityName: EntityName,\n\t\tparams: ChimeraCollectionParams<ChimeraStoreOperatorMap<T>, ChimeraStoreEntityType<T, EntityName>, Meta>,\n\t\tdeps?: unknown[],\n\t) => ChimeraCollectionQuery<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;\n\tuseItem: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\t\tentityName: EntityName,\n\t\tid: ChimeraEntityId,\n\t\tmeta?: Meta,\n\t) => ChimeraItemQuery<ChimeraStoreEntityType<T, EntityName>>;\n};\nexport function getChimeraTypedHooks<T extends AnyChimeraStore>(\n\twithoutPrefix?: false,\n): {\n\tuseChimeraStore: () => T;\n\tuseChimeraRepository: <EntityName extends ChimeraStoreEntities<T>>(\n\t\tentityName: EntityName,\n\t) => ChimeraEntityRepository<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;\n\tuseChimeraCollection: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\t\tentityName: EntityName,\n\t\tparams:\n\t\t\t| ChimeraCollectionParams<ChimeraStoreOperatorMap<T>, ChimeraStoreEntityType<T, EntityName>, Meta>\n\t\t\t| QueryBuilderCreator<T, ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>,\n\t\tdeps?: unknown[],\n\t) => ChimeraCollectionQuery<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;\n\tuseChimeraItem: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\t\tentityName: EntityName,\n\t\tid: ChimeraEntityId,\n\t\tmeta?: Meta,\n\t) => ChimeraItemQuery<ChimeraStoreEntityType<T, EntityName>>;\n};\nexport function getChimeraTypedHooks<T extends AnyChimeraStore>(\n\twithoutPrefix?: boolean,\n):\n\t| {\n\t\t\tuseChimeraStore: () => T;\n\t\t\tuseChimeraRepository: <EntityName extends ChimeraStoreEntities<T>>(\n\t\t\t\tentityName: EntityName,\n\t\t\t) => ChimeraEntityRepository<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;\n\t\t\tuseChimeraCollection: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\t\t\t\tentityName: EntityName,\n\t\t\t\tparams: ChimeraCollectionParams<ChimeraStoreOperatorMap<T>, ChimeraStoreEntityType<T, EntityName>, Meta>,\n\t\t\t\tdeps?: unknown[],\n\t\t\t) => ChimeraCollectionQuery<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;\n\t\t\tuseChimeraItem: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\t\t\t\tentityName: EntityName,\n\t\t\t\tid: ChimeraEntityId,\n\t\t\t\tmeta?: Meta,\n\t\t\t) => ChimeraItemQuery<ChimeraStoreEntityType<T, EntityName>>;\n\t }\n\t| {\n\t\t\tuseStore: () => T;\n\t\t\tuseRepository: <EntityName extends ChimeraStoreEntities<T>>(\n\t\t\t\tentityName: EntityName,\n\t\t\t) => ChimeraEntityRepository<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;\n\t\t\tuseCollection: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\t\t\t\tentityName: EntityName,\n\t\t\t\tparams: ChimeraCollectionParams<ChimeraStoreOperatorMap<T>, ChimeraStoreEntityType<T, EntityName>, Meta>,\n\t\t\t\tdeps?: unknown[],\n\t\t\t) => ChimeraCollectionQuery<ChimeraStoreEntityType<T, EntityName>, ChimeraStoreOperatorMap<T>>;\n\t\t\tuseItem: <EntityName extends ChimeraStoreEntities<T>, Meta = any>(\n\t\t\t\tentityName: EntityName,\n\t\t\t\tid: ChimeraEntityId,\n\t\t\t\tmeta?: Meta,\n\t\t\t) => ChimeraItemQuery<ChimeraStoreEntityType<T, EntityName>>;\n\t } {\n\treturn (\n\t\twithoutPrefix\n\t\t\t? {\n\t\t\t\t\tuseCollection: useChimeraCollection,\n\t\t\t\t\tuseItem: useChimeraItem,\n\t\t\t\t\tuseRepository: useChimeraRepository,\n\t\t\t\t\tuseStore: useChimeraStore,\n\t\t\t\t}\n\t\t\t: {\n\t\t\t\t\tuseChimeraCollection,\n\t\t\t\t\tuseChimeraItem,\n\t\t\t\t\tuseChimeraRepository,\n\t\t\t\t\tuseChimeraStore,\n\t\t\t\t}\n\t) as ReturnType<typeof getChimeraTypedHooks<T>>;\n}\n"],"mappings":";;;;;;AAYA,MAAa,sBAAsB,cAAgE,KAAK;AAExG,MAAa,wBAAmD,EAAE,UAAU,YAC3E,CAAC,oBAAoB,SAAS,OAAO,eAAe,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,EAAE,oBAAoB;;;;ACA3G,SAAgB,kBAAgD;CAC/D,MAAM,UAAU,WAAW,oBAAoB;AAC/C,KAAI,CAAC,QACJ,OAAM,IAAI,MAAM,6DAA6D;AAE9E,QAAO,QAAQ;;AAGhB,SAAgB,qBACf,YAC6F;AAE7F,QADc,iBAAoB,CACrB,KAAK,WAAW;;AAG9B,MAAM,mCAAmC;CACxC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACD,MAAa,wBACZ,YACA,QAGA,SAC+F;CAC/F,MAAM,GAAG,WAAW,gBAAgB,EAAE,EAAE;CAExC,MAAM,aAAa,qBAAoC,WAAW;CAElE,MAAM,UAAU,OAAO,KAAK;AAC5B,KAAK,QAAQ,WAAW,CAAC,QAAU,CAAC,QAAQ,WAAW,KACtD,SAAQ,KACP,uKAGA;AAEF,SAAQ,UAAU;CAElB,MAAM,aAAa,cACZ;AACL,MAAI,OAAO,WAAW,WAAY,QAAO;EAEzC,MAAM,IAAI,IAAI,qBAAqB;AACnC,SAAO,EAAE;AACT,SAAO,EAAE,OAAO;IAGjB,OAAO,OAAO,CAAC,OAAO,CACtB;CACD,MAAM,aAAa,cAAc,WAAW,cAAc,WAAW,EAAE,CAAC,YAAY,WAAW,CAAC;AAEhG,iBAAgB;EACf,MAAM,gBAAgB,QAAQ,EAAE,CAAC;AACjC,OAAK,MAAM,SAAS,iCACnB,YAAW,GAAG,OAAO,QAAQ;AAE9B,eAAa;AACZ,QAAK,MAAM,SAAS,iCACnB,YAAW,IAAI,OAAO,QAAQ;;IAG9B,CAAC,WAAW,CAAC;AAEhB,QAAO;;AAGR,MAAM,6BAA6B;CAClC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACD,MAAa,kBACZ,YACA,IACA,SAC6D;CAC7D,MAAM,GAAG,WAAW,gBAAgB,EAAE,EAAE;CAGxC,MAAM,OADa,qBAAoC,WAAW,CAC1C,QAAQ,IAAI,KAAK;AAEzC,iBAAgB;EACf,MAAM,gBAAgB,QAAQ,EAAE,CAAC;AACjC,OAAK,MAAM,SAAS,2BACnB,MAAK,GAAG,OAAO,QAAQ;AAExB,eAAa;AACZ,QAAK,MAAM,SAAS,2BACnB,MAAK,IAAI,OAAO,QAAQ;;IAGxB,CAAC,KAAK,CAAC;AAEV,QAAO;;AAyCR,SAAgB,qBACf,eAiCI;AACJ,QACC,gBACG;EACA,eAAe;EACf,SAAS;EACT,eAAe;EACf,UAAU;EACV,GACA;EACA;EACA;EACA;EACA;EACA"}