@_linked/core 2.11.1 → 2.12.0-next.20260706124424

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 (267) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +3 -3
  3. package/lib/cjs/expressions/Expr.d.ts +22 -51
  4. package/lib/cjs/expressions/Expr.js +24 -176
  5. package/lib/cjs/expressions/Expr.js.map +1 -1
  6. package/lib/cjs/expressions/ExpressionMethods.d.ts +4 -0
  7. package/lib/cjs/expressions/ExpressionNode.d.ts +4 -0
  8. package/lib/cjs/expressions/ExpressionNode.js +13 -0
  9. package/lib/cjs/expressions/ExpressionNode.js.map +1 -1
  10. package/lib/cjs/index.d.ts +2 -2
  11. package/lib/cjs/index.js +6 -138
  12. package/lib/cjs/index.js.map +1 -1
  13. package/lib/cjs/interfaces/ICoreIterable.d.ts +1 -1
  14. package/lib/cjs/package.d.ts +2 -2
  15. package/lib/cjs/queries/ContextRef.d.ts +15 -4
  16. package/lib/cjs/queries/ContextRef.js +15 -4
  17. package/lib/cjs/queries/ContextRef.js.map +1 -1
  18. package/lib/cjs/queries/CreateBuilder.d.ts +3 -5
  19. package/lib/cjs/queries/CreateBuilder.js +4 -16
  20. package/lib/cjs/queries/CreateBuilder.js.map +1 -1
  21. package/lib/cjs/queries/DeleteBuilder.d.ts +3 -5
  22. package/lib/cjs/queries/DeleteBuilder.js +8 -20
  23. package/lib/cjs/queries/DeleteBuilder.js.map +1 -1
  24. package/lib/cjs/queries/DslJsonExpression.d.ts +8 -8
  25. package/lib/cjs/queries/DslJsonExpression.js +84 -26
  26. package/lib/cjs/queries/DslJsonExpression.js.map +1 -1
  27. package/lib/cjs/queries/FieldSet.d.ts +43 -14
  28. package/lib/cjs/queries/FieldSet.js +142 -77
  29. package/lib/cjs/queries/FieldSet.js.map +1 -1
  30. package/lib/cjs/queries/IRCanonicalize.d.ts +5 -9
  31. package/lib/cjs/queries/IRCanonicalize.js +7 -23
  32. package/lib/cjs/queries/IRCanonicalize.js.map +1 -1
  33. package/lib/cjs/queries/IRDesugar.d.ts +2 -1
  34. package/lib/cjs/queries/IRDesugar.js +1 -1
  35. package/lib/cjs/queries/IRDesugar.js.map +1 -1
  36. package/lib/cjs/queries/IRLower.js +7 -7
  37. package/lib/cjs/queries/IRLower.js.map +1 -1
  38. package/lib/cjs/queries/IntermediateRepresentation.d.ts +16 -2
  39. package/lib/cjs/queries/MutationQuery.d.ts +18 -1
  40. package/lib/cjs/queries/MutationQuery.js +83 -3
  41. package/lib/cjs/queries/MutationQuery.js.map +1 -1
  42. package/lib/cjs/queries/MutationSerialization.d.ts +11 -11
  43. package/lib/cjs/queries/MutationSerialization.js +51 -31
  44. package/lib/cjs/queries/MutationSerialization.js.map +1 -1
  45. package/lib/cjs/queries/MutationThenable.d.ts +18 -0
  46. package/lib/cjs/queries/MutationThenable.js +32 -0
  47. package/lib/cjs/queries/MutationThenable.js.map +1 -0
  48. package/lib/cjs/queries/QueryBuilder.d.ts +1 -1
  49. package/lib/cjs/queries/QueryBuilder.js +3 -3
  50. package/lib/cjs/queries/QueryBuilder.js.map +1 -1
  51. package/lib/cjs/queries/QueryBuilderSerialization.js +3 -4
  52. package/lib/cjs/queries/QueryBuilderSerialization.js.map +1 -1
  53. package/lib/cjs/queries/QueryContext.d.ts +1 -1
  54. package/lib/cjs/queries/QueryContext.js +7 -5
  55. package/lib/cjs/queries/QueryContext.js.map +1 -1
  56. package/lib/cjs/queries/QueryFactory.d.ts +0 -7
  57. package/lib/cjs/queries/QueryFactory.js +1 -20
  58. package/lib/cjs/queries/QueryFactory.js.map +1 -1
  59. package/lib/cjs/queries/SelectQuery.d.ts +19 -41
  60. package/lib/cjs/queries/SelectQuery.js +69 -118
  61. package/lib/cjs/queries/SelectQuery.js.map +1 -1
  62. package/lib/cjs/queries/UpdateBuilder.d.ts +3 -5
  63. package/lib/cjs/queries/UpdateBuilder.js +5 -17
  64. package/lib/cjs/queries/UpdateBuilder.js.map +1 -1
  65. package/lib/cjs/queries/lower.js +3 -4
  66. package/lib/cjs/queries/lower.js.map +1 -1
  67. package/lib/cjs/queries/lowerMutationJSON.js +39 -23
  68. package/lib/cjs/queries/lowerMutationJSON.js.map +1 -1
  69. package/lib/cjs/shapes/List.js +2 -9
  70. package/lib/cjs/shapes/List.js.map +1 -1
  71. package/lib/cjs/shapes/PathNode.js +5 -18
  72. package/lib/cjs/shapes/PathNode.js.map +1 -1
  73. package/lib/cjs/shapes/SHACL.d.ts +10 -0
  74. package/lib/cjs/shapes/SHACL.js +41 -0
  75. package/lib/cjs/shapes/SHACL.js.map +1 -1
  76. package/lib/cjs/shapes/Shape.d.ts +1 -1
  77. package/lib/cjs/shapes/Shape.js.map +1 -1
  78. package/lib/cjs/shapes/serializePathToNodeData.js +16 -0
  79. package/lib/cjs/shapes/serializePathToNodeData.js.map +1 -1
  80. package/lib/cjs/shapes/syncShapes.js +15 -0
  81. package/lib/cjs/shapes/syncShapes.js.map +1 -1
  82. package/lib/cjs/sparql/SparqlAlgebra.d.ts +8 -1
  83. package/lib/cjs/sparql/algebraToString.js +57 -11
  84. package/lib/cjs/sparql/algebraToString.js.map +1 -1
  85. package/lib/cjs/sparql/irToAlgebra.js +89 -31
  86. package/lib/cjs/sparql/irToAlgebra.js.map +1 -1
  87. package/lib/cjs/sparql/resultMapping.js +0 -11
  88. package/lib/cjs/sparql/resultMapping.js.map +1 -1
  89. package/lib/cjs/sparql/sparqlUtils.d.ts +21 -0
  90. package/lib/cjs/sparql/sparqlUtils.js +65 -0
  91. package/lib/cjs/sparql/sparqlUtils.js.map +1 -1
  92. package/lib/cjs/utils/LinkedStorage.d.ts +1 -2
  93. package/lib/cjs/utils/LinkedStorage.js +1 -2
  94. package/lib/cjs/utils/LinkedStorage.js.map +1 -1
  95. package/lib/cjs/utils/Package.js +11 -4
  96. package/lib/cjs/utils/Package.js.map +1 -1
  97. package/lib/cjs/utils/Prefix.d.ts +4 -5
  98. package/lib/cjs/utils/Prefix.js +13 -7
  99. package/lib/cjs/utils/Prefix.js.map +1 -1
  100. package/lib/cjs/utils/ShapeClass.d.ts +0 -11
  101. package/lib/cjs/utils/ShapeClass.js +0 -83
  102. package/lib/cjs/utils/ShapeClass.js.map +1 -1
  103. package/lib/cjs/utils/cached.d.ts +3 -0
  104. package/lib/cjs/utils/cached.js +26 -16
  105. package/lib/cjs/utils/cached.js.map +1 -1
  106. package/lib/cjs/utils/loadStores.js +4 -0
  107. package/lib/cjs/utils/loadStores.js.map +1 -1
  108. package/lib/esm/expressions/Expr.d.ts +22 -51
  109. package/lib/esm/expressions/Expr.js +24 -176
  110. package/lib/esm/expressions/Expr.js.map +1 -1
  111. package/lib/esm/expressions/ExpressionMethods.d.ts +4 -0
  112. package/lib/esm/expressions/ExpressionNode.d.ts +4 -0
  113. package/lib/esm/expressions/ExpressionNode.js +13 -0
  114. package/lib/esm/expressions/ExpressionNode.js.map +1 -1
  115. package/lib/esm/index.d.ts +2 -2
  116. package/lib/esm/index.js +3 -103
  117. package/lib/esm/index.js.map +1 -1
  118. package/lib/esm/interfaces/ICoreIterable.d.ts +1 -1
  119. package/lib/esm/package.d.ts +2 -2
  120. package/lib/esm/queries/ContextRef.d.ts +15 -4
  121. package/lib/esm/queries/ContextRef.js +15 -4
  122. package/lib/esm/queries/ContextRef.js.map +1 -1
  123. package/lib/esm/queries/CreateBuilder.d.ts +3 -5
  124. package/lib/esm/queries/CreateBuilder.js +4 -16
  125. package/lib/esm/queries/CreateBuilder.js.map +1 -1
  126. package/lib/esm/queries/DeleteBuilder.d.ts +3 -5
  127. package/lib/esm/queries/DeleteBuilder.js +8 -20
  128. package/lib/esm/queries/DeleteBuilder.js.map +1 -1
  129. package/lib/esm/queries/DslJsonExpression.d.ts +8 -8
  130. package/lib/esm/queries/DslJsonExpression.js +84 -26
  131. package/lib/esm/queries/DslJsonExpression.js.map +1 -1
  132. package/lib/esm/queries/FieldSet.d.ts +43 -14
  133. package/lib/esm/queries/FieldSet.js +142 -77
  134. package/lib/esm/queries/FieldSet.js.map +1 -1
  135. package/lib/esm/queries/IRCanonicalize.d.ts +5 -9
  136. package/lib/esm/queries/IRCanonicalize.js +6 -21
  137. package/lib/esm/queries/IRCanonicalize.js.map +1 -1
  138. package/lib/esm/queries/IRDesugar.d.ts +2 -1
  139. package/lib/esm/queries/IRDesugar.js +1 -1
  140. package/lib/esm/queries/IRDesugar.js.map +1 -1
  141. package/lib/esm/queries/IRLower.js +7 -7
  142. package/lib/esm/queries/IRLower.js.map +1 -1
  143. package/lib/esm/queries/IntermediateRepresentation.d.ts +16 -2
  144. package/lib/esm/queries/MutationQuery.d.ts +18 -1
  145. package/lib/esm/queries/MutationQuery.js +83 -3
  146. package/lib/esm/queries/MutationQuery.js.map +1 -1
  147. package/lib/esm/queries/MutationSerialization.d.ts +11 -11
  148. package/lib/esm/queries/MutationSerialization.js +51 -31
  149. package/lib/esm/queries/MutationSerialization.js.map +1 -1
  150. package/lib/esm/queries/MutationThenable.d.ts +18 -0
  151. package/lib/esm/queries/MutationThenable.js +28 -0
  152. package/lib/esm/queries/MutationThenable.js.map +1 -0
  153. package/lib/esm/queries/QueryBuilder.d.ts +1 -1
  154. package/lib/esm/queries/QueryBuilder.js +3 -3
  155. package/lib/esm/queries/QueryBuilder.js.map +1 -1
  156. package/lib/esm/queries/QueryBuilderSerialization.js +3 -4
  157. package/lib/esm/queries/QueryBuilderSerialization.js.map +1 -1
  158. package/lib/esm/queries/QueryContext.d.ts +1 -1
  159. package/lib/esm/queries/QueryContext.js +7 -5
  160. package/lib/esm/queries/QueryContext.js.map +1 -1
  161. package/lib/esm/queries/QueryFactory.d.ts +0 -7
  162. package/lib/esm/queries/QueryFactory.js +1 -19
  163. package/lib/esm/queries/QueryFactory.js.map +1 -1
  164. package/lib/esm/queries/SelectQuery.d.ts +19 -41
  165. package/lib/esm/queries/SelectQuery.js +69 -118
  166. package/lib/esm/queries/SelectQuery.js.map +1 -1
  167. package/lib/esm/queries/UpdateBuilder.d.ts +3 -5
  168. package/lib/esm/queries/UpdateBuilder.js +5 -17
  169. package/lib/esm/queries/UpdateBuilder.js.map +1 -1
  170. package/lib/esm/queries/lower.js +3 -4
  171. package/lib/esm/queries/lower.js.map +1 -1
  172. package/lib/esm/queries/lowerMutationJSON.js +39 -23
  173. package/lib/esm/queries/lowerMutationJSON.js.map +1 -1
  174. package/lib/esm/shapes/List.js +2 -9
  175. package/lib/esm/shapes/List.js.map +1 -1
  176. package/lib/esm/shapes/PathNode.js +5 -18
  177. package/lib/esm/shapes/PathNode.js.map +1 -1
  178. package/lib/esm/shapes/SHACL.d.ts +10 -0
  179. package/lib/esm/shapes/SHACL.js +41 -0
  180. package/lib/esm/shapes/SHACL.js.map +1 -1
  181. package/lib/esm/shapes/Shape.d.ts +1 -1
  182. package/lib/esm/shapes/Shape.js.map +1 -1
  183. package/lib/esm/shapes/serializePathToNodeData.js +16 -0
  184. package/lib/esm/shapes/serializePathToNodeData.js.map +1 -1
  185. package/lib/esm/shapes/syncShapes.js +15 -0
  186. package/lib/esm/shapes/syncShapes.js.map +1 -1
  187. package/lib/esm/sparql/SparqlAlgebra.d.ts +8 -1
  188. package/lib/esm/sparql/algebraToString.js +58 -12
  189. package/lib/esm/sparql/algebraToString.js.map +1 -1
  190. package/lib/esm/sparql/irToAlgebra.js +89 -31
  191. package/lib/esm/sparql/irToAlgebra.js.map +1 -1
  192. package/lib/esm/sparql/resultMapping.js +0 -11
  193. package/lib/esm/sparql/resultMapping.js.map +1 -1
  194. package/lib/esm/sparql/sparqlUtils.d.ts +21 -0
  195. package/lib/esm/sparql/sparqlUtils.js +62 -0
  196. package/lib/esm/sparql/sparqlUtils.js.map +1 -1
  197. package/lib/esm/utils/LinkedStorage.d.ts +1 -2
  198. package/lib/esm/utils/LinkedStorage.js +1 -2
  199. package/lib/esm/utils/LinkedStorage.js.map +1 -1
  200. package/lib/esm/utils/Package.js +11 -4
  201. package/lib/esm/utils/Package.js.map +1 -1
  202. package/lib/esm/utils/Prefix.d.ts +4 -5
  203. package/lib/esm/utils/Prefix.js +13 -7
  204. package/lib/esm/utils/Prefix.js.map +1 -1
  205. package/lib/esm/utils/ShapeClass.d.ts +0 -11
  206. package/lib/esm/utils/ShapeClass.js +0 -79
  207. package/lib/esm/utils/ShapeClass.js.map +1 -1
  208. package/lib/esm/utils/cached.d.ts +3 -0
  209. package/lib/esm/utils/cached.js +26 -16
  210. package/lib/esm/utils/cached.js.map +1 -1
  211. package/lib/esm/utils/loadStores.js +4 -0
  212. package/lib/esm/utils/loadStores.js.map +1 -1
  213. package/package.json +9 -3
  214. package/lib/cjs/collections/CoreMap.d.ts +0 -37
  215. package/lib/cjs/collections/CoreMap.js +0 -101
  216. package/lib/cjs/collections/CoreMap.js.map +0 -1
  217. package/lib/cjs/paths/serializePathToSHACL.d.ts +0 -22
  218. package/lib/cjs/paths/serializePathToSHACL.js +0 -126
  219. package/lib/cjs/paths/serializePathToSHACL.js.map +0 -1
  220. package/lib/cjs/queries/WhereCondition.d.ts +0 -18
  221. package/lib/cjs/queries/WhereCondition.js +0 -3
  222. package/lib/cjs/queries/WhereCondition.js.map +0 -1
  223. package/lib/cjs/test-helpers/FusekiStore.d.ts +0 -29
  224. package/lib/cjs/test-helpers/FusekiStore.js +0 -85
  225. package/lib/cjs/test-helpers/FusekiStore.js.map +0 -1
  226. package/lib/cjs/test-helpers/fuseki-test-store.d.ts +0 -46
  227. package/lib/cjs/test-helpers/fuseki-test-store.js +0 -244
  228. package/lib/cjs/test-helpers/fuseki-test-store.js.map +0 -1
  229. package/lib/cjs/test-helpers/query-capture-store.d.ts +0 -11
  230. package/lib/cjs/test-helpers/query-capture-store.js +0 -109
  231. package/lib/cjs/test-helpers/query-capture-store.js.map +0 -1
  232. package/lib/cjs/test-helpers/query-fixtures.d.ts +0 -819
  233. package/lib/cjs/test-helpers/query-fixtures.js +0 -605
  234. package/lib/cjs/test-helpers/query-fixtures.js.map +0 -1
  235. package/lib/cjs/test-helpers/test-utils.d.ts +0 -18
  236. package/lib/cjs/test-helpers/test-utils.js +0 -47
  237. package/lib/cjs/test-helpers/test-utils.js.map +0 -1
  238. package/lib/cjs/utils/Types.d.ts +0 -11
  239. package/lib/cjs/utils/Types.js +0 -3
  240. package/lib/cjs/utils/Types.js.map +0 -1
  241. package/lib/esm/collections/CoreMap.d.ts +0 -37
  242. package/lib/esm/collections/CoreMap.js +0 -97
  243. package/lib/esm/collections/CoreMap.js.map +0 -1
  244. package/lib/esm/paths/serializePathToSHACL.d.ts +0 -22
  245. package/lib/esm/paths/serializePathToSHACL.js +0 -122
  246. package/lib/esm/paths/serializePathToSHACL.js.map +0 -1
  247. package/lib/esm/queries/WhereCondition.d.ts +0 -18
  248. package/lib/esm/queries/WhereCondition.js +0 -2
  249. package/lib/esm/queries/WhereCondition.js.map +0 -1
  250. package/lib/esm/test-helpers/FusekiStore.d.ts +0 -29
  251. package/lib/esm/test-helpers/FusekiStore.js +0 -81
  252. package/lib/esm/test-helpers/FusekiStore.js.map +0 -1
  253. package/lib/esm/test-helpers/fuseki-test-store.d.ts +0 -46
  254. package/lib/esm/test-helpers/fuseki-test-store.js +0 -232
  255. package/lib/esm/test-helpers/fuseki-test-store.js.map +0 -1
  256. package/lib/esm/test-helpers/query-capture-store.d.ts +0 -11
  257. package/lib/esm/test-helpers/query-capture-store.js +0 -71
  258. package/lib/esm/test-helpers/query-capture-store.js.map +0 -1
  259. package/lib/esm/test-helpers/query-fixtures.d.ts +0 -819
  260. package/lib/esm/test-helpers/query-fixtures.js +0 -602
  261. package/lib/esm/test-helpers/query-fixtures.js.map +0 -1
  262. package/lib/esm/test-helpers/test-utils.d.ts +0 -18
  263. package/lib/esm/test-helpers/test-utils.js +0 -41
  264. package/lib/esm/test-helpers/test-utils.js.map +0 -1
  265. package/lib/esm/utils/Types.d.ts +0 -11
  266. package/lib/esm/utils/Types.js +0 -2
  267. package/lib/esm/utils/Types.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,44 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.12.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#144](https://github.com/linked-cm/core/pull/144) [`6dafbc7`](https://github.com/linked-cm/core/commit/6dafbc7c801c3b89bc35a8b3a4922693f28aab51) Thanks [@flyon](https://github.com/flyon)! - Repo-wide analysis follow-through (reports 021–024): leanness, security hardening, and functional-gap fixes. Highlights users should know about:
