@_linked/core 2.10.0 → 2.10.1-next.20260702053252

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 (58) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/lib/cjs/index.d.ts +1 -1
  3. package/lib/cjs/index.js.map +1 -1
  4. package/lib/cjs/queries/CreateBuilder.js +3 -2
  5. package/lib/cjs/queries/CreateBuilder.js.map +1 -1
  6. package/lib/cjs/queries/DeleteBuilder.js +1 -1
  7. package/lib/cjs/queries/DeleteBuilder.js.map +1 -1
  8. package/lib/cjs/queries/FieldSet.d.ts +32 -4
  9. package/lib/cjs/queries/FieldSet.js +127 -12
  10. package/lib/cjs/queries/FieldSet.js.map +1 -1
  11. package/lib/cjs/queries/MutationSerialization.d.ts +39 -40
  12. package/lib/cjs/queries/MutationSerialization.js +113 -87
  13. package/lib/cjs/queries/MutationSerialization.js.map +1 -1
  14. package/lib/cjs/queries/QueryBuilder.d.ts +2 -2
  15. package/lib/cjs/queries/QueryBuilder.js +11 -16
  16. package/lib/cjs/queries/QueryBuilder.js.map +1 -1
  17. package/lib/cjs/queries/QueryBuilderSerialization.d.ts +17 -81
  18. package/lib/cjs/queries/QueryBuilderSerialization.js +21 -295
  19. package/lib/cjs/queries/QueryBuilderSerialization.js.map +1 -1
  20. package/lib/cjs/queries/UpdateBuilder.js +3 -3
  21. package/lib/cjs/queries/UpdateBuilder.js.map +1 -1
  22. package/lib/cjs/queries/ZcExpression.d.ts +68 -0
  23. package/lib/cjs/queries/ZcExpression.js +369 -0
  24. package/lib/cjs/queries/ZcExpression.js.map +1 -0
  25. package/lib/cjs/queries/lowerMutationJSON.d.ts +15 -2
  26. package/lib/cjs/queries/lowerMutationJSON.js +68 -46
  27. package/lib/cjs/queries/lowerMutationJSON.js.map +1 -1
  28. package/lib/cjs/shapes/SHACL.js +10 -0
  29. package/lib/cjs/shapes/SHACL.js.map +1 -1
  30. package/lib/esm/index.d.ts +1 -1
  31. package/lib/esm/index.js.map +1 -1
  32. package/lib/esm/queries/CreateBuilder.js +3 -2
  33. package/lib/esm/queries/CreateBuilder.js.map +1 -1
  34. package/lib/esm/queries/DeleteBuilder.js +1 -1
  35. package/lib/esm/queries/DeleteBuilder.js.map +1 -1
  36. package/lib/esm/queries/FieldSet.d.ts +32 -4
  37. package/lib/esm/queries/FieldSet.js +129 -14
  38. package/lib/esm/queries/FieldSet.js.map +1 -1
  39. package/lib/esm/queries/MutationSerialization.d.ts +39 -40
  40. package/lib/esm/queries/MutationSerialization.js +112 -86
  41. package/lib/esm/queries/MutationSerialization.js.map +1 -1
  42. package/lib/esm/queries/QueryBuilder.d.ts +2 -2
  43. package/lib/esm/queries/QueryBuilder.js +11 -16
  44. package/lib/esm/queries/QueryBuilder.js.map +1 -1
  45. package/lib/esm/queries/QueryBuilderSerialization.d.ts +17 -81
  46. package/lib/esm/queries/QueryBuilderSerialization.js +21 -260
  47. package/lib/esm/queries/QueryBuilderSerialization.js.map +1 -1
  48. package/lib/esm/queries/UpdateBuilder.js +3 -3
  49. package/lib/esm/queries/UpdateBuilder.js.map +1 -1
  50. package/lib/esm/queries/ZcExpression.d.ts +68 -0
  51. package/lib/esm/queries/ZcExpression.js +361 -0
  52. package/lib/esm/queries/ZcExpression.js.map +1 -0
  53. package/lib/esm/queries/lowerMutationJSON.d.ts +15 -2
  54. package/lib/esm/queries/lowerMutationJSON.js +69 -47
  55. package/lib/esm/queries/lowerMutationJSON.js.map +1 -1
  56. package/lib/esm/shapes/SHACL.js +10 -0
  57. package/lib/esm/shapes/SHACL.js.map +1 -1
  58. package/package.json +1 -1
