@_linked/core 2.11.0-next.20260702051928 → 2.11.0-next.20260703145957
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.
- package/CHANGELOG.md +34 -4
- package/lib/cjs/expressions/Expr.js +18 -3
- package/lib/cjs/expressions/Expr.js.map +1 -1
- package/lib/cjs/queries/CreateBuilder.d.ts +9 -2
- package/lib/cjs/queries/CreateBuilder.js +20 -3
- package/lib/cjs/queries/CreateBuilder.js.map +1 -1
- package/lib/cjs/queries/DeleteBuilder.d.ts +9 -2
- package/lib/cjs/queries/DeleteBuilder.js +26 -7
- package/lib/cjs/queries/DeleteBuilder.js.map +1 -1
- package/lib/cjs/queries/{ZcExpression.d.ts → DslJsonExpression.d.ts} +24 -24
- package/lib/cjs/queries/{ZcExpression.js → DslJsonExpression.js} +20 -20
- package/lib/cjs/queries/DslJsonExpression.js.map +1 -0
- package/lib/cjs/queries/FieldSet.d.ts +11 -4
- package/lib/cjs/queries/FieldSet.js +25 -6
- package/lib/cjs/queries/FieldSet.js.map +1 -1
- package/lib/cjs/queries/MutationSerialization.d.ts +5 -5
- package/lib/cjs/queries/MutationSerialization.js +7 -7
- package/lib/cjs/queries/MutationSerialization.js.map +1 -1
- package/lib/cjs/queries/QueryBuilder.d.ts +11 -2
- package/lib/cjs/queries/QueryBuilder.js +43 -19
- package/lib/cjs/queries/QueryBuilder.js.map +1 -1
- package/lib/cjs/queries/QueryBuilderSerialization.d.ts +7 -7
- package/lib/cjs/queries/QueryBuilderSerialization.js +7 -7
- package/lib/cjs/queries/QueryBuilderSerialization.js.map +1 -1
- package/lib/cjs/queries/SelectQuery.js +2 -2
- package/lib/cjs/queries/SelectQuery.js.map +1 -1
- package/lib/cjs/queries/UpdateBuilder.d.ts +9 -2
- package/lib/cjs/queries/UpdateBuilder.js +26 -7
- package/lib/cjs/queries/UpdateBuilder.js.map +1 -1
- package/lib/cjs/queries/lowerMutationJSON.js +4 -4
- package/lib/cjs/queries/lowerMutationJSON.js.map +1 -1
- package/lib/cjs/queries/queryDispatch.d.ts +13 -0
- package/lib/cjs/queries/queryDispatch.js +18 -0
- package/lib/cjs/queries/queryDispatch.js.map +1 -1
- package/lib/cjs/shapes/syncShapes.d.ts +11 -3
- package/lib/cjs/shapes/syncShapes.js +22 -11
- package/lib/cjs/shapes/syncShapes.js.map +1 -1
- package/lib/cjs/sparql/irToAlgebra.js +142 -17
- package/lib/cjs/sparql/irToAlgebra.js.map +1 -1
- package/lib/cjs/sparql/resultMapping.js +7 -0
- package/lib/cjs/sparql/resultMapping.js.map +1 -1
- package/lib/cjs/test-helpers/query-fixtures.d.ts +47 -0
- package/lib/cjs/test-helpers/query-fixtures.js +148 -1
- package/lib/cjs/test-helpers/query-fixtures.js.map +1 -1
- package/lib/esm/expressions/Expr.js +18 -3
- package/lib/esm/expressions/Expr.js.map +1 -1
- package/lib/esm/queries/CreateBuilder.d.ts +9 -2
- package/lib/esm/queries/CreateBuilder.js +21 -4
- package/lib/esm/queries/CreateBuilder.js.map +1 -1
- package/lib/esm/queries/DeleteBuilder.d.ts +9 -2
- package/lib/esm/queries/DeleteBuilder.js +27 -8
- package/lib/esm/queries/DeleteBuilder.js.map +1 -1
- package/lib/esm/queries/{ZcExpression.d.ts → DslJsonExpression.d.ts} +24 -24
- package/lib/esm/queries/{ZcExpression.js → DslJsonExpression.js} +20 -20
- package/lib/esm/queries/DslJsonExpression.js.map +1 -0
- package/lib/esm/queries/FieldSet.d.ts +11 -4
- package/lib/esm/queries/FieldSet.js +23 -4
- package/lib/esm/queries/FieldSet.js.map +1 -1
- package/lib/esm/queries/MutationSerialization.d.ts +5 -5
- package/lib/esm/queries/MutationSerialization.js +4 -4
- package/lib/esm/queries/MutationSerialization.js.map +1 -1
- package/lib/esm/queries/QueryBuilder.d.ts +11 -2
- package/lib/esm/queries/QueryBuilder.js +43 -19
- package/lib/esm/queries/QueryBuilder.js.map +1 -1
- package/lib/esm/queries/QueryBuilderSerialization.d.ts +7 -7
- package/lib/esm/queries/QueryBuilderSerialization.js +5 -5
- package/lib/esm/queries/QueryBuilderSerialization.js.map +1 -1
- package/lib/esm/queries/SelectQuery.js +2 -2
- package/lib/esm/queries/SelectQuery.js.map +1 -1
- package/lib/esm/queries/UpdateBuilder.d.ts +9 -2
- package/lib/esm/queries/UpdateBuilder.js +27 -8
- package/lib/esm/queries/UpdateBuilder.js.map +1 -1
- package/lib/esm/queries/lowerMutationJSON.js +2 -2
- package/lib/esm/queries/lowerMutationJSON.js.map +1 -1
- package/lib/esm/queries/queryDispatch.d.ts +13 -0
- package/lib/esm/queries/queryDispatch.js +17 -0
- package/lib/esm/queries/queryDispatch.js.map +1 -1
- package/lib/esm/shapes/syncShapes.d.ts +11 -3
- package/lib/esm/shapes/syncShapes.js +22 -11
- package/lib/esm/shapes/syncShapes.js.map +1 -1
- package/lib/esm/sparql/irToAlgebra.js +142 -17
- package/lib/esm/sparql/irToAlgebra.js.map +1 -1
- package/lib/esm/sparql/resultMapping.js +7 -0
- package/lib/esm/sparql/resultMapping.js.map +1 -1
- package/lib/esm/test-helpers/query-fixtures.d.ts +47 -0
- package/lib/esm/test-helpers/query-fixtures.js +147 -0
- package/lib/esm/test-helpers/query-fixtures.js.map +1 -1
- package/package.json +1 -1
- package/lib/cjs/queries/ZcExpression.js.map +0 -1
- package/lib/esm/queries/ZcExpression.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,11 +4,41 @@
|
|
|
4
4
|
|
|
5
5
|
### Minor Changes
|
|
6
6
|
|
|
7
|
-
- [#
|
|
7
|
+
- [#134](https://github.com/linked-cm/core/pull/134) [`e2de396`](https://github.com/linked-cm/core/commit/e2de3963f126afd24d41424abf02ecf03e127233) Thanks [@flyon](https://github.com/flyon)! - Add `exec(target?: IDataset)` to the four query builders (`SelectBuilder`, `CreateBuilder`, `UpdateBuilder`, `DeleteBuilder`) for targeted query execution against an explicit dataset.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
// Run against one specific store/router instead of the global default; the global router is untouched.
|
|
11
|
+
await Person.select((p) => p.name).exec(someStore);
|
|
12
|
+
await NodeShape.create(data).withId(iri).exec(branchStore);
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
- Passing a `target` (a store, or a router — a router _is_ an `IDataset`) runs the query on that dataset only. Omitting it is unchanged (global dispatch), and `await`ing a builder (the PromiseLike path) always stays global — only an explicit `.exec(target)` overrides.
|
|
16
|
+
- `selectQuery` is required on `IDataset`; the mutation methods are optional, so a mutation `exec(target)` **rejects** with a clear message if the target can't perform the op. All `exec` methods are now `async`, so failures (unsupported target, missing global dispatch) surface as rejected promises rather than synchronous throws.
|
|
17
|
+
|
|
18
|
+
`syncShape(target, ds?)` and `syncShapes(ds?)` now accept an optional dataset that threads through to every `.exec(ds)`. For `syncShapes`, `ds` is a plan-time parameter feeding both the orphan-detection read and the delete/create thunks, so orphans are computed against the same store they're pruned from; the returned thunks stay nullary.
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
const { store } = await getBranchMetadataStore(projectId, branch);
|
|
22
|
+
await syncShape(Person, store)(); // materialize Person's sh:NodeShape into a per-branch store
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
No routing/config/`LinkedStorage` changes — purely an execution-target override on the builder. See `docs/reports/021-targeted-query-execution.md`.
|
|
26
|
+
|
|
27
|
+
## 2.10.2
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- [#130](https://github.com/linked-cm/core/pull/130) [`d1d435f`](https://github.com/linked-cm/core/commit/d1d435f85e93091ee795c363465c95b9760615ac) Thanks [@flyon](https://github.com/flyon)! - Fixed 9 correctness bugs in query lowering and result mapping (nested sub-select filters, `.one()` truncation, `isNotDefined`/`defaultTo`/`Expr.ifThen` in `.where()`, nested aggregates, expression-over-traversal projections and updates). Most previously returned silently wrong results rather than errors. No public API changes — see `docs/reports/020-linked-query-test-coverage.md` for details.
|
|
32
|
+
|
|
33
|
+
## 2.10.1
|
|
34
|
+
|
|
35
|
+
### Patch Changes
|
|
36
|
+
|
|
37
|
+
- [#122](https://github.com/linked-cm/core/pull/122) [`9fa981e`](https://github.com/linked-cm/core/commit/9fa981e508950c6d470c78a9ee3a938cd776e3c5) Thanks [@flyon](https://github.com/flyon)! - DSL-JSON is now a compact, **IR-free wire grammar**. `query.toJSON()` no longer embeds
|
|
8
38
|
`IRExpression` in where-clauses or `{kind:…}` value tags in mutations — the wire reads like the DSL,
|
|
9
39
|
and `fromJSON()` rehydrates it losslessly (`lower(fromJSON(query.toJSON())) ≡ lower(query)`).
|
|
10
40
|
|
|
11
|
-
(Pre-adoption, so this ships as a
|
|
41
|
+
(Pre-adoption, so this ships as a patch despite the wire-shape change — there are no published
|
|
12
42
|
consumers of the old format to protect.)
|
|
13
43
|
|
|
14
44
|
**Where-clauses** are path-keyed conditions with an S-expr fallback:
|
|
@@ -49,14 +79,14 @@
|
|
|
49
79
|
**Breaking / behavioral notes**
|
|
50
80
|
|
|
51
81
|
- The wire shape of `query.toJSON()` changed across the board; anything that read the old
|
|
52
|
-
IR-embedding / `{shape,fields}` / `{kind:…}` forms must move to the
|
|
82
|
+
IR-embedding / `{shape,fields}` / `{kind:…}` forms must move to the new grammar.
|
|
53
83
|
- The exported types `MutationValueJSON` and `MutationNodeDataJSON` changed shape accordingly.
|
|
54
84
|
- `and`, `or`, and `not` are now **reserved property labels** (they are boolean combinators in a
|
|
55
85
|
where-clause and have no key-position escape) — declaring a property with one of those names throws
|
|
56
86
|
at shape registration.
|
|
57
87
|
|
|
58
88
|
See the full [DSL-JSON specification](./documentation/dsl-json.md). Deferred edge items are tracked
|
|
59
|
-
in `docs/backlog/002-dsl-json-
|
|
89
|
+
in `docs/backlog/002-dsl-json-open-items.md`.
|
|
60
90
|
|
|
61
91
|
## 2.10.0
|
|
62
92
|
|
|
@@ -7,6 +7,21 @@ function wrap(input) {
|
|
|
7
7
|
? input
|
|
8
8
|
: new ExpressionNode_js_1.ExpressionNode((0, ExpressionNode_js_1.toIRExpression)(input));
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Merge the unresolved property-ref maps of all ExpressionNode inputs, so
|
|
12
|
+
* proxy-traced references (e.g. `p.name`) inside a directly-constructed
|
|
13
|
+
* function expression still resolve to real aliases during lowering.
|
|
14
|
+
*/
|
|
15
|
+
function mergedRefs(inputs) {
|
|
16
|
+
const merged = new Map();
|
|
17
|
+
for (const input of inputs) {
|
|
18
|
+
if (input instanceof ExpressionNode_js_1.ExpressionNode) {
|
|
19
|
+
for (const [k, v] of input._refs)
|
|
20
|
+
merged.set(k, v);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return merged;
|
|
24
|
+
}
|
|
10
25
|
exports.Expr = {
|
|
11
26
|
// ---------------------------------------------------------------------------
|
|
12
27
|
// Arithmetic
|
|
@@ -71,7 +86,7 @@ exports.Expr = {
|
|
|
71
86
|
kind: 'function_expr',
|
|
72
87
|
name: 'CONCAT',
|
|
73
88
|
args: parts.map(ExpressionNode_js_1.toIRExpression),
|
|
74
|
-
});
|
|
89
|
+
}, mergedRefs(parts));
|
|
75
90
|
},
|
|
76
91
|
contains(a, b) {
|
|
77
92
|
return wrap(a).contains(b);
|
|
@@ -162,14 +177,14 @@ exports.Expr = {
|
|
|
162
177
|
kind: 'function_expr',
|
|
163
178
|
name: 'COALESCE',
|
|
164
179
|
args: args.map(ExpressionNode_js_1.toIRExpression),
|
|
165
|
-
});
|
|
180
|
+
}, mergedRefs(args));
|
|
166
181
|
},
|
|
167
182
|
ifThen(cond, thenVal, elseVal) {
|
|
168
183
|
return new ExpressionNode_js_1.ExpressionNode({
|
|
169
184
|
kind: 'function_expr',
|
|
170
185
|
name: 'IF',
|
|
171
186
|
args: [(0, ExpressionNode_js_1.toIRExpression)(cond), (0, ExpressionNode_js_1.toIRExpression)(thenVal), (0, ExpressionNode_js_1.toIRExpression)(elseVal)],
|
|
172
|
-
});
|
|
187
|
+
}, mergedRefs([cond, thenVal, elseVal]));
|
|
173
188
|
},
|
|
174
189
|
bound(a) {
|
|
175
190
|
return wrap(a).isDefined();
|
|
@@ -1 +1 @@
|
|
|
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;AAEY,QAAA,IAAI,GAAG;IAClB,8EAA8E;IAC9E,aAAa;IACb,8EAA8E;IAE9E,IAAI,CAAC,CAAkB,EAAE,CAAkB;QACzC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,KAAK,CAAC,CAAkB,EAAE,CAAkB;QAC1C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,KAAK,CAAC,CAAkB,EAAE,CAAkB;QAC1C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,CAAC,CAAkB,EAAE,CAAkB;QAC3C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,GAAG,CAAC,CAAkB;QACpB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;IACD,KAAK,CAAC,CAAkB;QACtB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,CAAkB;QACrB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IACD,KAAK,CAAC,CAAkB;QACtB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,KAAK,CAAC,CAAkB,EAAE,CAAS;QACjC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,8EAA8E;IAC9E,gCAAgC;IAChC,8EAA8E;IAE9E,EAAE,CAAC,CAAkB,EAAE,CAAkB;QACvC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,GAAG,CAAC,CAAkB,EAAE,CAAkB;QACxC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,EAAE,CAAC,CAAkB,EAAE,CAAkB;QACvC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,GAAG,CAAC,CAAkB,EAAE,CAAkB;QACxC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,EAAE,CAAC,CAAkB,EAAE,CAAkB;QACvC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,GAAG,CAAC,CAAkB,EAAE,CAAkB;QACxC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,8EAA8E;IAC9E,SAAS;IACT,8EAA8E;IAE9E,MAAM,CAAC,GAAG,KAAwB;QAChC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;QAC/B,OAAO,IAAI,kCAAc,
|
|
1
|
+
{"version":3,"file":"Expr.js","sourceRoot":"","sources":["../../../src/expressions/Expr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Shape, type ShapeConstructor } from '../shapes/Shape.js';
|
|
2
2
|
import type { UpdatePartial } from './QueryFactory.js';
|
|
3
3
|
import type { CreateResponse } from './CreateQuery.js';
|
|
4
|
+
import type { IDataset } from '../interfaces/IDataset.js';
|
|
4
5
|
import type { NodeShape } from '../shapes/SHACL.js';
|
|
5
6
|
import { type CreateMutationJSON } from './MutationSerialization.js';
|
|
6
7
|
import type { CreateLowerSpec } from './mutationLowerSpec.js';
|
|
@@ -45,8 +46,14 @@ export declare class CreateBuilder<S extends Shape = Shape, U extends UpdatePart
|
|
|
45
46
|
* so the result is concrete and JSON-safe, then encodes the node description.
|
|
46
47
|
*/
|
|
47
48
|
toJSON(): CreateMutationJSON;
|
|
48
|
-
/**
|
|
49
|
-
|
|
49
|
+
/**
|
|
50
|
+
* Execute the mutation.
|
|
51
|
+
*
|
|
52
|
+
* @param target Optional explicit dataset (a store or a router) to run against. Omitted →
|
|
53
|
+
* the global query dispatch. A `target` runs on that dataset only; the global router is
|
|
54
|
+
* untouched. Rejects if the target dataset doesn't implement create.
|
|
55
|
+
*/
|
|
56
|
+
exec(target?: IDataset): Promise<CreateResponse<U>>;
|
|
50
57
|
then<TResult1 = CreateResponse<U>, TResult2 = never>(onfulfilled?: ((value: CreateResponse<U>) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
|
|
51
58
|
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null): Promise<CreateResponse<U> | TResult>;
|
|
52
59
|
finally(onfinally?: (() => void) | null): Promise<CreateResponse<U>>;
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.CreateBuilder = void 0;
|
|
4
13
|
const resolveShape_js_1 = require("./resolveShape.js");
|
|
@@ -109,9 +118,17 @@ class CreateBuilder {
|
|
|
109
118
|
data: (0, MutationSerialization_js_1.encodeNodeData)(description, this._shape.shape),
|
|
110
119
|
};
|
|
111
120
|
}
|
|
112
|
-
/**
|
|
113
|
-
|
|
114
|
-
|
|
121
|
+
/**
|
|
122
|
+
* Execute the mutation.
|
|
123
|
+
*
|
|
124
|
+
* @param target Optional explicit dataset (a store or a router) to run against. Omitted →
|
|
125
|
+
* the global query dispatch. A `target` runs on that dataset only; the global router is
|
|
126
|
+
* untouched. Rejects if the target dataset doesn't implement create.
|
|
127
|
+
*/
|
|
128
|
+
exec(target) {
|
|
129
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
130
|
+
return (0, queryDispatch_js_1.resolveMutationDispatch)('create', target).createQuery(this);
|
|
131
|
+
});
|
|
115
132
|
}
|
|
116
133
|
// ---------------------------------------------------------------------------
|
|
117
134
|
// Promise interface
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateBuilder.js","sourceRoot":"","sources":["../../../src/queries/CreateBuilder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CreateBuilder.js","sourceRoot":"","sources":["../../../src/queries/CreateBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Shape, type ShapeConstructor } from '../shapes/Shape.js';
|
|
2
2
|
import type { DeleteResponse } from './DeleteQuery.js';
|
|
3
3
|
import type { NodeId } from './MutationQuery.js';
|
|
4
|
+
import type { IDataset } from '../interfaces/IDataset.js';
|
|
4
5
|
import type { NodeShape } from '../shapes/SHACL.js';
|
|
5
6
|
import { type WhereClause } from './SelectQuery.js';
|
|
6
7
|
import { type DeleteMutationJSON } from './MutationSerialization.js';
|
|
@@ -42,8 +43,14 @@ export declare class DeleteBuilder<S extends Shape = Shape, R = DeleteResponse>
|
|
|
42
43
|
_lowerSpec(): DeleteLowerSpec<S>;
|
|
43
44
|
/** Serialize this delete mutation to lightweight DSL-JSON. */
|
|
44
45
|
toJSON(): DeleteMutationJSON;
|
|
45
|
-
/**
|
|
46
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Execute the mutation.
|
|
48
|
+
*
|
|
49
|
+
* @param target Optional explicit dataset (a store or a router) to run against. Omitted →
|
|
50
|
+
* the global query dispatch. A `target` runs on that dataset only; the global router is
|
|
51
|
+
* untouched. Rejects if the target dataset doesn't implement delete.
|
|
52
|
+
*/
|
|
53
|
+
exec(target?: IDataset): Promise<R>;
|
|
47
54
|
then<TResult1 = R, TResult2 = never>(onfulfilled?: ((value: R) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
|
|
48
55
|
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null): Promise<R | TResult>;
|
|
49
56
|
finally(onfinally?: (() => void) | null): Promise<R>;
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.DeleteBuilder = void 0;
|
|
4
13
|
const resolveShape_js_1 = require("./resolveShape.js");
|
|
@@ -137,13 +146,23 @@ class DeleteBuilder {
|
|
|
137
146
|
: id.id),
|
|
138
147
|
};
|
|
139
148
|
}
|
|
140
|
-
/**
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
149
|
+
/**
|
|
150
|
+
* Execute the mutation.
|
|
151
|
+
*
|
|
152
|
+
* @param target Optional explicit dataset (a store or a router) to run against. Omitted →
|
|
153
|
+
* the global query dispatch. A `target` runs on that dataset only; the global router is
|
|
154
|
+
* untouched. Rejects if the target dataset doesn't implement delete.
|
|
155
|
+
*/
|
|
156
|
+
exec(target) {
|
|
157
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
158
|
+
const mode = this._mode || (this._ids ? 'ids' : undefined);
|
|
159
|
+
const result = (0, queryDispatch_js_1.resolveMutationDispatch)('delete', target).deleteQuery(this);
|
|
160
|
+
// Bulk (all/where) resolves to void; id-based resolves to the DeleteResponse.
|
|
161
|
+
if (mode === 'all' || mode === 'where') {
|
|
162
|
+
return result.then(() => undefined);
|
|
163
|
+
}
|
|
164
|
+
return result;
|
|
165
|
+
});
|
|
147
166
|
}
|
|
148
167
|
// ---------------------------------------------------------------------------
|
|
149
168
|
// Promise interface
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteBuilder.js","sourceRoot":"","sources":["../../../src/queries/DeleteBuilder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DeleteBuilder.js","sourceRoot":"","sources":["../../../src/queries/DeleteBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* DSL-JSON expression codec — the bidirectional bridge between the runtime
|
|
3
3
|
* expression IR (`ExpressionNode` = `{ir, refs}`, `ExistsCondition`) and the
|
|
4
|
-
*
|
|
4
|
+
* DSL-JSON wire grammar (documentation/dsl-json.md).
|
|
5
5
|
*
|
|
6
6
|
* Two tiers:
|
|
7
7
|
* - VALUE (`encodeValueExpr`/`decodeValueExpr`): a computed value or an
|
|
@@ -20,49 +20,49 @@ import type { IRExpression } from './IntermediateRepresentation.js';
|
|
|
20
20
|
import { ExpressionNode, ExistsCondition, type PropertyRefMap } from '../expressions/ExpressionNode.js';
|
|
21
21
|
import type { NodeShape } from '../shapes/SHACL.js';
|
|
22
22
|
import type { WherePath } from './SelectQuery.js';
|
|
23
|
-
export type
|
|
24
|
-
export type
|
|
23
|
+
export type DslJsonScalar = string | number | boolean | null;
|
|
24
|
+
export type DslJsonRef = {
|
|
25
25
|
id: string;
|
|
26
26
|
};
|
|
27
|
-
export type
|
|
27
|
+
export type DslJsonCtx = {
|
|
28
28
|
$ctx: string;
|
|
29
29
|
path?: string;
|
|
30
30
|
};
|
|
31
|
-
export type
|
|
31
|
+
export type DslJsonDate = {
|
|
32
32
|
date: string;
|
|
33
33
|
};
|
|
34
|
-
export type
|
|
35
|
-
list:
|
|
34
|
+
export type DslJsonList = {
|
|
35
|
+
list: DslJsonValue[];
|
|
36
36
|
};
|
|
37
|
-
export type
|
|
37
|
+
export type DslJsonPath = {
|
|
38
38
|
path: string;
|
|
39
39
|
};
|
|
40
|
-
export type
|
|
41
|
-
export type
|
|
42
|
-
export type
|
|
43
|
-
[op: string]:
|
|
40
|
+
export type DslJsonSExpr = [string, ...DslJsonValue[]];
|
|
41
|
+
export type DslJsonValue = DslJsonScalar | DslJsonRef | DslJsonCtx | DslJsonDate | DslJsonList | DslJsonPath | DslJsonSExpr;
|
|
42
|
+
export type DslJsonOpMap = {
|
|
43
|
+
[op: string]: DslJsonValue;
|
|
44
44
|
};
|
|
45
45
|
/**
|
|
46
|
-
* A
|
|
46
|
+
* A DSL-JSON condition: an S-expr array, or a keyed object whose keys are property
|
|
47
47
|
* paths (→ value / operator-map), quantifier keys like `rel.some` (→ a nested
|
|
48
48
|
* condition), or combinators `and`/`or` (→ a condition array) / `not` (→ a
|
|
49
49
|
* condition). The permissive index reflects the structural wire shape.
|
|
50
50
|
*/
|
|
51
|
-
export type
|
|
52
|
-
[key: string]:
|
|
51
|
+
export type DslJsonCondition = DslJsonSExpr | {
|
|
52
|
+
[key: string]: DslJsonValue | DslJsonOpMap | DslJsonCondition | DslJsonCondition[];
|
|
53
53
|
};
|
|
54
54
|
/** Property-shape IRIs → a dotted label path. */
|
|
55
55
|
export declare function segmentsToPath(segmentIds: readonly string[]): string;
|
|
56
56
|
/** A dotted label path → its property-shape IRIs, resolved against `shape`. */
|
|
57
57
|
export declare function pathToSegmentIds(shape: NodeShape, path: string): string[];
|
|
58
|
-
/** Encode an IR expression used as a value/operand into a
|
|
59
|
-
export declare function encodeValueExpr(ir: IRExpression, refs: PropertyRefMap):
|
|
60
|
-
/** Decode a
|
|
61
|
-
export declare function decodeValueExpr(
|
|
58
|
+
/** Encode an IR expression used as a value/operand into a DSL-JSON value. */
|
|
59
|
+
export declare function encodeValueExpr(ir: IRExpression, refs: PropertyRefMap): DslJsonValue;
|
|
60
|
+
/** Decode a DSL-JSON value back into an IR expression + its placeholder refs. */
|
|
61
|
+
export declare function decodeValueExpr(json: DslJsonValue, shape: NodeShape): {
|
|
62
62
|
ir: IRExpression;
|
|
63
63
|
refs: PropertyRefMap;
|
|
64
64
|
};
|
|
65
|
-
/** Encode a where-clause node (boolean) into a
|
|
66
|
-
export declare function encodeCondition(node: ExpressionNode | ExistsCondition, shape: NodeShape):
|
|
67
|
-
/** Decode a
|
|
68
|
-
export declare function decodeCondition(
|
|
65
|
+
/** Encode a where-clause node (boolean) into a DSL-JSON condition. */
|
|
66
|
+
export declare function encodeCondition(node: ExpressionNode | ExistsCondition, shape: NodeShape): DslJsonCondition;
|
|
67
|
+
/** Decode a DSL-JSON condition into a runtime WherePath (`{expressionNode}` | `{existsCondition}`). */
|
|
68
|
+
export declare function decodeCondition(json: DslJsonCondition, shape: NodeShape): WherePath;
|
|
@@ -43,7 +43,7 @@ function mergeRefs(into, from) {
|
|
|
43
43
|
// ---------------------------------------------------------------------------
|
|
44
44
|
// VALUE tier
|
|
45
45
|
// ---------------------------------------------------------------------------
|
|
46
|
-
/** Encode an IR expression used as a value/operand into a
|
|
46
|
+
/** Encode an IR expression used as a value/operand into a DSL-JSON value. */
|
|
47
47
|
function encodeValueExpr(ir, refs) {
|
|
48
48
|
switch (ir.kind) {
|
|
49
49
|
case 'literal_expr': {
|
|
@@ -85,11 +85,11 @@ function encodeValueExpr(ir, refs) {
|
|
|
85
85
|
throw new Error(`Cannot encode expression of kind '${ir.kind}'`);
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
/** Decode a
|
|
89
|
-
function decodeValueExpr(
|
|
88
|
+
/** Decode a DSL-JSON value back into an IR expression + its placeholder refs. */
|
|
89
|
+
function decodeValueExpr(json, shape) {
|
|
90
90
|
// S-expr array
|
|
91
|
-
if (Array.isArray(
|
|
92
|
-
const [head, ...operands] =
|
|
91
|
+
if (Array.isArray(json)) {
|
|
92
|
+
const [head, ...operands] = json;
|
|
93
93
|
const refs = new Map();
|
|
94
94
|
const args = operands.map((o) => {
|
|
95
95
|
const { ir, refs: r } = decodeValueExpr(o, shape);
|
|
@@ -99,8 +99,8 @@ function decodeValueExpr(zc, shape) {
|
|
|
99
99
|
return { ir: headToIR(head, args), refs };
|
|
100
100
|
}
|
|
101
101
|
// Objects: recognized value-objects
|
|
102
|
-
if (
|
|
103
|
-
const o =
|
|
102
|
+
if (json !== null && typeof json === 'object') {
|
|
103
|
+
const o = json;
|
|
104
104
|
if ('id' in o) {
|
|
105
105
|
return { ir: { kind: 'reference_expr', value: o.id }, refs: new Map() };
|
|
106
106
|
}
|
|
@@ -125,7 +125,7 @@ function decodeValueExpr(zc, shape) {
|
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
// bare scalar literal
|
|
128
|
-
return { ir: { kind: 'literal_expr', value:
|
|
128
|
+
return { ir: { kind: 'literal_expr', value: json }, refs: new Map() };
|
|
129
129
|
}
|
|
130
130
|
/**
|
|
131
131
|
* Resolve a dotted path to its expression node:
|
|
@@ -160,7 +160,7 @@ const AGGREGATES = new Set(['count', 'sum', 'avg', 'min', 'max']);
|
|
|
160
160
|
// ---------------------------------------------------------------------------
|
|
161
161
|
// CONDITION tier
|
|
162
162
|
// ---------------------------------------------------------------------------
|
|
163
|
-
/** Encode a where-clause node (boolean) into a
|
|
163
|
+
/** Encode a where-clause node (boolean) into a DSL-JSON condition. */
|
|
164
164
|
function encodeCondition(node, shape) {
|
|
165
165
|
if (node instanceof ExpressionNode_js_1.ExistsCondition) {
|
|
166
166
|
return encodeExists(node, shape);
|
|
@@ -193,7 +193,7 @@ function encodeExists(ec, shape) {
|
|
|
193
193
|
}
|
|
194
194
|
return base;
|
|
195
195
|
}
|
|
196
|
-
/** Encode a boolean IR expression into a
|
|
196
|
+
/** Encode a boolean IR expression into a DSL-JSON condition (path-keyed where possible). */
|
|
197
197
|
function encodeBoolExpr(ir, refs, shape) {
|
|
198
198
|
if (ir.kind === 'logical_expr') {
|
|
199
199
|
const parts = ir.expressions.map((e) => encodeBoolExpr(e, refs, shape));
|
|
@@ -250,20 +250,20 @@ function tryMergeAnd(parts) {
|
|
|
250
250
|
}
|
|
251
251
|
return out;
|
|
252
252
|
}
|
|
253
|
-
/** Decode a
|
|
254
|
-
function decodeCondition(
|
|
255
|
-
const node = decodeConditionNode(
|
|
253
|
+
/** Decode a DSL-JSON condition into a runtime WherePath (`{expressionNode}` | `{existsCondition}`). */
|
|
254
|
+
function decodeCondition(json, shape) {
|
|
255
|
+
const node = decodeConditionNode(json, shape);
|
|
256
256
|
return node instanceof ExpressionNode_js_1.ExistsCondition
|
|
257
257
|
? { existsCondition: node }
|
|
258
258
|
: { expressionNode: node };
|
|
259
259
|
}
|
|
260
|
-
function decodeConditionNode(
|
|
260
|
+
function decodeConditionNode(json, shape) {
|
|
261
261
|
// S-expr fallback
|
|
262
|
-
if (Array.isArray(
|
|
263
|
-
const { ir, refs } = decodeValueExpr(
|
|
262
|
+
if (Array.isArray(json)) {
|
|
263
|
+
const { ir, refs } = decodeValueExpr(json, shape);
|
|
264
264
|
return new ExpressionNode_js_1.ExpressionNode(ir, refs);
|
|
265
265
|
}
|
|
266
|
-
const o =
|
|
266
|
+
const o = json;
|
|
267
267
|
const keys = Object.keys(o);
|
|
268
268
|
// Combinators
|
|
269
269
|
if (keys.length === 1 && COMBINATORS.has(keys[0])) {
|
|
@@ -358,12 +358,12 @@ function matchQuantifier(key) {
|
|
|
358
358
|
return null;
|
|
359
359
|
}
|
|
360
360
|
/** A quantifier predicate decodes to an ExpressionNode (its inner boolean). */
|
|
361
|
-
function expressionNodeFromCondition(
|
|
362
|
-
const node = decodeConditionNode(
|
|
361
|
+
function expressionNodeFromCondition(json, shape) {
|
|
362
|
+
const node = decodeConditionNode(json, shape);
|
|
363
363
|
if (node instanceof ExpressionNode_js_1.ExistsCondition) {
|
|
364
364
|
// Nested exists as a predicate is uncommon; wrap is not representable here.
|
|
365
365
|
throw new Error('Nested exists inside a quantifier predicate is not supported');
|
|
366
366
|
}
|
|
367
367
|
return node;
|
|
368
368
|
}
|
|
369
|
-
//# sourceMappingURL=
|
|
369
|
+
//# sourceMappingURL=DslJsonExpression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DslJsonExpression.js","sourceRoot":"","sources":["../../../src/queries/DslJsonExpression.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import type { Shape, ShapeConstructor } from '../shapes/Shape.js';
|
|
|
3
3
|
import { PropertyPath } from './PropertyPath.js';
|
|
4
4
|
import type { WherePath } from './SelectQuery.js';
|
|
5
5
|
import { ExpressionNode } from '../expressions/ExpressionNode.js';
|
|
6
|
-
import { type
|
|
6
|
+
import { type DslJsonValue } from './DslJsonExpression.js';
|
|
7
7
|
import { type WherePathJSON } from './QueryBuilderSerialization.js';
|
|
8
8
|
type QueryBuilderObjectLike = {
|
|
9
9
|
property?: PropertyShape;
|
|
@@ -60,8 +60,8 @@ export type FieldSetObjectFieldJSON = {
|
|
|
60
60
|
subSelect?: FieldSetJSON;
|
|
61
61
|
aggregation?: string;
|
|
62
62
|
customKey?: string;
|
|
63
|
-
/** A computed projection (e.g. `{k: p.x.strlen()}`) — a
|
|
64
|
-
value?:
|
|
63
|
+
/** A computed projection (e.g. `{k: p.x.strlen()}`) — a DSL-JSON value; no path. */
|
|
64
|
+
value?: DslJsonValue;
|
|
65
65
|
/** A scoped filter on a relation segment (`p.friends.where(...)`). */
|
|
66
66
|
where?: WherePathJSON;
|
|
67
67
|
/** Which path segment the scoped `where` applies to (defaults to the last). */
|
|
@@ -107,6 +107,13 @@ export declare class FieldSet<R = any, Source = any> {
|
|
|
107
107
|
* For sub-select FieldSets: the shape class (ShapeType) of the sub-select's target.
|
|
108
108
|
*/
|
|
109
109
|
readonly shapeType?: any;
|
|
110
|
+
/**
|
|
111
|
+
* For sub-select FieldSets: inline `.where()` filter found on the parent
|
|
112
|
+
* traversal chain (e.g. `p.friends.where(...).select(...)`), plus the index
|
|
113
|
+
* into `parentSegments` of the segment it scopes.
|
|
114
|
+
*/
|
|
115
|
+
readonly parentWherePath?: WherePath;
|
|
116
|
+
readonly parentWherePathIndex?: number;
|
|
110
117
|
/**
|
|
111
118
|
* For sub-select FieldSets: inner LIMIT/OFFSET/ORDER BY carried from
|
|
112
119
|
* `.limit()`/`.offset()`/`.orderBy()` chained on the nested select.
|
|
@@ -132,7 +139,7 @@ export declare class FieldSet<R = any, Source = any> {
|
|
|
132
139
|
* stores parentSegments and traceResponse for runtime compatibility, and preserves
|
|
133
140
|
* R and Source generics for conditional type inference.
|
|
134
141
|
*/
|
|
135
|
-
static forSubSelect<R, Source>(shapeClass: any, fn: (p: any) => R, parentSegments: PropertyShape[]): FieldSet<R, Source>;
|
|
142
|
+
static forSubSelect<R, Source>(shapeClass: any, fn: (p: any) => R, parentSegments: PropertyShape[], source?: QueryBuilderObjectLike): FieldSet<R, Source>;
|
|
136
143
|
/**
|
|
137
144
|
* Create a FieldSet containing all decorated properties of the shape.
|
|
138
145
|
*
|