8
+
9
+ **New query capabilities**
10
+
11
+ - Membership: `.oneOf([...])` / `.notOneOf([...])` on any query property → SPARQL `IN` / `NOT IN` (empty list constant-folds to match-nothing / match-everything). Works in `.where()` and inside `.some()`/`.every()`.
12
+ - Set size comparisons: `.size().gt(n)` (and `gte`/`lt`/`lte`/`neq`) → `HAVING(count(…) <op> n)`, not just `.equals()`.
13
+ - Multi-key sort now honors a per-path direction: `sortBy: [{name:'ASC'}, {age:'DESC'}]` no longer collapses to the first direction.
14
+
15
+ **New exports**
16
+
17
+ - `Shape` and `LinkedStorage` are now exported from the package root; the SPARQL layer is reachable at `@_linked/core/sparql`.
18
+
19
+ **SHACL**
20
+
21
+ - `minInclusive`/`maxInclusive`/`minExclusive`/`maxExclusive`/`minLength`/`maxLength`/`pattern` on a property now serialize into the synced shape (previously declared but silently dropped).
22
+
23
+ **Correctness fixes (previously silent-wrong or crashing)**
24
+
25
+ - SPARQL operator precedence: nested arithmetic like `a.plus(b).times(c)` now parenthesizes correctly (was emitted as `?a + ?b * ?c`).
26
+ - Mutation input: a computed value in `create` now throws a clear error instead of silently dropping the field; a `null` mutation value no longer crashes; `{add:[…], name:'x'}` no longer silently discards `name`.
27
+ - Nested-select pagination (`.friends.select(...).limit(5)`) now survives DSL-JSON round-trips instead of returning the unbounded set.
28
+
29
+ **DSL-JSON wire format** (canonical/interop format — see `documentation/dsl-json.md`)
30
+
31
+ - Reconciled with its spec and made more LLM-authorable: relation-keyed projection is the single canonical form; word-operator aliases (`equals`/`gt`/…) are accepted alongside symbols; the seven system value-tags are now `@`-sigiled (`@id`, `@ctx`, `@date`, `@list`, `@add`/`@remove`, `@unset`, `@path`) so a property may be named `date`/`id`/`path`/… without collision. No released consumer persists the old format.
32
+
33
+ **Action needed / behavior changes**
34
+
35
+ - **`Expr` module trimmed** — the property-first delegators (`Expr.plus`, `Expr.eq`, `Expr.regex`, `Expr.bound`, `Expr.ucase`, …) were removed. Use the fluent form instead: `p.age.plus(1)`, `p.name.matches(/^A/)`, `p.name.isDefined()`, `p.hobby.oneOf([…])`. `Expr` keeps only the non-property-first ops: `now`, `ifThen`, `firstDefined`, `concat`, `not`.
36
+ - **Louder errors** — accessing an undecorated property inside a query callback now throws (it previously warned and returned a garbage constant); `setQueryContext` with an unmaterializable value throws instead of silently no-op'ing; `create`/`update` now reject cardinality (`minCount`/`maxCount`) and literal-vs-relation kind violations at build time.
37
+
38
+ **Security** — closed both critical SPARQL-injection vectors (unvalidated IRIs in `formatUri`, unescaped function/aggregate names), plus variable sanitization, a decode recursion-depth cap (DoS), and prototype hygiene on inbound JSON.
39
+
40
+ **Leanness** — removed ~1000 lines of dead code, dropped an unused runtime dependency, stopped publishing test-helpers in the package artifact, and fixed a `NodeShape.type` predicate that was clobbered to `sh:description`.
41
+
3
42
  ## 2.11.1