@@ -1,95 +1,31 @@
1
1
  /**
2
- * Serialization and deserialization helpers for QueryBuilder fields that contain
3
- * live object references (PropertyShape, ExpressionNode, etc.).
2
+ * Serialization helpers for QueryBuilder fields that contain live object
3
+ * references (where-clauses, sort paths, minus entries).
4
4
  *
5
- * These convert between runtime WherePath / SortByPath / RawMinusEntry structures
6
- * and plain JSON-safe representations that can round-trip through JSON.stringify/parse.
5
+ * Where-clauses serialize through the Z-c expression codec
6
+ * (`ZcExpression.ts`) the wire form carries no IR. This module wires that
7
+ * codec into the select/mutation envelopes and handles sort + minus.
7
8
  */
8
9
  import type { NodeShape } from '../shapes/SHACL.js';
9
- import type { WherePath, QueryPropertyPath, SortByPath } from './SelectQuery.js';
10
- import type { IRExpression } from './IntermediateRepresentation.js';
10
+ import type { WherePath, SortByPath } from './SelectQuery.js';
11
11
  import type { RawMinusEntry } from './IRDesugar.js';
12
- export type QueryStepJSON = {
13
- kind: 'property';
14
- label: string;
15
- where?: WherePathJSON;
16
- } | {
17
- kind: 'size';
18
- count: QueryStepJSON[];
19
- label?: string;
20
- } | {
21
- kind: 'shapeRef';
22
- id: string;
23
- shapeId: string;
24
- };
25
- export type ExistsConditionJSON = {
26
- kind: 'exists';
27
- pathSegmentIds: string[];
28
- predicate: {
29
- ir: IRExpression;
30
- refs?: Record<string, string[]>;
31
- };
32
- negated: boolean;
33
- chain: {
34
- op: 'and' | 'or';
35
- condition: ExistsConditionJSON | {
36
- kind: 'expression';
37
- ir: IRExpression;
38
- refs?: Record<string, string[]>;
39
- };
40
- }[];
41
- };
42
- export type WherePathJSON = {
43
- kind: 'evaluation';
44
- path: QueryStepJSON[];
45
- method: string;
46
- args: QueryArgJSON[];
47
- } | {
48
- kind: 'andOr';
49
- firstPath: WherePathJSON;
50
- andOr: {
51
- and?: WherePathJSON;
52
- or?: WherePathJSON;
53
- }[];
54
- } | {
55
- kind: 'expression';
56
- ir: IRExpression;
57
- refs?: Record<string, string[]>;
58
- } | ExistsConditionJSON;
59
- export type QueryArgJSON = {
60
- kind: 'nodeRef';
61
- id: string;
62
- } | {
63
- kind: 'primitive';
64
- value: string | number | boolean;
65
- } | {
66
- kind: 'date';
67
- value: string;
68
- } | {
69
- kind: 'argPath';
70
- path: QueryStepJSON[];
71
- subject: {
72
- id: string;
73
- shapeId: string;
74
- };
75
- } | {
76
- kind: 'where';
77
- where: WherePathJSON;
78
- };
79
- export type SortByPathJSON = {
80
- paths: string[];
81
- direction: 'ASC' | 'DESC';
82
- };
12
+ import { type ZcCondition } from './ZcExpression.js';
13
+ /** A where-clause on the wire is a Z-c condition (see documentation/dsl-json.md). */
14
+ export type WherePathJSON = ZcCondition;
15
+ /** An ordered list of `{path: direction}` — element order is sort precedence. */
16
+ export type SortByPathJSON = Array<{
17
+ [path: string]: 'ASC' | 'DESC';
18
+ }>;
83
19
  export type RawMinusEntryJSON = {
84
20
  shapeId?: string;
85
21
  where?: WherePathJSON;
86
22
  propertyPaths?: string[][];
87
23
  };
88
- export declare function serializeQueryPropertyPath(path: QueryPropertyPath): QueryStepJSON[];
89
- export declare function serializeWherePath(where: WherePath): WherePathJSON;
24
+ /** Serialize a runtime where-clause to its Z-c condition form. */
25
+ export declare function serializeWherePath(where: WherePath, shape: NodeShape): WherePathJSON;
90
26
  export declare function serializeSortByPath(sort: SortByPath): SortByPathJSON;
91
- export declare function serializeRawMinusEntry(entry: RawMinusEntry): RawMinusEntryJSON;
92
- export declare function deserializeQueryPropertyPath(shape: NodeShape, steps: QueryStepJSON[]): QueryPropertyPath;
27
+ export declare function serializeRawMinusEntry(entry: RawMinusEntry, shape: NodeShape): RawMinusEntryJSON;
28
+ /** Rebuild a runtime where-clause from its Z-c condition form. */
93
29
  export declare function deserializeWherePath(shape: NodeShape, json: WherePathJSON): WherePath;
