@contember/bindx 0.1.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 (234) hide show
  1. package/dist/adapter/ContemberAdapter.d.ts +40 -0
  2. package/dist/adapter/ContemberAdapter.d.ts.map +1 -0
  3. package/dist/adapter/MockAdapter.d.ts +81 -0
  4. package/dist/adapter/MockAdapter.d.ts.map +1 -0
  5. package/dist/adapter/MockQueryEngine.d.ts +43 -0
  6. package/dist/adapter/MockQueryEngine.d.ts.map +1 -0
  7. package/dist/adapter/index.d.ts +5 -0
  8. package/dist/adapter/index.d.ts.map +1 -0
  9. package/dist/adapter/types.d.ts +184 -0
  10. package/dist/adapter/types.d.ts.map +1 -0
  11. package/dist/brand/ComponentBrand.d.ts +25 -0
  12. package/dist/brand/ComponentBrand.d.ts.map +1 -0
  13. package/dist/contember/index.d.ts +10 -0
  14. package/dist/contember/index.d.ts.map +1 -0
  15. package/dist/core/ActionDispatcher.d.ts +64 -0
  16. package/dist/core/ActionDispatcher.d.ts.map +1 -0
  17. package/dist/core/Disposable.d.ts +57 -0
  18. package/dist/core/Disposable.d.ts.map +1 -0
  19. package/dist/core/EntityLoader.d.ts +80 -0
  20. package/dist/core/EntityLoader.d.ts.map +1 -0
  21. package/dist/core/PersistenceManager.d.ts +126 -0
  22. package/dist/core/PersistenceManager.d.ts.map +1 -0
  23. package/dist/core/SelectionResolver.d.ts +21 -0
  24. package/dist/core/SelectionResolver.d.ts.map +1 -0
  25. package/dist/core/actionClassification.d.ts +48 -0
  26. package/dist/core/actionClassification.d.ts.map +1 -0
  27. package/dist/core/actions.d.ts +301 -0
  28. package/dist/core/actions.d.ts.map +1 -0
  29. package/dist/core/index.d.ts +4 -0
  30. package/dist/core/index.d.ts.map +1 -0
  31. package/dist/dataview/filterHandlers.d.ts +18 -0
  32. package/dist/dataview/filterHandlers.d.ts.map +1 -0
  33. package/dist/dataview/index.d.ts +3 -0
  34. package/dist/dataview/index.d.ts.map +1 -0
  35. package/dist/dataview/types.d.ts +164 -0
  36. package/dist/dataview/types.d.ts.map +1 -0
  37. package/dist/errors/UnfetchedFieldError.d.ts +11 -0
  38. package/dist/errors/UnfetchedFieldError.d.ts.map +1 -0
  39. package/dist/errors/errorPathResolver.d.ts +52 -0
  40. package/dist/errors/errorPathResolver.d.ts.map +1 -0
  41. package/dist/errors/index.d.ts +5 -0
  42. package/dist/errors/index.d.ts.map +1 -0
  43. package/dist/errors/pathMapper.d.ts +42 -0
  44. package/dist/errors/pathMapper.d.ts.map +1 -0
  45. package/dist/errors/types.d.ts +131 -0
  46. package/dist/errors/types.d.ts.map +1 -0
  47. package/dist/events/EventEmitter.d.ts +97 -0
  48. package/dist/events/EventEmitter.d.ts.map +1 -0
  49. package/dist/events/eventFactory.d.ts +40 -0
  50. package/dist/events/eventFactory.d.ts.map +1 -0
  51. package/dist/events/index.d.ts +15 -0
  52. package/dist/events/index.d.ts.map +1 -0
  53. package/dist/events/types.d.ts +264 -0
  54. package/dist/events/types.d.ts.map +1 -0
  55. package/dist/handles/BaseHandle.d.ts +64 -0
  56. package/dist/handles/BaseHandle.d.ts.map +1 -0
  57. package/dist/handles/EntityHandle.d.ts +208 -0
  58. package/dist/handles/EntityHandle.d.ts.map +1 -0
  59. package/dist/handles/FieldHandle.d.ts +111 -0
  60. package/dist/handles/FieldHandle.d.ts.map +1 -0
  61. package/dist/handles/HasManyListHandle.d.ts +166 -0
  62. package/dist/handles/HasManyListHandle.d.ts.map +1 -0
  63. package/dist/handles/HasOneHandle.d.ts +168 -0
  64. package/dist/handles/HasOneHandle.d.ts.map +1 -0
  65. package/dist/handles/PlaceholderHandle.d.ts +117 -0
  66. package/dist/handles/PlaceholderHandle.d.ts.map +1 -0
  67. package/dist/handles/index.d.ts +8 -0
  68. package/dist/handles/index.d.ts.map +1 -0
  69. package/dist/handles/proxyFactory.d.ts +66 -0
  70. package/dist/handles/proxyFactory.d.ts.map +1 -0
  71. package/dist/handles/types.d.ts +430 -0
  72. package/dist/handles/types.d.ts.map +1 -0
  73. package/dist/index.d.ts +53 -0
  74. package/dist/index.d.ts.map +1 -0
  75. package/dist/internal.d.ts +11 -0
  76. package/dist/internal.d.ts.map +1 -0
  77. package/dist/persistence/BatchPersister.d.ts +142 -0
  78. package/dist/persistence/BatchPersister.d.ts.map +1 -0
  79. package/dist/persistence/ChangeRegistry.d.ts +87 -0
  80. package/dist/persistence/ChangeRegistry.d.ts.map +1 -0
  81. package/dist/persistence/ContemberSchemaMutationAdapter.d.ts +16 -0
  82. package/dist/persistence/ContemberSchemaMutationAdapter.d.ts.map +1 -0
  83. package/dist/persistence/MutationCollector.d.ts +96 -0
  84. package/dist/persistence/MutationCollector.d.ts.map +1 -0
  85. package/dist/persistence/MutationSchemaProvider.d.ts +30 -0
  86. package/dist/persistence/MutationSchemaProvider.d.ts.map +1 -0
  87. package/dist/persistence/index.d.ts +7 -0
  88. package/dist/persistence/index.d.ts.map +1 -0
  89. package/dist/persistence/types.d.ts +189 -0
  90. package/dist/persistence/types.d.ts.map +1 -0
  91. package/dist/roles/RoleSchemaRegistry.d.ts +77 -0
  92. package/dist/roles/RoleSchemaRegistry.d.ts.map +1 -0
  93. package/dist/roles/index.d.ts +11 -0
  94. package/dist/roles/index.d.ts.map +1 -0
  95. package/dist/roles/types.d.ts +242 -0
  96. package/dist/roles/types.d.ts.map +1 -0
  97. package/dist/schema/ContemberSchema.d.ts +98 -0
  98. package/dist/schema/ContemberSchema.d.ts.map +1 -0
  99. package/dist/schema/SchemaLoader.d.ts +28 -0
  100. package/dist/schema/SchemaLoader.d.ts.map +1 -0
  101. package/dist/schema/SchemaRegistry.d.ts +95 -0
  102. package/dist/schema/SchemaRegistry.d.ts.map +1 -0
  103. package/dist/schema/index.d.ts +6 -0
  104. package/dist/schema/index.d.ts.map +1 -0
  105. package/dist/schema/roles.d.ts +62 -0
  106. package/dist/schema/roles.d.ts.map +1 -0
  107. package/dist/schema/types.d.ts +179 -0
  108. package/dist/schema/types.d.ts.map +1 -0
  109. package/dist/selection/SelectionMetaCollector.d.ts +32 -0
  110. package/dist/selection/SelectionMetaCollector.d.ts.map +1 -0
  111. package/dist/selection/SelectionScope.d.ts +77 -0
  112. package/dist/selection/SelectionScope.d.ts.map +1 -0
  113. package/dist/selection/buildQuery.d.ts +45 -0
  114. package/dist/selection/buildQuery.d.ts.map +1 -0
  115. package/dist/selection/createFragment.d.ts +29 -0
  116. package/dist/selection/createFragment.d.ts.map +1 -0
  117. package/dist/selection/createSelectionBuilder.d.ts +18 -0
  118. package/dist/selection/createSelectionBuilder.d.ts.map +1 -0
  119. package/dist/selection/index.d.ts +8 -0
  120. package/dist/selection/index.d.ts.map +1 -0
  121. package/dist/selection/queryTypes.d.ts +84 -0
  122. package/dist/selection/queryTypes.d.ts.map +1 -0
  123. package/dist/selection/types.d.ts +238 -0
  124. package/dist/selection/types.d.ts.map +1 -0
  125. package/dist/store/DirtyTracker.d.ts +26 -0
  126. package/dist/store/DirtyTracker.d.ts.map +1 -0
  127. package/dist/store/EntityMetaStore.d.ts +52 -0
  128. package/dist/store/EntityMetaStore.d.ts.map +1 -0
  129. package/dist/store/EntitySnapshotStore.d.ts +63 -0
  130. package/dist/store/EntitySnapshotStore.d.ts.map +1 -0
  131. package/dist/store/ErrorStore.d.ts +82 -0
  132. package/dist/store/ErrorStore.d.ts.map +1 -0
  133. package/dist/store/RelationStore.d.ts +175 -0
  134. package/dist/store/RelationStore.d.ts.map +1 -0
  135. package/dist/store/SnapshotStore.d.ts +143 -0
  136. package/dist/store/SnapshotStore.d.ts.map +1 -0
  137. package/dist/store/SubscriptionManager.d.ts +90 -0
  138. package/dist/store/SubscriptionManager.d.ts.map +1 -0
  139. package/dist/store/TouchedStore.d.ts +24 -0
  140. package/dist/store/TouchedStore.d.ts.map +1 -0
  141. package/dist/store/entityId.d.ts +29 -0
  142. package/dist/store/entityId.d.ts.map +1 -0
  143. package/dist/store/index.d.ts +1 -0
  144. package/dist/store/index.d.ts.map +1 -0
  145. package/dist/store/snapshots.d.ts +144 -0
  146. package/dist/store/snapshots.d.ts.map +1 -0
  147. package/dist/undo/UndoManager.d.ts +120 -0
  148. package/dist/undo/UndoManager.d.ts.map +1 -0
  149. package/dist/undo/index.d.ts +3 -0
  150. package/dist/undo/index.d.ts.map +1 -0
  151. package/dist/undo/types.d.ts +74 -0
  152. package/dist/undo/types.d.ts.map +1 -0
  153. package/dist/utils/aliasGenerator.d.ts +25 -0
  154. package/dist/utils/aliasGenerator.d.ts.map +1 -0
  155. package/dist/utils/deepEqual.d.ts +6 -0
  156. package/dist/utils/deepEqual.d.ts.map +1 -0
  157. package/dist/utils/index.d.ts +3 -0
  158. package/dist/utils/index.d.ts.map +1 -0
  159. package/package.json +29 -0
  160. package/src/adapter/ContemberAdapter.ts +239 -0
  161. package/src/adapter/MockAdapter.ts +394 -0
  162. package/src/adapter/MockQueryEngine.ts +236 -0
  163. package/src/adapter/index.ts +21 -0
  164. package/src/adapter/types.ts +199 -0
  165. package/src/brand/ComponentBrand.ts +28 -0
  166. package/src/contember/index.ts +17 -0
  167. package/src/core/ActionDispatcher.ts +450 -0
  168. package/src/core/Disposable.ts +126 -0
  169. package/src/core/EntityLoader.ts +169 -0
  170. package/src/core/SelectionResolver.ts +78 -0
  171. package/src/core/actionClassification.ts +196 -0
  172. package/src/core/actions.ts +491 -0
  173. package/src/core/index.ts +20 -0
  174. package/src/dataview/filterHandlers.ts +443 -0
  175. package/src/dataview/index.ts +36 -0
  176. package/src/dataview/types.ts +220 -0
  177. package/src/errors/UnfetchedFieldError.ts +18 -0
  178. package/src/errors/errorPathResolver.ts +239 -0
  179. package/src/errors/index.ts +40 -0
  180. package/src/errors/pathMapper.ts +40 -0
  181. package/src/errors/types.ts +223 -0
  182. package/src/events/EventEmitter.ts +447 -0
  183. package/src/events/eventFactory.ts +430 -0
  184. package/src/events/index.ts +89 -0
  185. package/src/events/types.ts +374 -0
  186. package/src/handles/BaseHandle.ts +100 -0
  187. package/src/handles/EntityHandle.ts +538 -0
  188. package/src/handles/FieldHandle.ts +268 -0
  189. package/src/handles/HasManyListHandle.ts +500 -0
  190. package/src/handles/HasOneHandle.ts +500 -0
  191. package/src/handles/PlaceholderHandle.ts +321 -0
  192. package/src/handles/index.ts +37 -0
  193. package/src/handles/proxyFactory.ts +218 -0
  194. package/src/handles/types.ts +743 -0
  195. package/src/index.ts +384 -0
  196. package/src/internal.ts +19 -0
  197. package/src/persistence/BatchPersister.ts +911 -0
  198. package/src/persistence/ChangeRegistry.ts +150 -0
  199. package/src/persistence/ContemberSchemaMutationAdapter.ts +57 -0
  200. package/src/persistence/MutationCollector.ts +567 -0
  201. package/src/persistence/MutationSchemaProvider.ts +33 -0
  202. package/src/persistence/index.ts +23 -0
  203. package/src/persistence/types.ts +220 -0
  204. package/src/schema/ContemberSchema.ts +132 -0
  205. package/src/schema/SchemaLoader.ts +93 -0
  206. package/src/schema/SchemaRegistry.ts +286 -0
  207. package/src/schema/index.ts +51 -0
  208. package/src/schema/roles.ts +83 -0
  209. package/src/schema/types.ts +238 -0
  210. package/src/selection/SelectionMetaCollector.ts +122 -0
  211. package/src/selection/SelectionScope.ts +208 -0
  212. package/src/selection/buildQuery.ts +134 -0
  213. package/src/selection/createFragment.ts +50 -0
  214. package/src/selection/createSelectionBuilder.ts +283 -0
  215. package/src/selection/index.ts +31 -0
  216. package/src/selection/queryTypes.ts +135 -0
  217. package/src/selection/types.ts +320 -0
  218. package/src/store/DirtyTracker.ts +117 -0
  219. package/src/store/EntityMetaStore.ts +143 -0
  220. package/src/store/EntitySnapshotStore.ts +260 -0
  221. package/src/store/ErrorStore.ts +251 -0
  222. package/src/store/RelationStore.ts +696 -0
  223. package/src/store/SnapshotStore.ts +765 -0
  224. package/src/store/SubscriptionManager.ts +241 -0
  225. package/src/store/TouchedStore.ts +42 -0
  226. package/src/store/entityId.ts +43 -0
  227. package/src/store/index.ts +2 -0
  228. package/src/store/snapshots.ts +203 -0
  229. package/src/undo/UndoManager.ts +418 -0
  230. package/src/undo/index.ts +9 -0
  231. package/src/undo/types.ts +84 -0
  232. package/src/utils/aliasGenerator.ts +56 -0
  233. package/src/utils/deepEqual.ts +33 -0
  234. package/src/utils/index.ts +2 -0