4
43
 
5
44
  ### Patch Changes
package/README.md CHANGED
@@ -275,13 +275,13 @@ const updated = await Person.update({name: 'Alicia'}).for({id: 'https://my.app/n
275
275
  import {LinkedStorage} from '@_linked/core';
276
276
  import {InMemoryStore} from '@_linked/rdf-mem-store';
277
277
 
278
- LinkedStorage.setDefaultStore(new InMemoryStore());
278
+ LinkedStorage.setDefaultDataset(new InMemoryStore());
279
279
  ```
280
280
 
281
281
  You can also route specific shapes to specific stores:
282
282
 
283
283
  ```typescript
284
- LinkedStorage.setStoreForShapes(new InMemoryStore(), Person);
284
+ LinkedStorage.setDatasetForShapes(new InMemoryStore(), Person);
285
285
  ```
286
286
 
287
287
  ### Config-driven setup: `parseDatasetsConfig` + `loadStores`
@@ -545,7 +545,7 @@ const labeled = await Person.select((p) => ({
545
545
 
546
546
  // First non-null value
547
547
  const display = await Person.select((p) => ({
548
- display: Expr.firstDefined(p.name, p.nickNames, Expr.str('Unknown')),
548
+ display: Expr.firstDefined(p.name, p.nickNames, 'Unknown'),
549
549
  }));
550
550
  ```
551
551
 
@@ -1,58 +1,29 @@
1
1
  import { ExpressionNode } from './ExpressionNode.js';
2
2
  import type { ExpressionInput } from './ExpressionNode.js';
3
+ /**
4
+ * `Expr` — static builders for expressions that have **no natural fluent host**.
5
+ *
6
+ * The fluent form (`p.age.plus(1)`, `p.name.matches(/^A/)`) is the one true way to
7
+ * build a *property-first* expression; every arithmetic/comparison/string/date/hash
8
+ * operation lives there. `Expr` deliberately does **not** mirror them — that
9
+ * duplication is what drifted (two names for one op). `Expr` carries only the
10
+ * operations that can't start from a property proxy:
11
+ *
12
+ * - `now()` — nullary; there is nothing to chain off.
13
+ * - `ifThen(c,t,e)`— ternary conditional; the condition is not a natural receiver.
14
+ * - `firstDefined(…)` — variadic COALESCE; no natural first operand.
15
+ * - `concat(…)` — variadic; also reads best literal-first (`Expr.concat('Hi ', p.name)`).
16
+ * - `not(x)` — prefix negation; `Expr.not(cond)` reads better than `cond.not()`.
17
+ */
3
18
  export declare const Expr: {
4
- readonly plus: (a: ExpressionInput, b: ExpressionInput) => ExpressionNode;
5
- readonly minus: (a: ExpressionInput, b: ExpressionInput) => ExpressionNode;
6
- readonly times: (a: ExpressionInput, b: ExpressionInput) => ExpressionNode;
7
- readonly divide: (a: ExpressionInput, b: ExpressionInput) => ExpressionNode;
8
- readonly abs: (a: ExpressionInput) => ExpressionNode;
9
- readonly round: (a: ExpressionInput) => ExpressionNode;
10
- readonly ceil: (a: ExpressionInput) => ExpressionNode;
11
- readonly floor: (a: ExpressionInput) => ExpressionNode;
12
- readonly power: (a: ExpressionInput, b: number) => ExpressionNode;
13
- readonly eq: (a: ExpressionInput, b: ExpressionInput) => ExpressionNode;
14
- readonly neq: (a: ExpressionInput, b: ExpressionInput) => ExpressionNode;
15
- readonly gt: (a: ExpressionInput, b: ExpressionInput) => ExpressionNode;
16
- readonly gte: (a: ExpressionInput, b: ExpressionInput) => ExpressionNode;
17
- readonly lt: (a: ExpressionInput, b: ExpressionInput) => ExpressionNode;
18
- readonly lte: (a: ExpressionInput, b: ExpressionInput) => ExpressionNode;
19
- readonly concat: (...parts: ExpressionInput[]) => ExpressionNode;
20
- readonly contains: (a: ExpressionInput, b: ExpressionInput) => ExpressionNode;
21
- readonly startsWith: (a: ExpressionInput, b: ExpressionInput) => ExpressionNode;
22
- readonly endsWith: (a: ExpressionInput, b: ExpressionInput) => ExpressionNode;
23
- readonly substr: (a: ExpressionInput, start: number, len?: number) => ExpressionNode;
24
- readonly before: (a: ExpressionInput, b: ExpressionInput) => ExpressionNode;
25
- readonly after: (a: ExpressionInput, b: ExpressionInput) => ExpressionNode;
26
- readonly replace: (a: ExpressionInput, pat: string, rep: string, flags?: string) => ExpressionNode;
27
- readonly ucase: (a: ExpressionInput) => ExpressionNode;
28
- readonly lcase: (a: ExpressionInput) => ExpressionNode;
29
- readonly strlen: (a: ExpressionInput) => ExpressionNode;
30
- readonly encodeForUri: (a: ExpressionInput) => ExpressionNode;
31
- readonly regex: (a: ExpressionInput, pat: string, flags?: string) => ExpressionNode;
19
+ /** SPARQL `NOW()` the current dateTime. */
32
20
  readonly now: () => ExpressionNode;
33
- readonly year: (a: ExpressionInput) => ExpressionNode;
34
- readonly month: (a: ExpressionInput) => ExpressionNode;
35
- readonly day: (a: ExpressionInput) => ExpressionNode;
36
- readonly hours: (a: ExpressionInput) => ExpressionNode;
37
- readonly minutes: (a: ExpressionInput) => ExpressionNode;
38
- readonly seconds: (a: ExpressionInput) => ExpressionNode;
39
- readonly timezone: (a: ExpressionInput) => ExpressionNode;
40
- readonly tz: (a: ExpressionInput) => ExpressionNode;
41
- readonly and: (a: ExpressionInput, b: ExpressionInput) => ExpressionNode;
42
- readonly or: (a: ExpressionInput, b: ExpressionInput) => ExpressionNode;
43
- readonly not: (a: ExpressionInput) => ExpressionNode;
21
+ /** SPARQL `CONCAT(...)` string concatenation of two or more parts. */
22
+ readonly concat: (...parts: ExpressionInput[]) => ExpressionNode;
23
+ /** SPARQL `COALESCE(...)` the first bound/defined value among two or more. */
44
24
  readonly firstDefined: (...args: ExpressionInput[]) => ExpressionNode;
25
+ /** SPARQL `IF(cond, then, else)`. */
45
26
  readonly ifThen: (cond: ExpressionInput, thenVal: ExpressionInput, elseVal: ExpressionInput) => ExpressionNode;
46
- readonly bound: (a: ExpressionInput) => ExpressionNode;
47
- readonly lang: (a: ExpressionInput) => ExpressionNode;
48
- readonly datatype: (a: ExpressionInput) => ExpressionNode;
49
- readonly str: (a: ExpressionInput) => ExpressionNode;
50
- readonly iri: (a: ExpressionInput) => ExpressionNode;
51
- readonly isIri: (a: ExpressionInput) => ExpressionNode;
52
- readonly isLiteral: (a: ExpressionInput) => ExpressionNode;
53
- readonly isBlank: (a: ExpressionInput) => ExpressionNode;
54
- readonly isNumeric: (a: ExpressionInput) => ExpressionNode;
55
- readonly md5: (a: ExpressionInput) => ExpressionNode;
56
- readonly sha256: (a: ExpressionInput) => ExpressionNode;
57
- readonly sha512: (a: ExpressionInput) => ExpressionNode;
27
+ /** Prefix logical negation — `Expr.not(p.name.equals('Alice'))`. */
28
+ readonly not: (a: ExpressionInput) => ExpressionNode;
58
29
  };
@@ -22,153 +22,38 @@ function mergedRefs(inputs) {
22
22
  }
23
23
  return merged;
24
24
  }
25
+ /**
26
+ * `Expr` — static builders for expressions that have **no natural fluent host**.
27
+ *
28
+ * The fluent form (`p.age.plus(1)`, `p.name.matches(/^A/)`) is the one true way to
29
+ * build a *property-first* expression; every arithmetic/comparison/string/date/hash
30
+ * operation lives there. `Expr` deliberately does **not** mirror them — that
31
+ * duplication is what drifted (two names for one op). `Expr` carries only the
32
+ * operations that can't start from a property proxy:
33
+ *
34
+ * - `now()` — nullary; there is nothing to chain off.
35
+ * - `ifThen(c,t,e)`— ternary conditional; the condition is not a natural receiver.
36
+ * - `firstDefined(…)` — variadic COALESCE; no natural first operand.
37
+ * - `concat(…)` — variadic; also reads best literal-first (`Expr.concat('Hi ', p.name)`).
38
+ * - `not(x)` — prefix negation; `Expr.not(cond)` reads better than `cond.not()`.
39
+ */
25
40
  exports.Expr = {
26
- // ---------------------------------------------------------------------------
27
- // Arithmetic
28
- // ---------------------------------------------------------------------------
29
- plus(a, b) {
30
- return wrap(a).plus(b);
31
- },
32
- minus(a, b) {
33
- return wrap(a).minus(b);
34
- },
35
- times(a, b) {
36
- return wrap(a).times(b);
37
- },
38
- divide(a, b) {
39
- return wrap(a).divide(b);
40
- },
41
- abs(a) {
42
- return wrap(a).abs();
43
- },
44
- round(a) {
45
- return wrap(a).round();
46
- },
47
- ceil(a) {
48
- return wrap(a).ceil();
49
- },
50
- floor(a) {
51
- return wrap(a).floor();
52
- },
53
- power(a, b) {
54
- return wrap(a).power(b);
55
- },
56
- // ---------------------------------------------------------------------------
57
- // Comparison (short names only)
58
- // ---------------------------------------------------------------------------
59
- eq(a, b) {
60
- return wrap(a).eq(b);
61
- },
62
- neq(a, b) {
63
- return wrap(a).neq(b);
64
- },
65
- gt(a, b) {
66
- return wrap(a).gt(b);
67
- },
68
- gte(a, b) {
69
- return wrap(a).gte(b);
70
- },
71
- lt(a, b) {
72
- return wrap(a).lt(b);
73
- },
74
- lte(a, b) {
75
- return wrap(a).lte(b);
41
+ /** SPARQL `NOW()` — the current dateTime. */
42
+ now() {
43
+ return new ExpressionNode_js_1.ExpressionNode({ kind: 'function_expr', name: 'NOW', args: [] });
76
44
  },
77
- // ---------------------------------------------------------------------------
78
- // String
79
- // ---------------------------------------------------------------------------
45
+ /** SPARQL `CONCAT(...)` — string concatenation of two or more parts. */
80
46
  concat(...parts) {
81
47
  if (parts.length < 2) {
82
48
  throw new Error('Expr.concat() requires at least 2 arguments');
83
49
  }
84
- const [first, ...rest] = parts;
85
50
  return new ExpressionNode_js_1.ExpressionNode({
86
51
  kind: 'function_expr',
87
52
  name: 'CONCAT',
88
53
  args: parts.map(ExpressionNode_js_1.toIRExpression),
89
54
  }, mergedRefs(parts));
90
55
  },
91
- contains(a, b) {
92
- return wrap(a).contains(b);
93
- },
94
- startsWith(a, b) {
95
- return wrap(a).startsWith(b);
96
- },
97
- endsWith(a, b) {
98
- return wrap(a).endsWith(b);
99
- },
100
- substr(a, start, len) {
101
- return wrap(a).substr(start, len);
102
- },
103
- before(a, b) {
104
- return wrap(a).before(b);
105
- },
106
- after(a, b) {
107
- return wrap(a).after(b);
108
- },
109
- replace(a, pat, rep, flags) {
110
- return wrap(a).replace(pat, rep, flags);
111
- },
112
- ucase(a) {
113
- return wrap(a).ucase();
114
- },
115
- lcase(a) {
116
- return wrap(a).lcase();
117
- },
118
- strlen(a) {
119
- return wrap(a).strlen();
120
- },
121
- encodeForUri(a) {
122
- return wrap(a).encodeForUri();
123
- },
124
- regex(a, pat, flags) {
125
- return wrap(a).matches(pat, flags);
126
- },
127
- // ---------------------------------------------------------------------------
128
- // Date/Time
129
- // ---------------------------------------------------------------------------
130
- now() {
131
- return new ExpressionNode_js_1.ExpressionNode({ kind: 'function_expr', name: 'NOW', args: [] });
132
- },
133
- year(a) {
134
- return wrap(a).year();
135
- },
136
- month(a) {
137
- return wrap(a).month();
138
- },
139
- day(a) {
140
- return wrap(a).day();
141
- },
142
- hours(a) {
143
- return wrap(a).hours();
144
- },
145
- minutes(a) {
146
- return wrap(a).minutes();
147
- },
148
- seconds(a) {
149
- return wrap(a).seconds();
150
- },
151
- timezone(a) {
152
- return wrap(a).timezone();
153
- },
154
- tz(a) {
155
- return wrap(a).tz();
156
- },
157
- // ---------------------------------------------------------------------------
158
- // Logical
159
- // ---------------------------------------------------------------------------
160
- and(a, b) {
161
- return wrap(a).and(b);
162
- },
163
- or(a, b) {
164
- return wrap(a).or(b);
165
- },
166
- not(a) {
167
- return wrap(a).not();
168
- },
169
- // ---------------------------------------------------------------------------
170
- // Null-handling / Conditional
171
- // ---------------------------------------------------------------------------
56
+ /** SPARQL `COALESCE(...)` — the first bound/defined value among two or more. */
172
57
  firstDefined(...args) {
173
58
  if (args.length < 2) {
174
59
  throw new Error('Expr.firstDefined() requires at least 2 arguments');
@@ -179,6 +64,7 @@ exports.Expr = {
179
64
  args: args.map(ExpressionNode_js_1.toIRExpression),
180
65
  }, mergedRefs(args));
181
66
  },
67
+ /** SPARQL `IF(cond, then, else)`. */
182
68
  ifThen(cond, thenVal, elseVal) {
183
69
  return new ExpressionNode_js_1.ExpressionNode({
184
70
  kind: 'function_expr',
@@ -186,47 +72,9 @@ exports.Expr = {
186
72
  args: [(0, ExpressionNode_js_1.toIRExpression)(cond), (0, ExpressionNode_js_1.toIRExpression)(thenVal), (0, ExpressionNode_js_1.toIRExpression)(elseVal)],
187
73
  }, mergedRefs([cond, thenVal, elseVal]));
188
74
  },
189
- bound(a) {
190
- return wrap(a).isDefined();
191
- },
192
- // ---------------------------------------------------------------------------
193
- // RDF introspection
194
- // ---------------------------------------------------------------------------
195
- lang(a) {
196
- return wrap(a).lang();
197
- },
198
- datatype(a) {
199
- return wrap(a).datatype();
200
- },
201
- str(a) {
202
- return wrap(a).str();
203
- },
204
- iri(a) {
205
- return wrap(a).iri();
206
- },
207
- isIri(a) {
208
- return wrap(a).isIri();
209
- },
210
- isLiteral(a) {
211
- return wrap(a).isLiteral();
212
- },
213
- isBlank(a) {
214
- return wrap(a).isBlank();
215
- },
216
- isNumeric(a) {
217
- return wrap(a).isNumeric();
218
- },
219
- // ---------------------------------------------------------------------------
220
- // Hash
221
- // ---------------------------------------------------------------------------
222
- md5(a) {
223
- return wrap(a).md5();
224
- },
225
- sha256(a) {
226
- return wrap(a).sha256();
227
- },
228
- sha512(a) {
229
- return wrap(a).sha512();
75
+ /** Prefix logical negation — `Expr.not(p.name.equals('Alice'))`. */
76
+ not(a) {
77
+ return wrap(a).not();
230
78
  },
231
79
  };
232
80
  //# sourceMappingURL=Expr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Expr.js","sourceRoot":"","sources":["../../../src/expressions/Expr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Expr.js","sourceRoot":"","sources":["../../../src/expressions/Expr.ts"],"names":[],"mappings":";;;AAAA,2DAAmE;AAGnE,SAAS,IAAI,CAAC,KAAsB;IAClC,OAAO,KAAK,YAAY,kCAAc;QACpC,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,kCAAc,CAAC,IAAA,kCAAc,EAAC,KAAK,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,MAAkC;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAC;IACpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,YAAY,kCAAc,EAAE,CAAC;YACpC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACU,QAAA,IAAI,GAAG;IAClB,6CAA6C;IAC7C,GAAG;QACD,OAAO,IAAI,kCAAc,CAAC,EAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAC,CAAC,CAAC;IAC5E,CAAC;IAED,wEAAwE;IACxE,MAAM,CAAC,GAAG,KAAwB;QAChC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,IAAI,kCAAc,CACvB;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,kCAAc,CAAC;SAChC,EACD,UAAU,CAAC,KAAK,CAAC,CAClB,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,YAAY,CAAC,GAAG,IAAuB;QACrC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,IAAI,kCAAc,CACvB;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,kCAAc,CAAC;SAC/B,EACD,UAAU,CAAC,IAAI,CAAC,CACjB,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,MAAM,CACJ,IAAqB,EACrB,OAAwB,EACxB,OAAwB;QAExB,OAAO,IAAI,kCAAc,CACvB;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,CAAC,IAAA,kCAAc,EAAC,IAAI,CAAC,EAAE,IAAA,kCAAc,EAAC,OAAO,CAAC,EAAE,IAAA,kCAAc,EAAC,OAAO,CAAC,CAAC;SAC/E,EACD,UAAU,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CACrC,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,GAAG,CAAC,CAAkB;QACpB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;CACO,CAAC"}
@@ -6,6 +6,10 @@ export interface BaseExpressionMethods {
6
6
  equals(v: ExpressionInput): ExpressionNode;
7
7
  neq(v: ExpressionInput): ExpressionNode;
8
8
  notEquals(v: ExpressionInput): ExpressionNode;
9
+ /** Membership: this value is one of `values` (SPARQL `IN`). */
10
+ oneOf(values: ExpressionInput[]): ExpressionNode;
11
+ /** Membership: this value is not one of `values` (SPARQL `NOT IN`). */
12
+ notOneOf(values: ExpressionInput[]): ExpressionNode;
9
13
  isDefined(): ExpressionNode;
10
14
  isNotDefined(): ExpressionNode;
11
15
  defaultTo(fallback: ExpressionInput): ExpressionNode;
@@ -38,6 +38,10 @@ export declare class ExpressionNode {
38
38
  lessThan(v: ExpressionInput): ExpressionNode;
39
39
  lte(v: ExpressionInput): ExpressionNode;
40
40
  lessThanOrEqual(v: ExpressionInput): ExpressionNode;
41
+ /** True when this value is one of `values` (SPARQL `IN`). Empty list → matches nothing. */
42
+ oneOf(values: ExpressionInput[]): ExpressionNode;
43
+ /** True when this value is NOT one of `values` (SPARQL `NOT IN`). Empty list → matches everything. */
44
+ notOneOf(values: ExpressionInput[]): ExpressionNode;
41
45
  concat(...parts: ExpressionInput[]): ExpressionNode;
42
46
  contains(s: ExpressionInput): ExpressionNode;
43
47
  startsWith(s: ExpressionInput): ExpressionNode;
@@ -144,6 +144,17 @@ class ExpressionNode {
144
144
  return this.lte(v);
145
145
  }
146
146
  // ---------------------------------------------------------------------------
147
+ // Membership — `value IN (…)` / `NOT IN (…)`
148
+ // ---------------------------------------------------------------------------
149
+ /** True when this value is one of `values` (SPARQL `IN`). Empty list → matches nothing. */
150
+ oneOf(values) {
151
+ return this._derive({ kind: 'in_expr', negated: false, value: this.ir, source: { list: values.map(toIRExpression) } }, ...values);
152
+ }
153
+ /** True when this value is NOT one of `values` (SPARQL `NOT IN`). Empty list → matches everything. */
154
+ notOneOf(values) {
155
+ return this._derive({ kind: 'in_expr', negated: true, value: this.ir, source: { list: values.map(toIRExpression) } }, ...values);
156
+ }
157
+ // ---------------------------------------------------------------------------
147
158
  // String
148
159
  // ---------------------------------------------------------------------------
149
160
  concat(...parts) {
@@ -352,6 +363,8 @@ function resolveExpressionRefs(expr, refs, rootAlias, resolveTraversal) {
352
363
  }
353
364
  case 'binary_expr':
354
365
  return Object.assign(Object.assign({}, e), { left: resolve(e.left), right: resolve(e.right) });
366
+ case 'in_expr':
367
+ return Object.assign(Object.assign({}, e), { value: resolve(e.value), source: { list: e.source.list.map(resolve) } });
355
368
  case 'function_expr':
356
369
  return Object.assign(Object.assign({}, e), { args: e.args.map(resolve) });
357
370
  case 'aggregate_expr':
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressionNode.js","sourceRoot":"","sources":["../../../src/expressions/ExpressionNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpressionNode.js","sourceRoot":"","sources":["../../../src/expressions/ExpressionNode.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export { syncShapes, syncShape } from './shapes/syncShapes.js';
2
2
  export { rdfList } from './shapes/List.js';
3
3
  export { serializePathToNodeData } from './shapes/serializePathToNodeData.js';
4
+ export { Shape } from './shapes/Shape.js';
5
+ export { LinkedStorage } from './utils/LinkedStorage.js';
4
6
  export { SelectBuilder, QueryBuilder } from './queries/QueryBuilder.js';
5
7
  export { lower } from './queries/lower.js';
6
8
  export type { LowerableQuery } from './queries/lower.js';
@@ -10,7 +12,6 @@ export { getQueryContext, setQueryContext, subscribeQueryContext, PendingQueryCo
10
12
  export { CONTEXT_REF_KEY, encodeContextRef, isContextRefJSON, resolveContextId, } from './queries/ContextRef.js';
11
13
  export type { ContextRefJSON } from './queries/ContextRef.js';
12
14
  export { PropertyPath, walkPropertyPath } from './queries/PropertyPath.js';
13
- export type { WhereCondition, WhereOperator } from './queries/WhereCondition.js';
14
15
  export { FieldSet } from './queries/FieldSet.js';
15
16
  export type { FieldSetEntry, FieldSetInput, FieldSetJSON, FieldSetFieldJSON } from './queries/FieldSet.js';
16
17
  export type { QueryBuilderJSON } from './queries/QueryBuilder.js';
@@ -26,4 +27,3 @@ export type { LinkedComponentInterface, QueryComponentLike } from './queries/Sel
26
27
  export { encodeNodeData, encodeValue, } from './queries/MutationSerialization.js';
27
28
  export { decodeNodeData, lowerMutationJSON, } from './queries/lowerMutationJSON.js';
28
29
  export type { MutationJSON, CreateMutationJSON, UpdateMutationJSON, DeleteMutationJSON, MutationValueJSON, MutationNodeDataJSON, } from './queries/MutationSerialization.js';
29
- export declare function initModularApp(): void;