94
30
  export declare function deserializeSortByPath(shape: NodeShape, json: SortByPathJSON): SortByPath;
95
31
  export declare function deserializeRawMinusEntry(shape: NodeShape, json: RawMinusEntryJSON): RawMinusEntry;
@@ -1,170 +1,32 @@
1
1
  /**
2
- * Serialization and deserialization helpers for QueryBuilder fields that contain
3
- * live object references (PropertyShape, ExpressionNode, etc.).
2
+ * Serialization helpers for QueryBuilder fields that contain live object
3
+ * references (where-clauses, sort paths, minus entries).
4
4
  *
5
- * These convert between runtime WherePath / SortByPath / RawMinusEntry structures
6
- * and plain JSON-safe representations that can round-trip through JSON.stringify/parse.
5
+ * Where-clauses serialize through the Z-c expression codec
6
+ * (`ZcExpression.ts`) the wire form carries no IR. This module wires that
7
+ * codec into the select/mutation envelopes and handles sort + minus.
7
8
  */
8
- import { getShapeClass } from '../utils/ShapeClass.js';
9
9
  import { walkPropertyPath } from './PropertyPath.js';
10
- import { ExpressionNode } from '../expressions/ExpressionNode.js';
11
- // ExistsCondition only exists after the WherePath refactor; access dynamically
12
- // so this file compiles on branches where it doesn't exist yet.
13
- import * as _exprModule from '../expressions/ExpressionNode.js';
14
- const ExistsConditionCtor = _exprModule.ExistsCondition;
10
+ import { encodeCondition, decodeCondition, } from './ZcExpression.js';
15
11
  // =============================================================================
16
12
  // Serialization
17
13
  // =============================================================================