@@ -0,0 +1,126 @@
1
+ import type { BackendAdapter } from '../adapter/types.js';
2
+ import type { SnapshotStore } from '../store/SnapshotStore.js';
3
+ import type { ActionDispatcher } from './ActionDispatcher.js';
4
+ import type { UndoManager } from '../undo/UndoManager.js';
5
+ import type { SchemaRegistry } from '../schema/SchemaRegistry.js';
6
+ import { type ContemberMutationResult } from '../errors/pathMapper.js';
7
+ import type { MutationDataCollector } from '../persistence/types.js';
8
+ export type { MutationDataCollector } from '../persistence/types.js';
9
+ /**
10
+ * Options for PersistenceManager
11
+ */
12
+ export interface PersistenceManagerOptions {
13
+ /**
14
+ * Custom mutation collector for building complex mutation inputs.
15
+ * If provided, will be used instead of simple field diff.
16
+ */
17
+ mutationCollector?: MutationDataCollector;
18
+ /**
19
+ * UndoManager instance to block during persist operations.
20
+ * When provided, undo/redo will be blocked during persistence.
21
+ */
22
+ undoManager?: UndoManager;
23
+ /**
24
+ * Schema registry for mapping server errors to fields.
25
+ * Required for detailed error mapping.
26
+ */
27
+ schema?: SchemaRegistry;
28
+ }
29
+ /**
30
+ * Error thrown when persist fails due to client validation errors.
31
+ */
32
+ export declare class ClientValidationError extends Error {
33
+ constructor(entityType: string, id: string);
34
+ }
35
+ /**
36
+ * Error thrown when persist fails due to server errors.
37
+ * Contains the detailed mutation result for inspection.
38
+ */
39
+ export declare class PersistError extends Error {
40
+ readonly entityType: string;
41
+ readonly entityId: string;
42
+ readonly mutationResult?: ContemberMutationResult | undefined;
43
+ constructor(message: string, entityType: string, entityId: string, mutationResult?: ContemberMutationResult | undefined);
44
+ }
45
+ /**
46
+ * PersistenceManager handles entity persistence with concurrency control.
47
+ *
48
+ * Key features:
49
+ * - One persist operation per entity at a time (concurrent requests are queued)
50
+ * - Optimistic updates (changes visible immediately)
51
+ * - Abort support for cleanup
52
+ * - Proper error handling with field-level error mapping
53
+ * - Optional custom mutation collector for nested operations
54
+ * - Blocks persist when client validation errors exist
55
+ */
56
+ export declare class PersistenceManager {
57
+ private readonly adapter;
58
+ private readonly store;
59
+ private readonly dispatcher;
60
+ /** Pending persist operations keyed by "entityType:id" */
61
+ private readonly pending;
62
+ private readonly mutationCollector?;
63
+ private readonly undoManager?;
64
+ private readonly schema?;
65
+ constructor(adapter: BackendAdapter, store: SnapshotStore, dispatcher: ActionDispatcher, options?: PersistenceManagerOptions);
66
+ /**
67
+ * Gets the key for an entity.
68
+ */
69
+ private getKey;
70
+ /**
71
+ * Checks if an entity is currently being persisted.
72
+ */
73
+ isPersisting(entityType: string, id: string): boolean;
74
+ /**
75
+ * Persists an entity's changes to the backend.
76
+ * Handles both create (new entities) and update (existing entities) operations.
77
+ *
78
+ * If already persisting, waits for the existing operation to complete.
79
+ * This prevents duplicate requests and ensures consistency.
80
+ *
81
+ * @throws {ClientValidationError} If entity has client validation errors
82
+ * @throws {PersistError} If server returns an error
83
+ */
84
+ persist(entityType: string, id: string): Promise<void>;
85
+ /**
86
+ * Performs the actual persist operation.
87
+ */
88
+ private doPersist;
89
+ /**
90
+ * Performs the create operation for new entities.
91
+ */
92
+ private doCreate;
93
+ /**
94
+ * Collects data for creating a new entity.
95
+ * Excludes the temporary ID.
96
+ */
97
+ private collectCreateData;
98
+ /**
99
+ * Collects changed fields by comparing data to serverData.
100
+ */
101
+ private collectChanges;
102
+ /**
103
+ * Maps server errors from mutation result to entity fields/relations.
104
+ */
105
+ private mapServerErrors;
106
+ /**
107
+ * Cancels a pending persist operation.
108
+ */
109
+ cancel(entityType: string, id: string): void;
110
+ /**
111
+ * Cancels all pending persist operations.
112
+ */
113
+ cancelAll(): void;
114
+ /**
115
+ * Creates a new entity on the backend.
116
+ */
117
+ create(entityType: string, data: Record<string, unknown>): Promise<{
118
+ id: string;
119
+ data: Record<string, unknown>;
120
+ }>;
121
+ /**
122
+ * Deletes an entity on the backend.
123
+ */
124
+ delete(entityType: string, id: string): Promise<void>;
125
+ }
126
+ //# sourceMappingURL=PersistenceManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PersistenceManager.d.ts","sourceRoot":"","sources":["../../src/core/PersistenceManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAuB,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAO3F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAGpE,YAAY,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAUpE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACzC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,qBAAqB,CAAA;IACzC;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAA;CACvB;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBACnC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;CAI1C;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK;aAGrB,UAAU,EAAE,MAAM;aAClB,QAAQ,EAAE,MAAM;aAChB,cAAc,CAAC,EAAE,uBAAuB;gBAHxD,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,uBAAuB,YAAA;CAKzD;AAED;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB;IAQ7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAT5B,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAuB;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAa;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAgB;gBAGtB,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,gBAAgB,EAC7C,OAAO,CAAC,EAAE,yBAAyB;IAOpC;;OAEG;IACH,OAAO,CAAC,MAAM;IAId;;OAEG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO;IAKrD;;;;;;;;;OASG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkF5D;;OAEG;YACW,SAAS;IA+DvB;;OAEG;YACW,QAAQ;IAsEtB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,OAAO,CAAC,eAAe;IA+CvB;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAW5C;;OAEG;IACH,SAAS,IAAI,IAAI;IAOjB;;OAEG;IACG,MAAM,CACX,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAyBzD;;OAEG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAmB3D"}
@@ -0,0 +1,21 @@
1
+ import type { SelectionMeta, FluentFragment, SelectionBuilder } from '../selection/types.js';
2
+ import type { QuerySpec } from '../selection/buildQuery.js';
3
+ /**
4
+ * Input types for selection resolution
5
+ */
6
+ export type SelectionInput<TModel, TResult extends object> = FluentDefiner<TModel, TResult> | FluentFragment<TModel, TResult> | SelectionMeta;
7
+ /**
8
+ * Type for fluent definer function
9
+ */
10
+ export type FluentDefiner<TModel, TResult extends object> = (builder: SelectionBuilder<TModel>) => SelectionBuilder<TModel, TResult, object>;
11
+ /**
12
+ * Resolves various selection input formats to SelectionMeta.
13
+ * Works without React - pure function.
14
+ */
15
+ export declare function resolveSelectionMeta<TModel, TResult extends object>(input: SelectionInput<TModel, TResult>): SelectionMeta;
16
+ /**
17
+ * Builds a QuerySpec from selection input.
18
+ * Convenience function combining resolution and building.
19
+ */
20
+ export declare function buildQuery<TModel, TResult extends object>(input: SelectionInput<TModel, TResult>): QuerySpec;
21
+ //# sourceMappingURL=SelectionResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectionResolver.d.ts","sourceRoot":"","sources":["../../src/core/SelectionResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE5F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE3D;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,SAAS,MAAM,IACtD,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,aAAa,CAAA;AAEhB;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,EAAE,OAAO,SAAS,MAAM,IAAI,CAC3D,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAC7B,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;AAE9C;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,SAAS,MAAM,EAClE,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,aAAa,CAef;AA4BD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,SAAS,MAAM,EACxD,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,SAAS,CAGX"}
@@ -0,0 +1,48 @@
1
+ import type { Action } from './actions.js';
2
+ /**
3
+ * Keys in the store that are affected by an action.
4
+ * Used for partial snapshot capture/restore.
5
+ */
6
+ export interface StoreAffectedKeys {
7
+ /** Entity keys in format "entityType:id" */
8
+ entityKeys: string[];
9
+ /** Relation keys in format "entityType:id:fieldName" */
10
+ relationKeys: string[];
11
+ /** Has-many keys in format "entityType:id:fieldName" */
12
+ hasManyKeys: string[];
13
+ }
14
+ /**
15
+ * Checks if an action should be tracked for undo/redo.
16
+ * Server data loads (SET_ENTITY_DATA with isServerData=true) are not tracked.
17
+ */
18
+ export declare function isTrackableAction(action: Action): boolean;
19
+ /**
20
+ * Checks if an action should be skipped for undo/redo.
21
+ */
22
+ export declare function isSkippedAction(action: Action): boolean;
23
+ /**
24
+ * Creates an entity key from type and id.
25
+ */
26
+ export declare function createEntityKey(entityType: string, entityId: string): string;
27
+ /**
28
+ * Creates a relation key from parent type, id and field name.
29
+ */
30
+ export declare function createRelationKey(entityType: string, entityId: string, fieldName: string): string;
31
+ /**
32
+ * Extracts the store keys affected by an action.
33
+ * Returns entity keys, relation keys, and has-many keys.
34
+ */
35
+ export declare function getAffectedKeys(action: Action): StoreAffectedKeys;
36
+ /**
37
+ * Merges two StoreAffectedKeys objects, deduplicating keys.
38
+ */
39
+ export declare function mergeAffectedKeys(target: StoreAffectedKeys, source: StoreAffectedKeys): void;
40
+ /**
41
+ * Creates an empty StoreAffectedKeys object.
42
+ */
43
+ export declare function createEmptyAffectedKeys(): StoreAffectedKeys;
44
+ /**
45
+ * Checks if StoreAffectedKeys is empty.
46
+ */
47
+ export declare function isEmptyAffectedKeys(keys: StoreAffectedKeys): boolean;
48
+ //# sourceMappingURL=actionClassification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionClassification.d.ts","sourceRoot":"","sources":["../../src/core/actionClassification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE1C;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IACjC,4CAA4C;IAC5C,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,wDAAwD;IACxD,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,wDAAwD;IACxD,WAAW,EAAE,MAAM,EAAE,CAAA;CACrB;AAwCD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CASzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GACf,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAoDjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,GACvB,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,iBAAiB,CAM3D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAMpE"}
@@ -0,0 +1,301 @@
1
+ import type { FieldError } from '../errors/types.js';
2
+ /**
3
+ * Action types for the ActionDispatcher.
4
+ * All mutations to the store go through these actions.
5
+ */
6
+ /**
7
+ * Sets a scalar field value
8
+ */
9
+ export interface SetFieldAction {
10
+ readonly type: 'SET_FIELD';
11
+ readonly entityType: string;
12
+ readonly entityId: string;
13
+ readonly fieldPath: string[];
14
+ readonly value: unknown;
15
+ }
16
+ /**
17
+ * Resets an entity to its server data
18
+ */
19
+ export interface ResetEntityAction {
20
+ readonly type: 'RESET_ENTITY';
21
+ readonly entityType: string;
22
+ readonly entityId: string;
23
+ }
24
+ /**
25
+ * Commits entity changes (serverData = data)
26
+ */
27
+ export interface CommitEntityAction {
28
+ readonly type: 'COMMIT_ENTITY';
29
+ readonly entityType: string;
30
+ readonly entityId: string;
31
+ }
32
+ /**
33
+ * Sets entity data (usually from server)
34
+ */
35
+ export interface SetEntityDataAction {
36
+ readonly type: 'SET_ENTITY_DATA';
37
+ readonly entityType: string;
38
+ readonly entityId: string;
39
+ readonly data: Record<string, unknown>;
40
+ readonly isServerData: boolean;
41
+ }
42
+ /**
43
+ * Connects a has-one relation to an entity
44
+ */
45
+ export interface ConnectRelationAction {
46
+ readonly type: 'CONNECT_RELATION';
47
+ readonly entityType: string;
48
+ readonly entityId: string;
49
+ readonly fieldName: string;
50
+ readonly targetId: string;
51
+ }
52
+ /**
53
+ * Disconnects a has-one relation
54
+ */
55
+ export interface DisconnectRelationAction {
56
+ readonly type: 'DISCONNECT_RELATION';
57
+ readonly entityType: string;
58
+ readonly entityId: string;
59
+ readonly fieldName: string;
60
+ }
61
+ /**
62
+ * Marks a has-one relation for deletion
63
+ */
64
+ export interface DeleteRelationAction {
65
+ readonly type: 'DELETE_RELATION';
66
+ readonly entityType: string;
67
+ readonly entityId: string;
68
+ readonly fieldName: string;
69
+ }
70
+ /**
71
+ * Resets a relation to server state
72
+ */
73
+ export interface ResetRelationAction {
74
+ readonly type: 'RESET_RELATION';
75
+ readonly entityType: string;
76
+ readonly entityId: string;
77
+ readonly fieldName: string;
78
+ }
79
+ /**
80
+ * Commits relation changes
81
+ */
82
+ export interface CommitRelationAction {
83
+ readonly type: 'COMMIT_RELATION';
84
+ readonly entityType: string;
85
+ readonly entityId: string;
86
+ readonly fieldName: string;
87
+ }
88
+ /**
89
+ * Sets placeholder data for a creating relation
90
+ */
91
+ export interface SetPlaceholderDataAction {
92
+ readonly type: 'SET_PLACEHOLDER_DATA';
93
+ readonly entityType: string;
94
+ readonly entityId: string;
95
+ readonly fieldName: string;
96
+ readonly fieldPath: string[];
97
+ readonly value: unknown;
98
+ }
99
+ /**
100
+ * Adds an item to a has-many list
101
+ */
102
+ export interface AddToListAction {
103
+ readonly type: 'ADD_TO_LIST';
104
+ readonly entityType: string;
105
+ readonly entityId: string;
106
+ readonly fieldName: string;
107
+ readonly targetType: string;
108
+ readonly itemData?: Record<string, unknown>;
109
+ readonly itemId?: string;
110
+ }
111
+ /**
112
+ * Removes an item from a has-many list
113
+ */
114
+ export interface RemoveFromListAction {
115
+ readonly type: 'REMOVE_FROM_LIST';
116
+ readonly entityType: string;
117
+ readonly entityId: string;
118
+ readonly fieldName: string;
119
+ readonly itemKey: string;
120
+ }
121
+ /**
122
+ * Moves an item within a has-many list
123
+ */
124
+ export interface MoveInListAction {
125
+ readonly type: 'MOVE_IN_LIST';
126
+ readonly entityType: string;
127
+ readonly entityId: string;
128
+ readonly fieldName: string;
129
+ readonly fromIndex: number;
130
+ readonly toIndex: number;
131
+ }
132
+ /**
133
+ * Sets the load state for an entity
134
+ */
135
+ export interface SetLoadStateAction {
136
+ readonly type: 'SET_LOAD_STATE';
137
+ readonly entityType: string;
138
+ readonly entityId: string;
139
+ readonly status: 'idle' | 'loading' | 'success' | 'error' | 'not_found';
140
+ readonly error?: FieldError;
141
+ }
142
+ /**
143
+ * Sets the persisting state for an entity
144
+ */
145
+ export interface SetPersistingAction {
146
+ readonly type: 'SET_PERSISTING';
147
+ readonly entityType: string;
148
+ readonly entityId: string;
149
+ readonly isPersisting: boolean;
150
+ }
151
+ /**
152
+ * Adds an error to a field
153
+ */
154
+ export interface AddFieldErrorAction {
155
+ readonly type: 'ADD_FIELD_ERROR';
156
+ readonly entityType: string;
157
+ readonly entityId: string;
158
+ readonly fieldName: string;
159
+ readonly error: FieldError;
160
+ }
161
+ /**
162
+ * Clears errors from a field
163
+ */
164
+ export interface ClearFieldErrorsAction {
165
+ readonly type: 'CLEAR_FIELD_ERRORS';
166
+ readonly entityType: string;
167
+ readonly entityId: string;
168
+ readonly fieldName: string;
169
+ readonly source?: 'client' | 'server';
170
+ }
171
+ /**
172
+ * Adds an error to an entity
173
+ */
174
+ export interface AddEntityErrorAction {
175
+ readonly type: 'ADD_ENTITY_ERROR';
176
+ readonly entityType: string;
177
+ readonly entityId: string;
178
+ readonly error: FieldError;
179
+ }
180
+ /**
181
+ * Clears errors from an entity
182
+ */
183
+ export interface ClearEntityErrorsAction {
184
+ readonly type: 'CLEAR_ENTITY_ERRORS';
185
+ readonly entityType: string;
186
+ readonly entityId: string;
187
+ readonly source?: 'client' | 'server';
188
+ }
189
+ /**
190
+ * Adds an error to a relation
191
+ */
192
+ export interface AddRelationErrorAction {
193
+ readonly type: 'ADD_RELATION_ERROR';
194
+ readonly entityType: string;
195
+ readonly entityId: string;
196
+ readonly relationName: string;
197
+ readonly error: FieldError;
198
+ }
199
+ /**
200
+ * Clears errors from a relation
201
+ */
202
+ export interface ClearRelationErrorsAction {
203
+ readonly type: 'CLEAR_RELATION_ERRORS';
204
+ readonly entityType: string;
205
+ readonly entityId: string;
206
+ readonly relationName: string;
207
+ readonly source?: 'client' | 'server';
208
+ }
209
+ /**
210
+ * Clears all server errors for an entity (entity-level, fields, and relations)
211
+ */
212
+ export interface ClearAllServerErrorsAction {
213
+ readonly type: 'CLEAR_ALL_SERVER_ERRORS';
214
+ readonly entityType: string;
215
+ readonly entityId: string;
216
+ }
217
+ /**
218
+ * Clears all errors for an entity (entity-level, fields, and relations)
219
+ */
220
+ export interface ClearAllErrorsAction {
221
+ readonly type: 'CLEAR_ALL_ERRORS';
222
+ readonly entityType: string;
223
+ readonly entityId: string;
224
+ }
225
+ /**
226
+ * Union of all possible actions
227
+ */
228
+ export type Action = SetFieldAction | ResetEntityAction | CommitEntityAction | SetEntityDataAction | ConnectRelationAction | DisconnectRelationAction | DeleteRelationAction | ResetRelationAction | CommitRelationAction | SetPlaceholderDataAction | AddToListAction | RemoveFromListAction | MoveInListAction | SetLoadStateAction | SetPersistingAction | AddFieldErrorAction | ClearFieldErrorsAction | AddEntityErrorAction | ClearEntityErrorsAction | AddRelationErrorAction | ClearRelationErrorsAction | ClearAllServerErrorsAction | ClearAllErrorsAction;
229
+ /**
230
+ * Creates a SET_FIELD action
231
+ */
232
+ export declare function setField(entityType: string, entityId: string, fieldPath: string[], value: unknown): SetFieldAction;
233
+ /**
234
+ * Creates a RESET_ENTITY action
235
+ */
236
+ export declare function resetEntity(entityType: string, entityId: string): ResetEntityAction;
237
+ /**
238
+ * Creates a COMMIT_ENTITY action
239
+ */
240
+ export declare function commitEntity(entityType: string, entityId: string): CommitEntityAction;
241
+ /**
242
+ * Creates a SET_ENTITY_DATA action
243
+ */
244
+ export declare function setEntityData(entityType: string, entityId: string, data: Record<string, unknown>, isServerData?: boolean): SetEntityDataAction;
245
+ /**
246
+ * Creates a CONNECT_RELATION action
247
+ */
248
+ export declare function connectRelation(entityType: string, entityId: string, fieldName: string, targetId: string): ConnectRelationAction;
249
+ /**
250
+ * Creates a DISCONNECT_RELATION action
251
+ */
252
+ export declare function disconnectRelation(entityType: string, entityId: string, fieldName: string): DisconnectRelationAction;
253
+ /**
254
+ * Creates a DELETE_RELATION action
255
+ */
256
+ export declare function deleteRelation(entityType: string, entityId: string, fieldName: string): DeleteRelationAction;
257
+ /**
258
+ * Creates a SET_LOAD_STATE action
259
+ */
260
+ export declare function setLoadState(entityType: string, entityId: string, status: 'idle' | 'loading' | 'success' | 'error' | 'not_found', error?: FieldError): SetLoadStateAction;
261
+ /**
262
+ * Creates a SET_PERSISTING action
263
+ */
264
+ export declare function setPersisting(entityType: string, entityId: string, isPersisting: boolean): SetPersistingAction;
265
+ /**
266
+ * Creates a SET_PLACEHOLDER_DATA action
267
+ */
268
+ export declare function setPlaceholderData(entityType: string, entityId: string, fieldName: string, fieldPath: string[], value: unknown): SetPlaceholderDataAction;
269
+ /**
270
+ * Creates an ADD_FIELD_ERROR action
271
+ */
272
+ export declare function addFieldError(entityType: string, entityId: string, fieldName: string, error: FieldError): AddFieldErrorAction;
273
+ /**
274
+ * Creates a CLEAR_FIELD_ERRORS action
275
+ */
276
+ export declare function clearFieldErrors(entityType: string, entityId: string, fieldName: string, source?: 'client' | 'server'): ClearFieldErrorsAction;
277
+ /**
278
+ * Creates an ADD_ENTITY_ERROR action
279
+ */
280
+ export declare function addEntityError(entityType: string, entityId: string, error: FieldError): AddEntityErrorAction;
281
+ /**
282
+ * Creates a CLEAR_ENTITY_ERRORS action
283
+ */
284
+ export declare function clearEntityErrors(entityType: string, entityId: string, source?: 'client' | 'server'): ClearEntityErrorsAction;
285
+ /**
286
+ * Creates an ADD_RELATION_ERROR action
287
+ */
288
+ export declare function addRelationError(entityType: string, entityId: string, relationName: string, error: FieldError): AddRelationErrorAction;
289
+ /**
290
+ * Creates a CLEAR_RELATION_ERRORS action
291
+ */
292
+ export declare function clearRelationErrors(entityType: string, entityId: string, relationName: string, source?: 'client' | 'server'): ClearRelationErrorsAction;
293
+ /**
294
+ * Creates a CLEAR_ALL_SERVER_ERRORS action
295
+ */
296
+ export declare function clearAllServerErrors(entityType: string, entityId: string): ClearAllServerErrorsAction;
297
+ /**
298
+ * Creates a CLEAR_ALL_ERRORS action
299
+ */
300
+ export declare function clearAllErrors(entityType: string, entityId: string): ClearAllErrorsAction;
301
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/core/actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { EntityLoader, createEntityLoader, type EntityLoadResult, type EntityListLoadResult, type LoadEntityOptions, type LoadEntityListOptions, } from './EntityLoader.js';
2
+ export { resolveSelectionMeta, buildQuery, type SelectionInput, type FluentDefiner, } from './SelectionResolver.js';
3
+ export type { MutationDataCollector } from '../persistence/types.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AACA,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,GAC1B,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EACN,oBAAoB,EACpB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,aAAa,GAClB,MAAM,wBAAwB,CAAA;AAG/B,YAAY,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Built-in filter handler implementations.
3
+ *
4
+ * Each handler converts a typed filter artifact into a Contember-style
5
+ * EntityWhere clause for use with the backend adapter.
6
+ */
7
+ import type { FilterHandler, TextFilterArtifact, NumberFilterArtifact, NumberRangeFilterArtifact, DateFilterArtifact, BooleanFilterArtifact, EnumFilterArtifact, EnumListFilterArtifact, RelationFilterArtifact, IsDefinedFilterArtifact } from './types.js';
8
+ export declare function createTextFilterHandler(fieldPath: string): FilterHandler<TextFilterArtifact>;
9
+ export declare function createFullTextFilterHandler(fieldPaths: readonly string[]): FilterHandler<TextFilterArtifact>;
10
+ export declare function createNumberFilterHandler(fieldPath: string): FilterHandler<NumberFilterArtifact>;
11
+ export declare function createNumberRangeFilterHandler(fieldPath: string): FilterHandler<NumberRangeFilterArtifact>;
12
+ export declare function createDateFilterHandler(fieldPath: string): FilterHandler<DateFilterArtifact>;
13
+ export declare function createBooleanFilterHandler(fieldPath: string): FilterHandler<BooleanFilterArtifact>;
14
+ export declare function createEnumFilterHandler(fieldPath: string): FilterHandler<EnumFilterArtifact>;
15
+ export declare function createEnumListFilterHandler(fieldPath: string): FilterHandler<EnumListFilterArtifact>;
16
+ export declare function createRelationFilterHandler(fieldPath: string): FilterHandler<RelationFilterArtifact>;
17
+ export declare function createIsDefinedFilterHandler(fieldPath: string): FilterHandler<IsDefinedFilterArtifact>;
18
+ //# sourceMappingURL=filterHandlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterHandlers.d.ts","sourceRoot":"","sources":["../../src/dataview/filterHandlers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACX,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,MAAM,YAAY,CAAA;AAMnB,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC,kBAAkB,CAAC,CA6B5F;AAqBD,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAuB5G;AAMD,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC,oBAAoB,CAAC,CA4BhG;AAMD,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC,yBAAyB,CAAC,CAgC1G;AAMD,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAwC5F;AAMD,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAgClG;AAMD,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAkC5F;AAMD,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC,sBAAsB,CAAC,CAyCpG;AAMD,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC,sBAAsB,CAAC,CAwCpG;AAMD,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC,uBAAuB,CAAC,CAetG"}
@@ -0,0 +1,3 @@
1
+ export type { TextFilterArtifact, NumberFilterArtifact, NumberRangeFilterArtifact, DateFilterArtifact, BooleanFilterArtifact, EnumFilterArtifact, EnumListFilterArtifact, RelationFilterArtifact, IsDefinedFilterArtifact, FilterArtifact, FilterHandler, ColumnType, ColumnDefinition, SortingDirections, SortingDirectionAction, SortingState, PagingState, PagingInfo, DataViewLayout, SelectionValues, SelectionState, } from './types.js';
2
+ export { createTextFilterHandler, createFullTextFilterHandler, createNumberFilterHandler, createNumberRangeFilterHandler, createDateFilterHandler, createBooleanFilterHandler, createEnumFilterHandler, createEnumListFilterHandler, createRelationFilterHandler, createIsDefinedFilterHandler, } from './filterHandlers.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dataview/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,cAAc,GACd,MAAM,YAAY,CAAA;AAEnB,OAAO,EACN,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,8BAA8B,EAC9B,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,GAC5B,MAAM,qBAAqB,CAAA"}