@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
@@ -1,821 +0,0 @@
1
- //#region src/shared/types.d.ts
2
- type KeysOfType<Obj, Type> = { [K in keyof Obj]: Obj[K] extends Type ? K : never }[keyof Obj];
3
- type StrKeys<T> = keyof T & string & {};
4
- type DeepPartial<T> = T extends object ? { [P in keyof T]?: DeepPartial<T[P]> } : T;
5
- type ChimeraEntityId = string | number;
6
- type ChimeraEntityMap = Record<string, object>;
7
- type ChimeraEntityGetter<Entity, Return = unknown> = (entity: Entity) => Return;
8
- type ChimeraPropertyGetter<Entity, Type = unknown, Return = unknown> = {
9
- get: ChimeraEntityGetter<Entity, Return> | KeysOfType<Entity, Type>;
10
- key: string;
11
- };
12
- type ChimeraIdGetterFunc<Entity> = ChimeraEntityGetter<Entity, ChimeraEntityId>;
13
- type ChimeraMutationRequester<Entity> = (entity: Entity, cb: (item: Entity) => void) => void;
14
- //#endregion
15
- //#region src/filter/constants.d.ts
16
- declare const ChimeraOperatorSymbol: unique symbol;
17
- declare const ChimeraConjunctionSymbol: unique symbol;
18
- //#endregion
19
- //#region src/filter/types.d.ts
20
- type ChimeraFilterChecker<Entity> = (item: Entity) => boolean;
21
- type ChimeraConjunctionType = "and" | "or" | "not";
22
- type ChimeraOperatorFunction = (itemValue: any, testValue: any) => boolean;
23
- type ChimeraOperatorMap = Record<string, ChimeraOperatorFunction>;
24
- type ChimeraFilterOperatorDescriptor<OperatorsMap extends ChimeraOperatorMap, Entity, Op extends keyof OperatorsMap & string = keyof OperatorsMap & string> = { [K in Op]: {
25
- type: typeof ChimeraOperatorSymbol;
26
- op: K;
27
- value: ChimeraPropertyGetter<Entity, Parameters<OperatorsMap[K]>[0]>;
28
- test: Parameters<OperatorsMap[K]>[1];
29
- } }[Op];
30
- type ChimeraConjunctionOperationDescriptor<OperatorsMap extends ChimeraOperatorMap, Entity> = ChimeraFilterOperatorDescriptor<OperatorsMap, Entity> | ChimeraConjunctionDescriptor<OperatorsMap, Entity>;
31
- type ChimeraConjunctionDescriptor<OperatorsMap extends ChimeraOperatorMap, Entity, Conj extends ChimeraConjunctionType = ChimeraConjunctionType> = { [K in Conj]: {
32
- type: typeof ChimeraConjunctionSymbol;
33
- kind: K;
34
- operations: ChimeraConjunctionOperationDescriptor<OperatorsMap, Entity>[];
35
- } }[Conj];
36
- type ChimeraFilterDescriptor<OperatorsMap extends ChimeraOperatorMap, Entity> = ChimeraConjunctionDescriptor<OperatorsMap, Entity>;
37
- type ChimeraSimplifiedOperator<OperatorsMap extends ChimeraOperatorMap, Keys extends string = string, Op extends keyof OperatorsMap & string = keyof OperatorsMap & string> = { [K in Op]: {
38
- type: typeof ChimeraOperatorSymbol;
39
- op: K;
40
- key: Keys | string;
41
- test: Parameters<OperatorsMap[K]>[1];
42
- } }[Op];
43
- type ChimeraSimplifiedConjunctionOperation<OperatorsMap extends ChimeraOperatorMap, Keys extends string = string> = ChimeraSimplifiedOperator<OperatorsMap, Keys> | SimplifiedConjunction<OperatorsMap, Keys>;
44
- type SimplifiedConjunction<OperatorsMap extends ChimeraOperatorMap, Keys extends string = string, Conj extends ChimeraConjunctionType = ChimeraConjunctionType> = { [K in Conj]: {
45
- type: typeof ChimeraConjunctionSymbol;
46
- kind: K;
47
- operations: ChimeraSimplifiedConjunctionOperation<OperatorsMap, Keys>[];
48
- } }[Conj];
49
- type ChimeraSimplifiedFilter<OperatorsMap extends ChimeraOperatorMap, Keys extends string = string> = SimplifiedConjunction<OperatorsMap, Keys> | null;
50
- type ChimeraKeyFromFilterGetter = <OperatorsMap extends ChimeraOperatorMap>(filter: ChimeraSimplifiedFilter<OperatorsMap> | null) => string;
51
- type ChimeraKeyFromOperatorGetter = <OperatorsMap extends ChimeraOperatorMap>(operator: ChimeraSimplifiedOperator<OperatorsMap> | null) => string;
52
- type ChimeraFilterConfig<OperatorsMap extends ChimeraOperatorMap> = {
53
- operators: OperatorsMap;
54
- getFilterKey?: ChimeraKeyFromFilterGetter;
55
- getOperatorKey?: ChimeraKeyFromOperatorGetter;
56
- };
57
- //#endregion
58
- //#region src/filter/defaults.d.ts
59
- declare const getKeyFromOperation: ChimeraKeyFromOperatorGetter;
60
- declare const chimeraDefaultGetKeyFromFilter: ChimeraKeyFromFilterGetter;
61
- declare const chimeraDefaultFilterOperators: {
62
- contains: <I extends string | unknown[], T extends (I extends never[] ? unknown : I extends unknown[] ? I[number] | I : I extends string ? string : never)>(a: I, b: T) => boolean;
63
- endsWith: (a: string, b: string) => boolean;
64
- startsWith: (a: string, b: string) => boolean;
65
- eq: <T>(a: T, b: T) => boolean;
66
- gt: (a: any, b: any) => boolean;
67
- gte: (a: any, b: any) => boolean;
68
- in: <I, T extends (I extends never[] ? unknown[] : I extends unknown[] ? I : I[])>(a: I, b: T) => boolean;
69
- lt: (a: any, b: any) => boolean;
70
- lte: (a: any, b: any) => boolean;
71
- neq: <T>(a: T, b: T) => boolean;
72
- notIn: (a: any, b: any) => boolean;
73
- };
74
- declare const chimeraDefaultFilterConfig: {
75
- getFilterKey: ChimeraKeyFromFilterGetter;
76
- getOperatorKey: ChimeraKeyFromOperatorGetter;
77
- operators: {
78
- contains: <I extends string | unknown[], T extends (I extends never[] ? unknown : I extends unknown[] ? I[number] | I : I extends string ? string : never)>(a: I, b: T) => boolean;
79
- endsWith: (a: string, b: string) => boolean;
80
- startsWith: (a: string, b: string) => boolean;
81
- eq: <T>(a: T, b: T) => boolean;
82
- gt: (a: any, b: any) => boolean;
83
- gte: (a: any, b: any) => boolean;
84
- in: <I, T extends (I extends never[] ? unknown[] : I extends unknown[] ? I : I[])>(a: I, b: T) => boolean;
85
- lt: (a: any, b: any) => boolean;
86
- lte: (a: any, b: any) => boolean;
87
- neq: <T>(a: T, b: T) => boolean;
88
- notIn: (a: any, b: any) => boolean;
89
- };
90
- };
91
- //#endregion
92
- //#region src/shared/ChimeraEventEmitter/ChimeraEventEmitter.d.ts
93
- type ValidEventTypes = string | object;
94
- type EventNames<T extends ValidEventTypes> = T extends string ? T : keyof T;
95
- type ArgumentMap<T extends object> = { [K in keyof T]: T[K] extends ((...args: any[]) => void) ? Parameters<T[K]>[0] : T[K] extends any[] ? T[K][0] : T[K] };
96
- type EventListener<T extends ValidEventTypes, K$1 extends EventNames<T>> = T extends string ? (arg: any) => void : (arg: ArgumentMap<Exclude<T, string | symbol>>[Extract<K$1, keyof T>]) => void;
97
- type EventArgs<T extends ValidEventTypes, K$1 extends EventNames<T>> = Parameters<EventListener<T, K$1>>[0];
98
- type EventRecord<T extends ValidEventTypes, K$1 extends EventNames<T>> = {
99
- fn: EventListener<T, K$1>;
100
- once: boolean;
101
- };
102
- type EventRecordMap<T extends ValidEventTypes> = { [K in EventNames<T>]?: EventRecord<T, K> | EventRecord<T, K>[] };
103
- declare class ChimeraEventEmitter<EventTypes extends ValidEventTypes = string> {
104
- #private;
105
- _events: EventRecordMap<EventTypes>;
106
- _eventsCount: number;
107
- constructor();
108
- eventNames(): EventNames<EventTypes>[];
109
- listeners<T extends EventNames<EventTypes>>(event: T): EventListener<EventTypes, T>[];
110
- listenerCount(event: EventNames<EventTypes>): number;
111
- removeListener<T extends EventNames<EventTypes>>(event: T, fn?: EventListener<EventTypes, T>, once?: boolean): this;
112
- emit<T extends EventNames<EventTypes>>(event: T, arg?: EventArgs<EventTypes, T>): boolean;
113
- on<T extends EventNames<EventTypes>>(event: T, fn: EventListener<EventTypes, T>): this;
114
- once<T extends EventNames<EventTypes>>(event: T, fn: EventListener<EventTypes, T>): this;
115
- removeAllListeners(event?: EventNames<EventTypes>): this;
116
- off: <T extends EventNames<EventTypes>>(event: T, fn?: EventListener<EventTypes, T>, once?: boolean) => this;
117
- addListener: <T extends EventNames<EventTypes>>(event: T, fn: EventListener<EventTypes, T>) => this;
118
- }
119
- //#endregion
120
- //#region src/order/types.d.ts
121
- declare enum ChimeraOrderNulls {
122
- First = "first",
123
- Last = "last",
124
- }
125
- type ChimeraOrderDescriptor<Entity> = {
126
- key: ChimeraPropertyGetter<Entity>;
127
- desc: boolean;
128
- nulls: ChimeraOrderNulls;
129
- };
130
- type ChimeraOrderPriority<Entity> = ChimeraOrderDescriptor<Entity>[];
131
- type ChimeraOrderByComparator<Entity> = (a: Entity, b: Entity) => number;
132
- type ChimeraPrimitiveComparator = (a: unknown, b: unknown) => number;
133
- type ChimeraSimplifiedOrderDescriptor<Keys extends string = string> = {
134
- field: Keys | string;
135
- desc: boolean;
136
- nulls: ChimeraOrderNulls;
137
- };
138
- type ChimeraKeyFromOrderGetter = (order: ChimeraSimplifiedOrderDescriptor[] | null) => string;
139
- type ChimeraOrderConfig = {
140
- primitiveComparator?: ChimeraPrimitiveComparator;
141
- getKey?: ChimeraKeyFromOrderGetter;
142
- };
143
- //#endregion
144
- //#region src/query/types.d.ts
145
- declare enum ChimeraQueryFetchingState {
146
- /** Query just initialized. */
147
- Initialized = "initialized",
148
- /** Not used yet. */
149
- Scheduled = "scheduled",
150
- /** Fetching in progress. */
151
- Fetching = "fetching",
152
- /** Creating in progress */
153
- Creating = "creating",
154
- /** Updating in progress. */
155
- Updating = "updating",
156
- /** Deleting in progress. */
157
- Deleting = "deleting",
158
- /** Fetch requested after reaching the Fetched, Errored, or Prefetched states. */
159
- Refetching = "refetching",
160
- /** Data retrieved from existing queries without initiating a fetch. */
161
- Prefetched = "prefetched",
162
- /** Fetch ended successfully; data is ready for use. */
163
- Fetched = "fetched",
164
- /** Fetch ended with an error; no data is available. */
165
- Errored = "errored",
166
- /** Refetch ended with an error, but old data is still available. */
167
- ReErrored = "reErrored",
168
- /**
169
- * Only for the item query, data is deleted, but the local value is still present,
170
- * no longer allows updates, but `refetch` still works (in case of strange errors, allows recovering state)
171
- */
172
- Deleted = "deleted",
173
- /** Only for the item query, data was actualized from an external event */
174
- Actualized = "actualized",
175
- }
176
- interface ChimeraQueryFetchingStatable {
177
- get state(): ChimeraQueryFetchingState;
178
- get inProgress(): boolean;
179
- get ready(): boolean;
180
- }
181
- /**
182
- * Id getter types
183
- */
184
- type ChimeraQueryEntityIdGetter<Entity> = keyof Entity | ChimeraIdGetterFunc<Entity>;
185
- type ChimeraQueryDefaultEntityIdGetterFunction<EntityMap extends ChimeraEntityMap> = <EntityName extends StrKeys<EntityMap>>(name: EntityName, newEntity: EntityMap[EntityName]) => ChimeraEntityId;
186
- type ChimeraQueryDefaultEntityIdGetter<EntityMap extends ChimeraEntityMap> = keyof EntityMap[keyof EntityMap] | ChimeraQueryDefaultEntityIdGetterFunction<EntityMap>;
187
- /**
188
- * Response types
189
- */
190
- type ChimeraQueryCollectionFetcherResponse<Entity, Meta = any> = {
191
- data: Entity[];
192
- meta?: Meta;
193
- };
194
- type ChimeraQueryItemFetcherResponse<Entity, Meta = any> = {
195
- data: Entity;
196
- meta?: Meta;
197
- };
198
- type ChimeraQueryDeletionResult<Success extends boolean = boolean> = {
199
- id: ChimeraEntityId;
200
- success: Success;
201
- };
202
- type ChimeraQueryItemDeleteResponse<Meta = any> = {
203
- result: ChimeraQueryDeletionResult;
204
- meta?: Meta;
205
- };
206
- type ChimeraQueryBatchedDeleteResponse<Meta = any> = {
207
- result: ChimeraQueryDeletionResult[];
208
- meta?: Meta;
209
- };
210
- /**
211
- * Fetcher types
212
- */
213
- type ChimeraQueryEntityFetcherRequestParams = {
214
- signal: AbortSignal;
215
- };
216
- type ChimeraQueryEntityCollectionFetcherParams<Entity, OperatorsMap extends ChimeraOperatorMap, Meta = any> = {
217
- order: ChimeraSimplifiedOrderDescriptor<keyof Entity & string>[] | null;
218
- filter: ChimeraSimplifiedFilter<OperatorsMap, keyof Entity & string> | null;
219
- meta: Meta;
220
- };
221
- type ChimeraQueryEntityItemFetcherParams<Entity, Meta = any> = {
222
- id: ChimeraEntityId;
223
- meta: Meta;
224
- };
225
- type ChimeraQueryEntityCollectionFetcher<Entity, OperatorsMap extends ChimeraOperatorMap, Meta = any> = (params: ChimeraQueryEntityCollectionFetcherParams<Entity, OperatorsMap, Meta>, requestParams: ChimeraQueryEntityFetcherRequestParams) => Promise<ChimeraQueryCollectionFetcherResponse<Entity>>;
226
- type ChimeraQueryEntityItemFetcher<Entity> = (params: ChimeraQueryEntityItemFetcherParams<Entity>, requestParams: ChimeraQueryEntityFetcherRequestParams) => Promise<ChimeraQueryItemFetcherResponse<Entity>>;
227
- type ChimeraQueryDefaultCollectionFetcher<EntityMap extends ChimeraEntityMap, OperatorsMap extends ChimeraOperatorMap> = <EntityName extends StrKeys<EntityMap>>(entityName: EntityName, params: ChimeraQueryEntityCollectionFetcherParams<EntityMap[EntityName], OperatorsMap>, requestParams: ChimeraQueryEntityFetcherRequestParams) => Promise<ChimeraQueryCollectionFetcherResponse<EntityMap[EntityName]>>;
228
- type ChimeraQueryDefaultItemFetcher<EntityMap extends ChimeraEntityMap> = <EntityName extends StrKeys<EntityMap>>(entityName: EntityName, params: ChimeraQueryEntityItemFetcherParams<EntityMap[EntityName]>, requestParams: ChimeraQueryEntityFetcherRequestParams) => Promise<ChimeraQueryItemFetcherResponse<EntityMap[EntityName]>>;
229
- /**
230
- * Updater types
231
- */
232
- type ChimeraQueryEntityItemUpdater<Entity> = (updatedEntity: Entity, requestParams: ChimeraQueryEntityFetcherRequestParams) => Promise<ChimeraQueryItemFetcherResponse<Entity>>;
233
- type ChimeraQueryEntityBatchedUpdater<Entity> = (updatedEntities: Entity[], requestParams: ChimeraQueryEntityFetcherRequestParams) => Promise<ChimeraQueryCollectionFetcherResponse<Entity>>;
234
- type ChimeraQueryDefaultItemUpdater<EntityMap extends ChimeraEntityMap> = <EntityName extends StrKeys<EntityMap>>(entityName: EntityName, updatedEntity: EntityMap[EntityName], requestParams: ChimeraQueryEntityFetcherRequestParams) => Promise<ChimeraQueryItemFetcherResponse<EntityMap[EntityName]>>;
235
- type ChimeraQueryDefaultBatchedUpdater<EntityMap extends ChimeraEntityMap> = <EntityName extends StrKeys<EntityMap>>(entityName: EntityName, updatedEntities: EntityMap[EntityName][], requestParams: ChimeraQueryEntityFetcherRequestParams) => Promise<ChimeraQueryCollectionFetcherResponse<EntityMap[EntityName]>>;
236
- /**
237
- * Deleter types
238
- */
239
- type ChimeraQueryEntityItemDeleter = (deleteId: ChimeraEntityId, requestParams: ChimeraQueryEntityFetcherRequestParams) => Promise<ChimeraQueryItemDeleteResponse>;
240
- type ChimeraQueryEntityBatchedDeleter = (deletedIds: ChimeraEntityId[], requestParams: ChimeraQueryEntityFetcherRequestParams) => Promise<ChimeraQueryBatchedDeleteResponse>;
241
- type ChimeraQueryDefaultItemDeleter<EntityMap extends ChimeraEntityMap> = <EntityName extends StrKeys<EntityMap>>(entityName: EntityName, deleteId: ChimeraEntityId, requestParams: ChimeraQueryEntityFetcherRequestParams) => Promise<ChimeraQueryItemDeleteResponse>;
242
- type ChimeraQueryDefaultBatchedDeleter<EntityMap extends ChimeraEntityMap> = <EntityName extends StrKeys<EntityMap>>(entityName: EntityName, deletedIds: ChimeraEntityId[], requestParams: ChimeraQueryEntityFetcherRequestParams) => Promise<ChimeraQueryBatchedDeleteResponse>;
243
- /**
244
- * Creator type
245
- */
246
- type ChimeraQueryEntityItemCreator<Entity> = (item: DeepPartial<Entity>, requestParams: ChimeraQueryEntityFetcherRequestParams) => Promise<ChimeraQueryItemFetcherResponse<Entity>>;
247
- type ChimeraQueryEntityBatchedCreator<Entity> = (items: DeepPartial<Entity>[], requestParams: ChimeraQueryEntityFetcherRequestParams) => Promise<ChimeraQueryCollectionFetcherResponse<Entity>>;
248
- type ChimeraQueryDefaultItemCreator<EntityMap extends ChimeraEntityMap> = <EntityName extends StrKeys<EntityMap>>(entityName: EntityName, item: DeepPartial<EntityMap[EntityName]>, requestParams: ChimeraQueryEntityFetcherRequestParams) => Promise<ChimeraQueryItemFetcherResponse<EntityMap[EntityName]>>;
249
- type ChimeraQueryDefaultBatchedCreator<EntityMap extends ChimeraEntityMap> = <EntityName extends StrKeys<EntityMap>>(entityName: EntityName, items: DeepPartial<EntityMap[EntityName]>[], requestParams: ChimeraQueryEntityFetcherRequestParams) => Promise<ChimeraQueryCollectionFetcherResponse<EntityMap[EntityName]>>;
250
- /**
251
- * Config types
252
- */
253
- type QueryEntityConfig<Entity extends object, OperatorsMap extends ChimeraOperatorMap> = {
254
- name: string;
255
- devMode: boolean;
256
- trustQuery: boolean;
257
- updateDebounceTimeout: number;
258
- idGetter: ChimeraIdGetterFunc<Entity>;
259
- collectionFetcher: ChimeraQueryEntityCollectionFetcher<Entity, OperatorsMap>;
260
- itemFetcher: ChimeraQueryEntityItemFetcher<Entity>;
261
- itemUpdater: ChimeraQueryEntityItemUpdater<Entity>;
262
- batchedUpdater: ChimeraQueryEntityBatchedUpdater<Entity>;
263
- itemDeleter: ChimeraQueryEntityItemDeleter;
264
- batchedDeleter: ChimeraQueryEntityBatchedDeleter;
265
- itemCreator: ChimeraQueryEntityItemCreator<Entity>;
266
- batchedCreator: ChimeraQueryEntityBatchedCreator<Entity>;
267
- };
268
- type ChimeraQueryEntityConfig<Entity, OperatorsMap extends ChimeraOperatorMap, Meta = any> = {
269
- trustQuery?: boolean;
270
- updateDebounceTimeout?: number;
271
- idGetter?: ChimeraQueryEntityIdGetter<Entity>;
272
- collectionFetcher?: ChimeraQueryEntityCollectionFetcher<Entity, OperatorsMap, Meta>;
273
- itemFetcher?: ChimeraQueryEntityItemFetcher<Entity>;
274
- itemUpdater?: ChimeraQueryEntityItemUpdater<Entity>;
275
- batchedUpdater?: ChimeraQueryEntityBatchedUpdater<Entity>;
276
- itemDeleter?: ChimeraQueryEntityItemDeleter;
277
- batchedDeleter?: ChimeraQueryEntityBatchedDeleter;
278
- itemCreator?: ChimeraQueryEntityItemCreator<Entity>;
279
- batchedCreator?: ChimeraQueryEntityBatchedCreator<Entity>;
280
- };
281
- type ChimeraQueryDefaultsConfig<EntityMap extends ChimeraEntityMap, OperatorsMap extends ChimeraOperatorMap> = {
282
- trustQuery?: boolean;
283
- updateDebounceTimeout?: number;
284
- idGetter?: ChimeraQueryDefaultEntityIdGetter<EntityMap>;
285
- collectionFetcher?: ChimeraQueryDefaultCollectionFetcher<EntityMap, OperatorsMap>;
286
- itemFetcher?: ChimeraQueryDefaultItemFetcher<EntityMap>;
287
- itemUpdater?: ChimeraQueryDefaultItemUpdater<EntityMap>;
288
- batchedUpdater?: ChimeraQueryDefaultBatchedUpdater<EntityMap>;
289
- itemDeleter?: ChimeraQueryDefaultItemDeleter<EntityMap>;
290
- batchedDeleter?: ChimeraQueryDefaultBatchedDeleter<EntityMap>;
291
- itemCreator?: ChimeraQueryDefaultItemCreator<EntityMap>;
292
- batchedCreator?: ChimeraQueryDefaultBatchedCreator<EntityMap>;
293
- };
294
- type ChimeraEntityConfigMap<EntityMap extends ChimeraEntityMap, OperatorsMap extends ChimeraOperatorMap> = { [K in keyof EntityMap]: ChimeraQueryEntityConfig<EntityMap[K], OperatorsMap> };
295
- type ChimeraQueryConfig<EntityMap extends ChimeraEntityMap, OperatorsMap extends ChimeraOperatorMap> = {
296
- defaults: ChimeraQueryDefaultsConfig<EntityMap, OperatorsMap>;
297
- entities: ChimeraEntityConfigMap<EntityMap, OperatorsMap>;
298
- };
299
- //#endregion
300
- //#region src/query/constants.d.ts
301
- declare const ChimeraGetParamsSym: unique symbol;
302
- declare const ChimeraSetOneSym: unique symbol;
303
- declare const ChimeraSetManySym: unique symbol;
304
- declare const ChimeraDeleteOneSym: unique symbol;
305
- declare const ChimeraDeleteManySym: unique symbol;
306
- declare const ChimeraUpdateMixedSym: unique symbol;
307
- //#endregion
308
- //#region src/query/ChimeraCollectionQuery.d.ts
309
- type ChimeraCollectionQueryEventMap<Item extends object, OperatorsMap extends ChimeraOperatorMap> = {
310
- /** Once the query is initialized */
311
- initialized: {
312
- instance: ChimeraCollectionQuery<Item, OperatorsMap>;
313
- };
314
- /** Once the query data is ready (will be followed by 'update') */
315
- ready: {
316
- instance: ChimeraCollectionQuery<Item, OperatorsMap>;
317
- };
318
- /** Each time the query was updated */
319
- updated: {
320
- instance: ChimeraCollectionQuery<Item, OperatorsMap>;
321
- items: Item[];
322
- oldItems: Item[] | null;
323
- };
324
- /** Each time the query was an initiator of update */
325
- selfUpdated: {
326
- instance: ChimeraCollectionQuery<Item, OperatorsMap>;
327
- items: Item[];
328
- oldItems: Item[] | null;
329
- };
330
- /** Each time item created */
331
- selfItemCreated: {
332
- instance: ChimeraCollectionQuery<Item, OperatorsMap>;
333
- item: Item;
334
- };
335
- /** Each time item added */
336
- itemAdded: {
337
- instance: ChimeraCollectionQuery<Item, OperatorsMap>;
338
- item: Item;
339
- };
340
- /** Each time item updated */
341
- itemUpdated: {
342
- instance: ChimeraCollectionQuery<Item, OperatorsMap>;
343
- oldItem: Item;
344
- newItem: Item;
345
- };
346
- /** Each time the query was an initiator of an item update */
347
- selfItemUpdated: {
348
- instance: ChimeraCollectionQuery<Item, OperatorsMap>;
349
- item: Item;
350
- };
351
- /** Each time item deleted */
352
- itemDeleted: {
353
- instance: ChimeraCollectionQuery<Item, OperatorsMap>;
354
- item: Item;
355
- };
356
- /** Each time the query was an initiator of item deletion */
357
- selfItemDeleted: {
358
- instance: ChimeraCollectionQuery<Item, OperatorsMap>;
359
- id: ChimeraEntityId;
360
- };
361
- /** Each time the fetcher produces an error */
362
- error: {
363
- instance: ChimeraCollectionQuery<Item, OperatorsMap>;
364
- error: unknown;
365
- };
366
- };
367
- declare class ChimeraCollectionQuery<Item extends object, OperatorsMap extends ChimeraOperatorMap> extends ChimeraEventEmitter<ChimeraCollectionQueryEventMap<Item, OperatorsMap>> implements ChimeraQueryFetchingStatable {
368
- #private;
369
- emit(): never;
370
- constructor(config: QueryEntityConfig<Item, OperatorsMap>, params: ChimeraQueryEntityCollectionFetcherParams<Item, any>, existingItems: Iterable<Item> | null, order: ChimeraOrderByComparator<Item>, filter: ChimeraFilterChecker<Item>, alreadyValid: boolean);
371
- get [ChimeraGetParamsSym](): ChimeraQueryEntityCollectionFetcherParams<Item, OperatorsMap>;
372
- [ChimeraSetOneSym](item: Item): void;
373
- [ChimeraDeleteOneSym](id: ChimeraEntityId): void;
374
- [ChimeraSetManySym](items: Iterable<Item>): void;
375
- [ChimeraDeleteManySym](ids: Iterable<ChimeraEntityId>): void;
376
- [ChimeraUpdateMixedSym](toAdd: Iterable<Item>, toDelete: Iterable<ChimeraEntityId>): void;
377
- get state(): ChimeraQueryFetchingState;
378
- get inProgress(): boolean;
379
- get ready(): boolean;
380
- get lastError(): unknown;
381
- /**
382
- * Wait for the current progress process to complete (both success or error)
383
- */
384
- get progress(): Promise<void>;
385
- /**
386
- * Wait for the current progress process to complete, throw an error if it fails
387
- */
388
- get result(): Promise<void>;
389
- /** Return an item if it is ready, throw error otherwise */
390
- getById(id: ChimeraEntityId): Item | undefined;
391
- /** Return mutable ref to item by idx if it is ready, throw error otherwise */
392
- mutableAt(idx: number): Item | undefined;
393
- /** Return mutable ref to item by [id] if it is ready, throw error otherwise */
394
- mutableGetById(id: ChimeraEntityId): Item | undefined;
395
- /**
396
- * Trigger refetch, return existing refetch promise if already running
397
- * @param force If true cancels any running process and starts a new one
398
- * @throws {ChimeraQueryAlreadyRunningError} If deleting or updating already in progress
399
- */
400
- refetch(force?: boolean): Promise<ChimeraQueryCollectionFetcherResponse<Item>>;
401
- /**
402
- * Update item using updated copy
403
- * @param newItem new item to update
404
- */
405
- update(newItem: Item): Promise<ChimeraQueryItemFetcherResponse<Item>>;
406
- /**
407
- * Update item using updated copy
408
- * @param newItems array of items to update
409
- */
410
- batchedUpdate(newItems: Iterable<Item>): Promise<ChimeraQueryCollectionFetcherResponse<Item>>;
411
- /**
412
- * Delete item using its [id]
413
- * @param id id of item to delete
414
- */
415
- delete(id: ChimeraEntityId): Promise<ChimeraQueryItemDeleteResponse>;
416
- /**
417
- * Delete a list of items by their [id]s
418
- * @param ids array of items to delete
419
- */
420
- batchedDelete(ids: Iterable<ChimeraEntityId>): Promise<ChimeraQueryBatchedDeleteResponse>;
421
- /**
422
- * Create new item using partial data
423
- * @param item partial item data to create new item
424
- */
425
- create(item: DeepPartial<Item>): Promise<ChimeraQueryItemFetcherResponse<Item>>;
426
- /**
427
- * Create multiple items using partial data
428
- * @param items array of partial item data to create new items
429
- */
430
- batchedCreate(items: Iterable<DeepPartial<Item>>): Promise<ChimeraQueryCollectionFetcherResponse<Item>>;
431
- /**
432
- * Standard Array API without mutations
433
- */
434
- get length(): number;
435
- [Symbol.iterator](): Iterator<Item>;
436
- at(idx: number): Item | undefined;
437
- entries(): ArrayIterator<[number, Item]>;
438
- values(): ArrayIterator<Item>;
439
- keys(): ArrayIterator<number>;
440
- every<S extends Item>(predicate: (value: Item, index: number, query: this) => value is S): this is ChimeraCollectionQuery<S, OperatorsMap>;
441
- every(predicate: (value: Item, index: number, query: this) => unknown): boolean;
442
- some(predicate: (value: Item, index: number, query: this) => unknown): boolean;
443
- filter<S extends Item>(predicate: (value: Item, index: number, query: this) => value is S): S[];
444
- filter(predicate: (value: Item, index: number, query: this) => boolean): Item[];
445
- find<S extends Item>(predicate: (value: Item, index: number, query: this) => value is S): S | undefined;
446
- find(predicate: (value: Item, index: number, query: this) => unknown): Item | undefined;
447
- findIndex<S extends Item>(predicate: (value: Item, index: number, query: this) => value is S): number;
448
- findIndex(predicate: (value: Item, index: number, query: this) => boolean): number;
449
- findLast<S extends Item>(predicate: (value: Item, index: number, query: this) => value is S): S | undefined;
450
- findLast(predicate: (value: Item, index: number, query: this) => boolean): Item | undefined;
451
- findLastIndex<S extends Item>(predicate: (value: Item, index: number, query: this) => value is S): number;
452
- findLastIndex(predicate: (value: Item, index: number, query: this) => boolean): number;
453
- forEach(cb: (value: Item, index: number, query: this) => void): void;
454
- includes(item: Item): boolean;
455
- indexOf(item: Item): number;
456
- map<U>(cb: (value: Item, index: number, query: this) => U): U[];
457
- reduce<U>(cb: (previousValue: U, currentValue: Item, currentIndex: number, query: this) => U, initialValue?: U): U | undefined;
458
- reduceRight<U>(cb: (previousValue: U, currentValue: Item, currentIndex: number, query: this) => U, initialValue?: U): U | undefined;
459
- slice(start?: number, end?: number): Item[];
460
- toSorted(compareFn?: (a: Item, b: Item) => number): Item[];
461
- toSpliced(start: number, deleteCount: number, ...items: Item[]): Item[];
462
- toJSON(): Item[];
463
- toString(): string;
464
- }
465
- //#endregion
466
- //#region src/shared/errors.d.ts
467
- declare class ChimeraError extends Error {}
468
- declare class ChimeraInternalError extends ChimeraError {
469
- constructor(message: string, options?: ErrorOptions);
470
- }
471
- //#endregion
472
- //#region src/filter/errors.d.ts
473
- declare class ChimeraFilterError extends ChimeraError {}
474
- declare class ChimeraFilterOperatorError extends ChimeraFilterError {
475
- constructor(operator: string, message: string);
476
- }
477
- declare class ChimeraFilterOperatorNotFoundError extends ChimeraFilterOperatorError {
478
- constructor(operator: string);
479
- }
480
- //#endregion
481
- //#region src/filter/filter.d.ts
482
- declare const chimeraCreateOperator: <Entity, OperatorsMap extends ChimeraOperatorMap, Op extends keyof OperatorsMap & string>(op: Op, value: ChimeraPropertyGetter<Entity, Parameters<OperatorsMap[Op]>[0]> | (KeysOfType<Entity, Parameters<OperatorsMap[Op]>[0]> & string), test: Parameters<OperatorsMap[Op]>[1]) => ChimeraFilterOperatorDescriptor<OperatorsMap, Entity, Op>;
483
- declare const chimeraCreateConjunction: <Entity, OperatorsMap extends ChimeraOperatorMap, Conj extends Exclude<ChimeraConjunctionType, "not"> = Exclude<ChimeraConjunctionType, "not">>(kind: Conj, operations: ChimeraConjunctionOperationDescriptor<OperatorsMap, Entity>[]) => ChimeraConjunctionDescriptor<OperatorsMap, Entity, Conj>;
484
- declare const chimeraCreateNot: <Entity, OperatorsMap extends ChimeraOperatorMap>(operation: ChimeraConjunctionOperationDescriptor<OperatorsMap, Entity>) => ChimeraConjunctionDescriptor<OperatorsMap, Entity, "not">;
485
- declare function chimeraIsConjunction(item: ChimeraConjunctionOperationDescriptor<ChimeraOperatorMap, any>): item is ChimeraConjunctionDescriptor<ChimeraOperatorMap, any>;
486
- declare function chimeraIsConjunction(item: ChimeraSimplifiedConjunctionOperation<ChimeraOperatorMap>): item is SimplifiedConjunction<ChimeraOperatorMap>;
487
- declare function chimeraIsOperator(item: ChimeraConjunctionOperationDescriptor<ChimeraOperatorMap, any>): item is ChimeraFilterOperatorDescriptor<ChimeraOperatorMap, any>;
488
- declare function chimeraIsOperator(item: ChimeraSimplifiedConjunctionOperation<ChimeraOperatorMap>): item is ChimeraSimplifiedOperator<ChimeraOperatorMap>;
489
- //#endregion
490
- //#region src/query/ChimeraItemQuery.d.ts
491
- type ChimeraItemQueryEventMap<Item extends object> = {
492
- /** Once the query is initialized */
493
- initialized: [{
494
- instance: ChimeraItemQuery<Item>;
495
- }];
496
- /** Once the query data was created */
497
- selfCreated: [{
498
- instance: ChimeraItemQuery<Item>;
499
- item: Item;
500
- }];
501
- /** Once the query data is ready (will be followed by 'update') */
502
- ready: [{
503
- instance: ChimeraItemQuery<Item>;
504
- }];
505
- /** Each time the query was updated */
506
- updated: [{
507
- instance: ChimeraItemQuery<Item>;
508
- item: Item;
509
- oldItem: Item | null;
510
- }];
511
- /** Each time the query was an initiator of update */
512
- selfUpdated: [{
513
- instance: ChimeraItemQuery<Item>;
514
- item: Item;
515
- oldItem: Item | null;
516
- }];
517
- /** Once the query data was deleted */
518
- deleted: [{
519
- instance: ChimeraItemQuery<Item>;
520
- id: ChimeraEntityId;
521
- }];
522
- /** Once the query was an initiator of deletion */
523
- selfDeleted: [{
524
- instance: ChimeraItemQuery<Item>;
525
- id: ChimeraEntityId;
526
- }];
527
- /** Each time the fetcher produces an error */
528
- error: [{
529
- instance: ChimeraItemQuery<Item>;
530
- error: unknown;
531
- }];
532
- };
533
- declare class ChimeraItemQuery<Item extends object> extends ChimeraEventEmitter<ChimeraItemQueryEventMap<Item>> implements ChimeraQueryFetchingStatable {
534
- #private;
535
- emit(): never;
536
- constructor(config: QueryEntityConfig<Item, ChimeraOperatorMap>, params: ChimeraQueryEntityItemFetcherParams<Item>, existingItem: Item | null, toCreateItem: DeepPartial<Item> | null);
537
- get [ChimeraGetParamsSym](): ChimeraQueryEntityItemFetcherParams<Item>;
538
- [ChimeraSetOneSym](item: Item): void;
539
- [ChimeraDeleteOneSym](id: ChimeraEntityId): void;
540
- get state(): ChimeraQueryFetchingState;
541
- get inProgress(): boolean;
542
- get ready(): boolean;
543
- get lastError(): unknown;
544
- get id(): ChimeraEntityId;
545
- /** Return an item if it is ready, throw error otherwise */
546
- get data(): Item;
547
- /** Get ref for an item that can be changed as a regular object. To send changes to updater, use <commit> method */
548
- get mutable(): Item;
549
- get promise(): Promise<unknown> | null;
550
- /**
551
- * Wait for the current progress process to complete (both success or error)
552
- */
553
- get progress(): Promise<void>;
554
- /**
555
- * Wait for the current progress process to complete, throw an error if it fails
556
- */
557
- get result(): Promise<void>;
558
- /**
559
- * Trigger refetch, return existing refetch promise if already running
560
- * @param force If true cancels any running process and starts a new one
561
- * @throws {ChimeraQueryAlreadyRunningError} If deleting or updating already in progress
562
- */
563
- refetch(force?: boolean): Promise<ChimeraQueryItemFetcherResponse<Item>>;
564
- /**
565
- * Update item using updated copy, a running update process will be cancelled
566
- * @param newItem new item to replace existing
567
- * @param force if true cancels any running process including fetch and delete
568
- * @throws {ChimeraQueryAlreadyRunningError} If deleting or updating already in progress
569
- */
570
- update(newItem: Item, force?: boolean): Promise<ChimeraQueryItemFetcherResponse<Item>>;
571
- /**
572
- * Update item using function with draft item as argument
573
- * that can be used to patch item in place or return a patched value,
574
- * a running update process will be cancelled
575
- * @param mutator mutator function
576
- * @param force if true cancels any running process including fetch and delete
577
- * @throws {ChimeraQueryAlreadyRunningError} If deleting or updating already in progress
578
- */
579
- mutate(mutator: (draft: Item) => Item, force?: boolean): Promise<ChimeraQueryItemFetcherResponse<Item>>;
580
- /**
581
- * Commit updated value from mutable ref, a running update process will be canceled
582
- * @param force if true cancels any running process including fetch and delete
583
- * @throws {ChimeraQueryAlreadyRunningError} If deleting or updating already in progress
584
- */
585
- commit(force?: boolean): Promise<ChimeraQueryItemFetcherResponse<Item>>;
586
- /**
587
- * Request to delete the value.
588
- * Local copy will still be available if it was present.
589
- * A running delete process will be canceled
590
- * @param force if true cancels any running process including fetch and update
591
- * @throws {ChimeraQueryAlreadyRunningError} If deleting or updating already in progress
592
- */
593
- delete(force?: boolean): Promise<ChimeraQueryItemDeleteResponse>;
594
- toJSON(): Item;
595
- toString(): string;
596
- }
597
- //#endregion
598
- //#region src/debug/types.d.ts
599
- type ChimeraLogLevel = "debug" | "info" | "off";
600
- type ChimeraDebugConfig = {
601
- name?: string;
602
- logs?: ChimeraLogLevel;
603
- devMode?: boolean;
604
- };
605
- //#endregion
606
- //#region src/store/types.d.ts
607
- type ChimeraCollectionParams<OperatorsMap extends ChimeraOperatorMap, Entity, Meta = any> = {
608
- filter?: ChimeraFilterDescriptor<OperatorsMap, Entity> | null;
609
- order?: ChimeraOrderPriority<Entity> | null;
610
- meta?: Meta;
611
- };
612
- type ChimeraStoreConfig<EntityMap extends ChimeraEntityMap, OperatorsMap extends ChimeraOperatorMap> = {
613
- query?: ChimeraQueryConfig<EntityMap, OperatorsMap>;
614
- order?: ChimeraOrderConfig;
615
- filter?: ChimeraFilterConfig<OperatorsMap>;
616
- debug?: ChimeraDebugConfig;
617
- };
618
- //#endregion
619
- //#region src/store/ChimeraEntityRepository.d.ts
620
- type ChimeraEntityRepositoryEventMap<Item extends object, OperatorsMap extends ChimeraOperatorMap> = {
621
- /** Once the repository is initialized */
622
- initialized: {
623
- instance: ChimeraEntityRepository<Item, OperatorsMap>;
624
- };
625
- /** Each time item added */
626
- itemAdded: [{
627
- instance: ChimeraEntityRepository<Item, OperatorsMap>;
628
- item: Item;
629
- }];
630
- /** Each time many items updated */
631
- updated: [{
632
- instance: ChimeraEntityRepository<Item, OperatorsMap>;
633
- items: Item[];
634
- }];
635
- /** Each time item updated */
636
- itemUpdated: [{
637
- instance: ChimeraEntityRepository<Item, OperatorsMap>;
638
- item: Item;
639
- oldItem: Item | null;
640
- }];
641
- /** Each time many items deleted */
642
- deleted: [{
643
- instance: ChimeraEntityRepository<Item, OperatorsMap>;
644
- ids: ChimeraEntityId[];
645
- }];
646
- /** Each time item deleted */
647
- itemDeleted: [{
648
- instance: ChimeraEntityRepository<Item, OperatorsMap>;
649
- oldItem: Item | null;
650
- }];
651
- };
652
- declare class ChimeraEntityRepository<Item extends object, OperatorsMap extends ChimeraOperatorMap> extends ChimeraEventEmitter<ChimeraEntityRepositoryEventMap<Item, OperatorsMap>> {
653
- #private;
654
- emit(): never;
655
- constructor(config: QueryEntityConfig<Item, OperatorsMap>, filterConfig: Required<ChimeraFilterConfig<OperatorsMap>>, orderConfig: Required<ChimeraOrderConfig>);
656
- [ChimeraSetOneSym](item: Item): void;
657
- [ChimeraDeleteOneSym](id: ChimeraEntityId): void;
658
- [ChimeraSetManySym](items: Item[]): void;
659
- [ChimeraDeleteManySym](ids: ChimeraEntityId[]): void;
660
- [ChimeraUpdateMixedSym](toAdd: Item[], toDelete: ChimeraEntityId[]): void;
661
- createItem(item: DeepPartial<Item>, meta?: any): ChimeraItemQuery<Item>;
662
- getItem(id: ChimeraEntityId, meta?: any): ChimeraItemQuery<Item>;
663
- getCollection(params: ChimeraCollectionParams<OperatorsMap, Item>): ChimeraCollectionQuery<Item, OperatorsMap>;
664
- }
665
- //#endregion
666
- //#region src/store/ChimeraStore.d.ts
667
- type ItemEvent<EntityMap extends ChimeraEntityMap> = { [K in StrKeys<EntityMap>]: {
668
- entityName: K;
669
- item: EntityMap[K];
670
- } }[StrKeys<EntityMap>];
671
- type ManyItemEvent<EntityMap extends ChimeraEntityMap> = { [K in StrKeys<EntityMap>]: {
672
- entityName: K;
673
- items: EntityMap[K][];
674
- } }[StrKeys<EntityMap>];
675
- type ItemDeleteEvent<EntityMap extends ChimeraEntityMap> = { [K in StrKeys<EntityMap>]: {
676
- entityName: K;
677
- id: ChimeraEntityId;
678
- } }[StrKeys<EntityMap>];
679
- type ManyDeleteEvent<EntityMap extends ChimeraEntityMap> = { [K in StrKeys<EntityMap>]: {
680
- entityName: K;
681
- ids: ChimeraEntityId[];
682
- } }[StrKeys<EntityMap>];
683
- type RepositoryEvent<EntityMap extends ChimeraEntityMap, OperatorsMap extends ChimeraOperatorMap> = { [K in StrKeys<EntityMap>]: {
684
- entityName: K;
685
- repository: ChimeraEntityRepository<EntityMap[K], OperatorsMap>;
686
- } }[StrKeys<EntityMap>];
687
- type ChimeraStoreEventMap<EntityMap extends ChimeraEntityMap, OperatorsMap extends ChimeraOperatorMap> = {
688
- /** Once the store is initialized */
689
- initialized: [{
690
- instance: ChimeraStore<EntityMap, OperatorsMap>;
691
- }];
692
- repositoryInitialized: [{
693
- instance: ChimeraStore<EntityMap, OperatorsMap>;
694
- } & RepositoryEvent<EntityMap, OperatorsMap>];
695
- /** Each time item added */
696
- itemAdded: [{
697
- instance: ChimeraStore<EntityMap, OperatorsMap>;
698
- } & RepositoryEvent<EntityMap, OperatorsMap> & ItemEvent<EntityMap>];
699
- /** Each time many items updated */
700
- updated: [{
701
- instance: ChimeraStore<EntityMap, OperatorsMap>;
702
- } & RepositoryEvent<EntityMap, OperatorsMap> & ManyItemEvent<EntityMap>];
703
- /** Each time item updated */
704
- itemUpdated: [{
705
- instance: ChimeraStore<EntityMap, OperatorsMap>;
706
- } & RepositoryEvent<EntityMap, OperatorsMap> & ItemEvent<EntityMap>];
707
- /** Each time many items deleted */
708
- deleted: [{
709
- instance: ChimeraStore<EntityMap, OperatorsMap>;
710
- } & RepositoryEvent<EntityMap, OperatorsMap> & ManyDeleteEvent<EntityMap>];
711
- /** Each time item deleted */
712
- itemDeleted: [{
713
- instance: ChimeraStore<EntityMap, OperatorsMap>;
714
- } & RepositoryEvent<EntityMap, OperatorsMap> & ItemDeleteEvent<EntityMap>];
715
- };
716
- declare class ChimeraStore<EntityMap extends ChimeraEntityMap, OperatorsMap extends ChimeraOperatorMap = typeof chimeraDefaultFilterOperators, Config extends ChimeraStoreConfig<EntityMap, OperatorsMap> = ChimeraStoreConfig<EntityMap, OperatorsMap>> extends ChimeraEventEmitter<ChimeraStoreEventMap<EntityMap, OperatorsMap>> {
717
- #private;
718
- emit(): never;
719
- constructor(config: Config);
720
- get config(): Config;
721
- from<EntityName extends StrKeys<EntityMap>>(entityName: EntityName): ChimeraEntityRepository<EntityMap[EntityName], OperatorsMap>;
722
- updateOne<EntityName extends StrKeys<EntityMap>>(entityName: EntityName, item: EntityMap[EntityName]): void;
723
- updateMany<EntityName extends StrKeys<EntityMap>>(entityName: EntityName, items: EntityMap[EntityName][]): void;
724
- deleteOne<EntityName extends StrKeys<EntityMap>>(entityName: EntityName, id: ChimeraEntityId): void;
725
- deleteMany<EntityName extends StrKeys<EntityMap>>(entityName: EntityName, ids: ChimeraEntityId[]): void;
726
- updateMixed<EntityName extends StrKeys<EntityMap>>(entityName: EntityName, toAdd: EntityMap[EntityName][], toDelete: ChimeraEntityId[]): void;
727
- }
728
- type AnyChimeraStore = ChimeraStore<any, any>;
729
- type ExtractsStoreGenerics<T extends AnyChimeraStore> = T extends ChimeraStore<infer E, infer O> ? {
730
- entityMap: E;
731
- operatorMap: O;
732
- } : never;
733
- type ChimeraStoreEntityMap<T extends AnyChimeraStore> = ExtractsStoreGenerics<T>["entityMap"];
734
- type ChimeraStoreOperatorMap<T extends AnyChimeraStore> = ExtractsStoreGenerics<T>["operatorMap"];
735
- type ChimeraStoreEntities<T extends AnyChimeraStore> = keyof ChimeraStoreEntityMap<T> & string;
736
- type ChimeraStoreOperator<T extends AnyChimeraStore> = keyof ChimeraStoreOperatorMap<T> & string;
737
- type ChimeraStoreEntityType<T extends AnyChimeraStore, K$1 extends ChimeraStoreEntities<T>> = ChimeraStoreEntityMap<T>[K$1];
738
- //#endregion
739
- //#region src/order/errors.d.ts
740
- declare class ChimeraOrderError extends ChimeraError {}
741
- declare class ChimeraOrderTypeError extends ChimeraOrderError {}
742
- declare class ChimeraOrderTypeComparisonError extends ChimeraOrderTypeError {
743
- constructor(a: unknown, b: unknown);
744
- }
745
- //#endregion
746
- //#region src/order/order.d.ts
747
- declare const chimeraCreateOrderBy: <Entity>(key: ChimeraPropertyGetter<Entity> | (keyof Entity & string), desc?: boolean, nulls?: ChimeraOrderNulls) => ChimeraOrderDescriptor<Entity>;
748
- //#endregion
749
- //#region src/query/errors.d.ts
750
- declare class ChimeraQueryError extends ChimeraError {
751
- readonly entityName: string;
752
- constructor(entityName: string, message: string, options?: ErrorOptions);
753
- }
754
- declare class ChimeraQueryIdMismatchError extends ChimeraQueryError {
755
- readonly old: ChimeraEntityId;
756
- readonly new: ChimeraEntityId;
757
- constructor(entityName: string, oldId: ChimeraEntityId, newId: ChimeraEntityId);
758
- }
759
- declare class ChimeraQueryNotSpecifiedError extends ChimeraQueryError {
760
- readonly methodName: string;
761
- constructor(entityName: string, methodName: string);
762
- }
763
- declare class ChimeraQueryTrustError extends ChimeraQueryError {
764
- constructor(entityName: string, description: string);
765
- }
766
- declare class ChimeraQueryTrustIdMismatchError extends ChimeraQueryTrustError {
767
- readonly old: ChimeraEntityId;
768
- readonly new: ChimeraEntityId;
769
- constructor(entityName: string, oldId: ChimeraEntityId, newId: ChimeraEntityId);
770
- }
771
- declare class ChimeraQueryTrustFetchedCollectionError extends ChimeraQueryTrustError {
772
- readonly old: unknown[];
773
- readonly new: unknown[];
774
- constructor(entityName: string, input: unknown[], output: unknown[]);
775
- }
776
- //#endregion
777
- //#region src/shared/ChimeraWeakValueMap/ChimeraWeakValueMap.d.ts
778
- type ChimeraWeakValueMapEventMap<K$1, V extends object> = {
779
- /** An item was added to the map */
780
- set: {
781
- key: K$1;
782
- value: V;
783
- instance: ChimeraWeakValueMap<K$1, V>;
784
- };
785
- /** An item was removed from the map */
786
- delete: {
787
- key: K$1;
788
- value: V;
789
- instance: ChimeraWeakValueMap<K$1, V>;
790
- };
791
- /** Weak reference was automatically collected */
792
- finalize: {
793
- key: K$1;
794
- instance: ChimeraWeakValueMap<K$1, V>;
795
- };
796
- /** All items were removed from the map */
797
- clear: {
798
- instance: ChimeraWeakValueMap<K$1, V>;
799
- };
800
- };
801
- declare class ChimeraWeakValueMap<K$1, V extends object> extends ChimeraEventEmitter<ChimeraWeakValueMapEventMap<K$1, V>> {
802
- #private;
803
- emit(): never;
804
- constructor(values?: readonly (readonly [K$1, V])[] | null);
805
- set(key: K$1, value: V): this;
806
- delete(key: K$1): boolean;
807
- has(key: K$1): boolean;
808
- forEach(callbackFn: (value: V, key: K$1, map: ChimeraWeakValueMap<K$1, V>) => void, thisArg?: any): void;
809
- get(key: K$1): V | undefined;
810
- get size(): number;
811
- entries(): IterableIterator<[K$1, V]>;
812
- keys(): IterableIterator<K$1>;
813
- values(): IterableIterator<V>;
814
- [Symbol.iterator](): IterableIterator<[K$1, V]>;
815
- clear(): void;
816
- cleanup(): void;
817
- get rawSize(): number;
818
- }
819
- //#endregion
820
- export { ChimeraQueryEntityBatchedCreator as $, ChimeraFilterError as A, ChimeraConjunctionType as At, ChimeraQueryConfig as B, ChimeraSimplifiedFilter as Bt, ChimeraItemQuery as C, ChimeraSimplifiedOrderDescriptor as Ct, chimeraCreateOperator as D, getKeyFromOperation as Dt, chimeraCreateNot as E, chimeraDefaultGetKeyFromFilter as Et, ChimeraCollectionQuery as F, ChimeraKeyFromFilterGetter as Ft, ChimeraQueryDefaultEntityIdGetter as G, ChimeraIdGetterFunc as Gt, ChimeraQueryDefaultBatchedDeleter as H, ChimeraEntityGetter as Ht, ChimeraCollectionQueryEventMap as I, ChimeraKeyFromOperatorGetter as It, ChimeraQueryDefaultItemDeleter as J, KeysOfType as Jt, ChimeraQueryDefaultEntityIdGetterFunction as K, ChimeraMutationRequester as Kt, ChimeraEntityConfigMap as L, ChimeraOperatorFunction as Lt, ChimeraFilterOperatorNotFoundError as M, ChimeraFilterConfig as Mt, ChimeraError as N, ChimeraFilterDescriptor as Nt, chimeraIsConjunction as O, ChimeraConjunctionDescriptor as Ot, ChimeraInternalError as P, ChimeraFilterOperatorDescriptor as Pt, ChimeraQueryDeletionResult as Q, ChimeraQueryBatchedDeleteResponse as R, ChimeraOperatorMap as Rt, ChimeraStoreConfig as S, ChimeraPrimitiveComparator as St, chimeraCreateConjunction as T, chimeraDefaultFilterOperators as Tt, ChimeraQueryDefaultBatchedUpdater as U, ChimeraEntityId as Ut, ChimeraQueryDefaultBatchedCreator as V, ChimeraSimplifiedOperator as Vt, ChimeraQueryDefaultCollectionFetcher as W, ChimeraEntityMap as Wt, ChimeraQueryDefaultItemUpdater as X, ChimeraQueryDefaultItemFetcher as Y, ChimeraQueryDefaultsConfig as Z, ChimeraStoreEntityType as _, ChimeraOrderByComparator as _t, ChimeraQueryNotSpecifiedError as a, ChimeraQueryEntityFetcherRequestParams as at, ChimeraEntityRepository as b, ChimeraOrderNulls as bt, ChimeraQueryTrustIdMismatchError as c, ChimeraQueryEntityItemDeleter as ct, ChimeraOrderTypeComparisonError as d, ChimeraQueryEntityItemUpdater as dt, ChimeraQueryEntityBatchedDeleter as et, ChimeraOrderTypeError as f, ChimeraQueryFetchingStatable as ft, ChimeraStoreEntityMap as g, ChimeraKeyFromOrderGetter as gt, ChimeraStoreEntities as h, ChimeraQueryItemFetcherResponse as ht, ChimeraQueryIdMismatchError as i, ChimeraQueryEntityConfig as it, ChimeraFilterOperatorError as j, ChimeraFilterChecker as jt, chimeraIsOperator as k, ChimeraConjunctionOperationDescriptor as kt, chimeraCreateOrderBy as l, ChimeraQueryEntityItemFetcher as lt, ChimeraStore as m, ChimeraQueryItemDeleteResponse as mt, ChimeraWeakValueMapEventMap as n, ChimeraQueryEntityCollectionFetcher as nt, ChimeraQueryTrustError as o, ChimeraQueryEntityIdGetter as ot, AnyChimeraStore as p, ChimeraQueryFetchingState as pt, ChimeraQueryDefaultItemCreator as q, ChimeraPropertyGetter as qt, ChimeraQueryError as r, ChimeraQueryEntityCollectionFetcherParams as rt, ChimeraQueryTrustFetchedCollectionError as s, ChimeraQueryEntityItemCreator as st, ChimeraWeakValueMap as t, ChimeraQueryEntityBatchedUpdater as tt, ChimeraOrderError as u, ChimeraQueryEntityItemFetcherParams as ut, ChimeraStoreOperator as v, ChimeraOrderConfig as vt, ChimeraItemQueryEventMap as w, chimeraDefaultFilterConfig as wt, ChimeraCollectionParams as x, ChimeraOrderPriority as xt, ChimeraStoreOperatorMap as y, ChimeraOrderDescriptor as yt, ChimeraQueryCollectionFetcherResponse as z, ChimeraSimplifiedConjunctionOperation as zt };
821
- //# sourceMappingURL=index-CTTQ1Hr3.d.ts.map