18
- export function serializeQueryPropertyPath(path) {
19
- return path.map(serializeQueryStep);
20
- }
21
- function serializeQueryStep(step) {
22
- // PropertyQueryStep — has a .property field that is a PropertyShape
23
- if ('property' in step && step.property) {
24
- const pqs = step;
25
- const json = {
26
- kind: 'property',
27
- label: pqs.property.label,
28
- };
29
- if (pqs.where) {
30
- json.where = serializeWherePath(pqs.where);
31
- }
32
- return json;
33
- }
34
- // SizeStep — has a .count field
35
- if ('count' in step) {
36
- const ss = step;
37
- const json = {
38
- kind: 'size',
39
- count: serializeQueryPropertyPath(ss.count),
40
- };
41
- if (ss.label)
42
- json.label = ss.label;
43
- return json;
44
- }
45
- // ShapeReferenceValue — has .id and .shape
46
- const ref = step;
47
- return { kind: 'shapeRef', id: ref.id, shapeId: ref.shape.id };
48
- }
49
- export function serializeWherePath(where) {
50
- var _a, _b;
51
- if ('expressionNode' in where) {
52
- const expr = where.expressionNode;
53
- const json = {
54
- kind: 'expression',
55
- ir: expr.ir,
56
- };
57
- if (expr._refs.size > 0) {
58
- const refs = {};
59
- for (const [k, v] of expr._refs)
60
- refs[k] = [...v];
61
- json.refs = refs;
62
- }
63
- return json;
64
- }
65
- if ('firstPath' in where) {
66
- const andOr = where;
67
- return {
68
- kind: 'andOr',
69
- firstPath: serializeWherePath(andOr.firstPath),
70
- andOr: andOr.andOr.map((token) => {
71
- const t = {};
72
- if (token.and)
73
- t.and = serializeWherePath(token.and);
74
- if (token.or)
75
- t.or = serializeWherePath(token.or);
76
- return t;
77
- }),
78
- };
79
- }
80
- if ('path' in where && 'method' in where && 'args' in where) {
81
- const ev = where;
82
- return {
83
- kind: 'evaluation',
84
- path: serializeQueryPropertyPath(ev.path),
85
- method: ev.method,
86
- args: ev.args.map(serializeQueryArg),
87
- };
88
- }
89
- if ('existsCondition' in where) {
90
- // WhereExistsPath — serialize the ExistsCondition structurally
91
- const ec = where.existsCondition;
92
- return {
93
- kind: 'exists',
94
- pathSegmentIds: [...ec.pathSegmentIds],
95
- predicate: { ir: ec.predicate.ir, refs: serializePropertyRefMap(ec.predicate._refs) },
96
- negated: (_a = ec.negated) !== null && _a !== void 0 ? _a : false,
97
- chain: ((_b = ec.chain) !== null && _b !== void 0 ? _b : []).map((c) => {
98
- var _a;
99
- if ('pathSegmentIds' in c.condition) {
100
- // A nested exists inside a chain. We serialize one level of nesting;
101
- // a nested exists carrying its OWN chain would be silently truncated,
102
- // so fail loud rather than drop data. (Deeper nesting can be made fully
103
- // recursive if a real case needs it.)
104
- if (c.condition.chain && c.condition.chain.length > 0) {
105
- throw new Error('Cannot serialize a nested exists() that itself carries a chained and()/or() condition — DSL-JSON supports one level of exists nesting.');
106
- }
107
- return {
108
- op: c.op,
109
- condition: { kind: 'exists', pathSegmentIds: [...c.condition.pathSegmentIds], predicate: { ir: c.condition.predicate.ir, refs: serializePropertyRefMap(c.condition.predicate._refs) }, negated: (_a = c.condition.negated) !== null && _a !== void 0 ? _a : false, chain: [] },
110
- };
111
- }
112
- return {
113
- op: c.op,
114
- condition: { kind: 'expression', ir: c.condition.ir, refs: serializePropertyRefMap(c.condition._refs) },
115
- };
116
- }),
117
- };
118
- }
119
- throw new Error(`Cannot serialize WherePath: ${JSON.stringify(Object.keys(where))}`);
120
- }
121
- function serializePropertyRefMap(refs) {
122
- if (!refs || refs.size === 0)
123
- return undefined;
124
- const out = {};
125
- for (const [k, v] of refs)
126
- out[k] = [...v];
127
- return out;
128
- }
129
- function serializeQueryArg(arg) {
130
- if (typeof arg === 'string' || typeof arg === 'number' || typeof arg === 'boolean') {
131
- return { kind: 'primitive', value: arg };
132
- }
133
- if (arg instanceof Date) {
134
- return { kind: 'date', value: arg.toISOString() };
135
- }
136
- if (typeof arg === 'object' && arg !== null) {
137
- if ('expressionNode' in arg || 'existsCondition' in arg || 'firstPath' in arg || ('path' in arg && 'method' in arg && 'args' in arg)) {
138
- return { kind: 'where', where: serializeWherePath(arg) };
139
- }
140
- // ArgPath — has 'subject' and 'path'
141
- if ('subject' in arg && 'path' in arg) {
142
- const ap = arg;
143
- return {
144
- kind: 'argPath',
145
- path: serializeQueryPropertyPath(ap.path),
146
- subject: { id: ap.subject.id, shapeId: ap.subject.shape.id },
147
- };
148
- }
149
- // NodeReferenceValue — has 'id'
150
- if ('id' in arg) {
151
- return { kind: 'nodeRef', id: arg.id };
152
- }
153
- }
154
- throw new Error(`Cannot serialize query arg: ${JSON.stringify(arg)}`);
14
+ /** Serialize a runtime where-clause to its Z-c condition form. */
15
+ export function serializeWherePath(where, shape) {
16
+ const node = 'existsCondition' in where
17
+ ? where.existsCondition
18
+ : where.expressionNode;
19
+ return encodeCondition(node, shape);
155
20
  }
156
21
  export function serializeSortByPath(sort) {
157
- return {
158
- paths: sort.paths.map((p) => p.toString()),
159
- direction: sort.direction,
160
- };
22
+ return sort.paths.map((p) => ({ [p.toString()]: sort.direction }));
161
23
  }
162
- export function serializeRawMinusEntry(entry) {
24
+ export function serializeRawMinusEntry(entry, shape) {
163
25
  const json = {};
164
26
  if (entry.shapeId)
165
27
  json.shapeId = entry.shapeId;
166
28
  if (entry.where)
167
- json.where = serializeWherePath(entry.where);
29
+ json.where = serializeWherePath(entry.where, shape);
168
30
  if (entry.propertyPaths) {
169
31
  json.propertyPaths = entry.propertyPaths.map((pp) => pp.map((seg) => seg.propertyShapeId));
170
32
  }
@@ -173,117 +35,16 @@ export function serializeRawMinusEntry(entry) {
173
35
  // =============================================================================
174
36
  // Deserialization
175
37
  // =============================================================================
176
- export function deserializeQueryPropertyPath(shape, steps) {
177
- var _a;
178
- const result = [];
179
- let currentShape = shape;
180
- for (const step of steps) {
181
- if (step.kind === 'property') {
182
- const propertyShape = currentShape.getPropertyShape(step.label);
183
- if (!propertyShape) {
184
- throw new Error(`Property '${step.label}' not found on shape '${currentShape.label || currentShape.id}'`);
185
- }
186
- const queryStep = { property: propertyShape };
187
- if (step.where) {
188
- const nestedShape = propertyShape.valueShape
189
- ? (_a = getShapeClass(propertyShape.valueShape)) === null || _a === void 0 ? void 0 : _a.shape
190
- : currentShape;
191
- queryStep.where = deserializeWherePath(nestedShape || currentShape, step.where);
192
- }
193
- result.push(queryStep);
194
- // Advance shape context for subsequent traversals
195
- if (propertyShape.valueShape) {
196
- const cls = getShapeClass(propertyShape.valueShape);
197
- if (cls === null || cls === void 0 ? void 0 : cls.shape)
198
- currentShape = cls.shape;
199
- }
200
- }
201
- else if (step.kind === 'size') {
202
- result.push({
203
- count: deserializeQueryPropertyPath(currentShape, step.count),
204
- label: step.label,
205
- });
206
- }
207
- else {
208
- // shapeRef
209
- result.push({ id: step.id, shape: { id: step.shapeId } });
210
- }
211
- }
212
- return result;
213
- }
38
+ /** Rebuild a runtime where-clause from its Z-c condition form. */
214
39
  export function deserializeWherePath(shape, json) {
215
- if (json.kind === 'expression') {
216
- const refs = new Map();
217
- if (json.refs) {
218
- for (const [k, v] of Object.entries(json.refs))
219
- refs.set(k, v);
220
- }
221
- return { expressionNode: new ExpressionNode(json.ir, refs) };
222
- }
223
- if (json.kind === 'exists') {
224
- if (!ExistsConditionCtor)
225
- throw new Error('ExistsCondition is not available on this build');
226
- const predRefs = deserializeRefMap(json.predicate.refs);
227
- const predicate = new ExpressionNode(json.predicate.ir, predRefs);
228
- const chain = json.chain.map((c) => {
229
- if (c.condition.kind === 'exists') {
230
- const innerRefs = deserializeRefMap(c.condition.predicate.refs);
231
- return { op: c.op, condition: new ExistsConditionCtor(c.condition.pathSegmentIds, new ExpressionNode(c.condition.predicate.ir, innerRefs), c.condition.negated) };
232
- }
233
- const exprRefs = deserializeRefMap(c.condition.refs);
234
- return { op: c.op, condition: new ExpressionNode(c.condition.ir, exprRefs) };
235
- });
236
- return { existsCondition: new ExistsConditionCtor(json.pathSegmentIds, predicate, json.negated, chain) };
237
- }
238
- if (json.kind === 'andOr') {
239
- return {
240
- firstPath: deserializeWherePath(shape, json.firstPath),
241
- andOr: json.andOr.map((token) => {
242
- const t = {};
243
- if (token.and)
244
- t.and = deserializeWherePath(shape, token.and);
245
- if (token.or)
246
- t.or = deserializeWherePath(shape, token.or);
247
- return t;
248
- }),
249
- };
250
- }
251
- // evaluation (legacy)
252
- return {
253
- path: deserializeQueryPropertyPath(shape, json.path),
254
- method: json.method,
255
- args: json.args.map((a) => deserializeQueryArg(shape, a)),
256
- };
257
- }
258
- function deserializeRefMap(refs) {
259
- const m = new Map();
260
- if (refs) {
261
- for (const [k, v] of Object.entries(refs))
262
- m.set(k, v);
263
- }
264
- return m;
265
- }
266
- function deserializeQueryArg(shape, json) {
267
- switch (json.kind) {
268
- case 'primitive':
269
- return json.value;
270
- case 'date':
271
- return new Date(json.value);
272
- case 'nodeRef':
273
- return { id: json.id };
274
- case 'where':
275
- return deserializeWherePath(shape, json.where);
276
- case 'argPath':
277
- return {
278
- path: deserializeQueryPropertyPath(shape, json.path),
279
- subject: { id: json.subject.id, shape: { id: json.subject.shapeId } },
280
- };
281
- }
40
+ return decodeCondition(json, shape);
282
41
  }
283
42
  export function deserializeSortByPath(shape, json) {
43
+ // The runtime SortByPath has one direction for all paths, so the encoder writes
44
+ // the same direction on every `{path: dir}` entry and only the first is read back.
284
45
  return {
285
- paths: json.paths.map((p) => walkPropertyPath(shape, p)),
286
- direction: json.direction,
46
+ paths: json.map((e) => walkPropertyPath(shape, Object.keys(e)[0])),
47
+ direction: (json.length ? Object.values(json[0])[0] : 'ASC'),
287
48
  };
288
49
  }
289
50
  export function deserializeRawMinusEntry(shape, json) {
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderSerialization.js","sourceRoot":"","sources":["../../../src/queries/QueryBuilderSerialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderSerialization.js","sourceRoot":"","sources":["../../../src/queries/QueryBuilderSerialization.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ export class UpdateBuilder {
49
49
  static fromJSON(json) {
50
50
  assertWireVersion(json.v);
51
51
  const resolved = resolveShape(json.shape);
52
- const data = decodeNodeDataToRaw(json.data);
52
+ const data = decodeNodeDataToRaw(json.data, resolved.shape);
53
53
  if (json.mode === 'for') {
54
54
  if (isContextRefJSON(json.targetId)) {
55
55
  return new UpdateBuilder({ shape: resolved, data, targetContextName: json.targetId.$ctx, mode: 'for' });
@@ -144,7 +144,7 @@ export class UpdateBuilder {
144
144
  op: 'update',
145
145
  shape: this._shape.shape.id,
146
146
  mode,
147
- data: encodeNodeData(fields),
147
+ data: encodeNodeData(fields, this._shape.shape),
148
148
  };
149
149
  if (mode === 'for') {
150
150
  if (this._targetContextName)
@@ -157,7 +157,7 @@ export class UpdateBuilder {
157
157
  if (!wherePath) {
158
158
  throw new Error('UpdateBuilder.where() requires a condition callback.');
159
159
  }
160
- json.where = serializeWherePath(wherePath);
160
+ json.where = serializeWherePath(wherePath, this._shape.shape);
161
161
  }
162
162
  return json;
163
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateBuilder.js","sourceRoot":"","sources":["../../../src/queries/UpdateBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,YAAY,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAE,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAmC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAA0B,MAAM,4BAA4B,CAAC;AACxG,OAAO,EAAC,kBAAkB,EAAE,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAoBxF;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,aAAa;IAWxB,YAAoB,IAA0B;QAgF9C,8EAA8E;QAC9E,kBAAkB;QAClB,8EAA8E;QAE9E,yEAAyE;QAChE,gBAAW,GAAG,QAAiB,CAAC;QApFvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,YAA2C,EAAE;QACzD,OAAO,IAAI,aAAa,iBACtB,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,IACvC,SAAS,EACZ,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,sBAAsB;IACtB,8EAA8E;IAE9E,MAAM,CAAC,IAAI,CAAkB,KAAmC;QAC9D,MAAM,QAAQ,GAAG,YAAY,CAAI,KAAK,CAAC,CAAC;QACxC,OAAO,IAAI,aAAa,CAAI,EAAC,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;IACjD,CAAC;IAED,4EAA4E;IAC5E,MAAM,CAAC,QAAQ,CAAC,IAAwB;QACtC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAQ,CAAC;QACnD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,OAAO,IAAI,aAAa,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;YACxG,CAAC;YACD,OAAO,IAAI,aAAa,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,IAAI,aAAa,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,KAAM,CAAC,CAAC;QAChE,OAAO,IAAI,aAAa,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;IAC1E,CAAC;IAED,8EAA8E;IAC9E,aAAa;IACb,8EAA8E;IAE9E,sCAAsC;IACtC,GAAG,CAAC,EAAqD;QACvD,IAAI,EAAE,YAAY,mBAAmB,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAC,iBAAiB,EAAE,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAC,CAA6C,CAAC;QACvI,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAC,CAA6C,CAAC;IACnI,CAAC;IAED,6DAA6D;IAC7D,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAC,CAAyC,CAAC;IACvH,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,EAAkB;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAC,CAAyC,CAAC;IAC/G,CAAC;IAKD,GAAG,CAAC,IAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,EAAC,IAAI,EAAC,CAAQ,CAAC;IACnC,CAAC;IASD,mFAAmF;IACnF,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED,mFAAmF;IACnF,UAAU;;QACR,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAEhE,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,OAAO,EAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC;QACrE,CAAC;QAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,SAAS,GACb,MAAA,IAAI,CAAC,MAAM,mCAAI,kBAAkB,CAAC,IAAI,CAAC,QAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACjE,OAAO,EAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAC,CAAC;QAC/E,CAAC;QAED,qEAAqE;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;QACJ,CAAC;QACD,OAAO,EAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC;IAC5E,CAAC;IAED,8EAA8E;IACtE,gBAAgB;;QACtB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1C,IAAI,IAAI,CAAC,kBAAkB;YAAE,OAAO,MAAA,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,0CAAE,EAAE,CAAC;QACjF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,MAAM;;QACJ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC,QAAQ,CAChD,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,IAAI,CAAC,KAAK,CACX,CAAC;QACF,MAAM,IAAI,GAAuB;YAC/B,CAAC,EAAE,YAAY;YACf,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI;YACJ,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;SAC7B,CAAC;QACF,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,kBAAkB;gBAAE,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;;gBAClF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9G,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4BAA4B;IAC5B,IAAI;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1C,OAAO,gBAAgB,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAe,CAAC;QAClF,CAAC;QACD,OAAO,gBAAgB,EAAE,CAAC,WAAW,CAAC,IAAI,CAAe,CAAC;IAC5D,CAAC;IAED,8EAA8E;IAC9E,oBAAoB;IACpB,8EAA8E;IAE9E,IAAI,CACF,WAAqE,EACrE,UAAuE;QAEvE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CACH,UAAqE;QAErE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,SAA+B;QACrC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,eAAe,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"UpdateBuilder.js","sourceRoot":"","sources":["../../../src/queries/UpdateBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,YAAY,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAE,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAmC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAA0B,MAAM,4BAA4B,CAAC;AACxG,OAAO,EAAC,kBAAkB,EAAE,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAoBxF;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,aAAa;IAWxB,YAAoB,IAA0B;QAgF9C,8EAA8E;QAC9E,kBAAkB;QAClB,8EAA8E;QAE9E,yEAAyE;QAChE,gBAAW,GAAG,QAAiB,CAAC;QApFvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,YAA2C,EAAE;QACzD,OAAO,IAAI,aAAa,iBACtB,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,IACvC,SAAS,EACZ,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,sBAAsB;IACtB,8EAA8E;IAE9E,MAAM,CAAC,IAAI,CAAkB,KAAmC;QAC9D,MAAM,QAAQ,GAAG,YAAY,CAAI,KAAK,CAAC,CAAC;QACxC,OAAO,IAAI,aAAa,CAAI,EAAC,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;IACjD,CAAC;IAED,4EAA4E;IAC5E,MAAM,CAAC,QAAQ,CAAC,IAAwB;QACtC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAQ,CAAC;QACnE,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,OAAO,IAAI,aAAa,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;YACxG,CAAC;YACD,OAAO,IAAI,aAAa,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,IAAI,aAAa,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,KAAM,CAAC,CAAC;QAChE,OAAO,IAAI,aAAa,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;IAC1E,CAAC;IAED,8EAA8E;IAC9E,aAAa;IACb,8EAA8E;IAE9E,sCAAsC;IACtC,GAAG,CAAC,EAAqD;QACvD,IAAI,EAAE,YAAY,mBAAmB,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAC,iBAAiB,EAAE,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAC,CAA6C,CAAC;QACvI,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAC,CAA6C,CAAC;IACnI,CAAC;IAED,6DAA6D;IAC7D,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAC,CAAyC,CAAC;IACvH,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,EAAkB;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAC,CAAyC,CAAC;IAC/G,CAAC;IAKD,GAAG,CAAC,IAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,EAAC,IAAI,EAAC,CAAQ,CAAC;IACnC,CAAC;IASD,mFAAmF;IACnF,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED,mFAAmF;IACnF,UAAU;;QACR,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAEhE,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,OAAO,EAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC;QACrE,CAAC;QAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,SAAS,GACb,MAAA,IAAI,CAAC,MAAM,mCAAI,kBAAkB,CAAC,IAAI,CAAC,QAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACjE,OAAO,EAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAC,CAAC;QAC/E,CAAC;QAED,qEAAqE;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;QACJ,CAAC;QACD,OAAO,EAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC;IAC5E,CAAC;IAED,8EAA8E;IACtE,gBAAgB;;QACtB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1C,IAAI,IAAI,CAAC,kBAAkB;YAAE,OAAO,MAAA,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,0CAAE,EAAE,CAAC;QACjF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,MAAM;;QACJ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC,QAAQ,CAChD,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,IAAI,CAAC,KAAK,CACX,CAAC;QACF,MAAM,IAAI,GAAuB;YAC/B,CAAC,EAAE,YAAY;YACf,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI;YACJ,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;SAChD,CAAC;QACF,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,kBAAkB;gBAAE,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;;gBAClF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9G,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4BAA4B;IAC5B,IAAI;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1C,OAAO,gBAAgB,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAe,CAAC;QAClF,CAAC;QACD,OAAO,gBAAgB,EAAE,CAAC,WAAW,CAAC,IAAI,CAAe,CAAC;IAC5D,CAAC;IAED,8EAA8E;IAC9E,oBAAoB;IACpB,8EAA8E;IAE9E,IAAI,CACF,WAAqE,EACrE,UAAuE;QAEvE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CACH,UAAqE;QAErE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,SAA+B;QACrC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,eAAe,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Z-c expression codec — the bidirectional bridge between the runtime
3
+ * expression IR (`ExpressionNode` = `{ir, refs}`, `ExistsCondition`) and the
4
+ * Z-c DSL-JSON grammar (documentation/dsl-json.md).
5
+ *
6
+ * Two tiers:
7
+ * - VALUE (`encodeValueExpr`/`decodeValueExpr`): a computed value or an
8
+ * operand — bare scalar, `{path}`, `{id}`, `{$ctx}`, `{date}`,
9
+ * `{list}`, or an S-expr array `["op", …]`.
10
+ * - CONDITION (`encodeCondition`/`decodeCondition`): a boolean where-clause —
11
+ * path-keyed object (implicit equals / operator map / quantifier),
12
+ * `{and|or|not}`, or an S-expr array fallback.
13
+ *
14
+ * The codec is pure and shape-aware: it resolves property labels against the
15
+ * supplied `NodeShape`, and never touches builder internals. Function and
16
+ * aggregate names are kept verbatim from the IR (e.g. `STRLEN`, `count`) — no
17
+ * name map, lossless round-trip. Round-trip-through-`lower` is the contract.
18
+ */
19
+ import type { IRExpression } from './IntermediateRepresentation.js';
20
+ import { ExpressionNode, ExistsCondition, type PropertyRefMap } from '../expressions/ExpressionNode.js';
21
+ import type { NodeShape } from '../shapes/SHACL.js';
22
+ import type { WherePath } from './SelectQuery.js';
23
+ export type ZcScalar = string | number | boolean | null;
24
+ export type ZcRef = {
25
+ id: string;
26
+ };
27
+ export type ZcCtx = {
28
+ $ctx: string;
29
+ path?: string;
30
+ };
31
+ export type ZcDate = {
32
+ date: string;
33
+ };
34
+ export type ZcList = {
35
+ list: ZcValue[];
36
+ };
37
+ export type ZcPath = {
38
+ path: string;
39
+ };
40
+ export type ZcSExpr = [string, ...ZcValue[]];
41
+ export type ZcValue = ZcScalar | ZcRef | ZcCtx | ZcDate | ZcList | ZcPath | ZcSExpr;
42
+ export type ZcOpMap = {
43
+ [op: string]: ZcValue;
44
+ };
45
+ /**
46
+ * A Z-c condition: an S-expr array, or a keyed object whose keys are property
47
+ * paths (→ value / operator-map), quantifier keys like `rel.some` (→ a nested
48
+ * condition), or combinators `and`/`or` (→ a condition array) / `not` (→ a
49
+ * condition). The permissive index reflects the structural wire shape.
50
+ */
51
+ export type ZcCondition = ZcSExpr | {
52
+ [key: string]: ZcValue | ZcOpMap | ZcCondition | ZcCondition[];
53
+ };
54
+ /** Property-shape IRIs → a dotted label path. */
55
+ export declare function segmentsToPath(segmentIds: readonly string[]): string;
56
+ /** A dotted label path → its property-shape IRIs, resolved against `shape`. */
57
+ export declare function pathToSegmentIds(shape: NodeShape, path: string): string[];
58
+ /** Encode an IR expression used as a value/operand into a Z-c value. */
59
+ export declare function encodeValueExpr(ir: IRExpression, refs: PropertyRefMap): ZcValue;
60
+ /** Decode a Z-c value back into an IR expression + its placeholder refs. */
61
+ export declare function decodeValueExpr(zc: ZcValue, shape: NodeShape): {
62
+ ir: IRExpression;
63
+ refs: PropertyRefMap;
64
+ };
65
+ /** Encode a where-clause node (boolean) into a Z-c condition. */
66
+ export declare function encodeCondition(node: ExpressionNode | ExistsCondition, shape: NodeShape): ZcCondition;
67
+ /** Decode a Z-c condition into a runtime WherePath (`{expressionNode}` | `{existsCondition}`). */
68
+ export declare function decodeCondition(zc: ZcCondition, shape: NodeShape): WherePath;