@prisma/orm-framework 8.0.0-rc.12-dev.14 → 8.0.0-rc.12-dev.16
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/dist/ast-helpers-2XRnkQEO-BxG5qx3Q.mjs +386 -0
- package/dist/ast-helpers-2XRnkQEO-BxG5qx3Q.mjs.map +1 -0
- package/dist/authoring-BffMNBO5.d.mts +43 -0
- package/dist/authoring-BffMNBO5.d.mts.map +1 -0
- package/dist/authoring-DbG78eh2.mjs +88 -0
- package/dist/authoring-DbG78eh2.mjs.map +1 -0
- package/dist/{hashing-utils-DQgS3nOe.mjs → canonicalization-path-match-D88xLEq6-BFQC39ZG.mjs} +23 -3
- package/dist/canonicalization-path-match-D88xLEq6-BFQC39ZG.mjs.map +1 -0
- package/dist/{utils-DMAM0unR.mjs → canonicalize-json-ZPawceQR-Dua1VNEB.mjs} +2 -2
- package/dist/canonicalize-json-ZPawceQR-Dua1VNEB.mjs.map +1 -0
- package/dist/components.d.mts +6 -6
- package/dist/components.mjs +6 -6
- package/dist/components__authoring.d.mts +2 -2
- package/dist/components__authoring.mjs +2 -2
- package/dist/components__control.d.mts +2 -2
- package/dist/components__control.mjs +2 -2
- package/dist/components__psl-ast.d.mts +3 -3
- package/dist/components__psl-ast.mjs +2 -2
- package/dist/components__runtime.d.mts +2 -2
- package/dist/components__runtime.mjs +2 -2
- package/dist/components__utils.mjs +1 -1
- package/dist/{config-types-DgoEWkgA.d.mts → config-types-CWeyMWBV.d.mts} +17 -14
- package/dist/config-types-CWeyMWBV.d.mts.map +1 -0
- package/dist/{config-types-BZjCZ4qx.mjs → config-types-D0mYyP62.mjs} +25 -2
- package/dist/config-types-D0mYyP62.mjs.map +1 -0
- package/dist/config.d.mts +2 -2
- package/dist/config.mjs +2 -2
- package/dist/config__config-types.d.mts +2 -2
- package/dist/config__config-types.mjs +2 -2
- package/dist/contract-authoring.d.mts +1 -1
- package/dist/contract.d.mts +2 -2
- package/dist/contract.mjs +3 -4
- package/dist/contract__hashing-utils.mjs +1 -2
- package/dist/contract__hashing.d.mts +2 -2
- package/dist/contract__hashing.mjs +2 -2
- package/dist/{control-Bc_dos9-.d.mts → control-BTo8rNKi.d.mts} +23 -3
- package/dist/{control-Bc_dos9-.d.mts.map → control-BTo8rNKi.d.mts.map} +1 -1
- package/dist/{control-BjK3Jrmp.mjs → control-CS45l6kB.mjs} +5 -2
- package/dist/control-CS45l6kB.mjs.map +1 -0
- package/dist/{declarations-D79GooqC-CcAbqTsq.mjs → declarations-43E1JFHg-DGBa0YH_.mjs} +8 -388
- package/dist/declarations-43E1JFHg-DGBa0YH_.mjs.map +1 -0
- package/dist/errors.d.mts +1 -1
- package/dist/errors__execution.d.mts +1 -1
- package/dist/{execution-oqC6O8ES.d.mts → execution-BsiK0DjS.d.mts} +2 -2
- package/dist/{execution-oqC6O8ES.d.mts.map → execution-BsiK0DjS.d.mts.map} +1 -1
- package/dist/hashing-BAPc4zoz.d.mts +36 -0
- package/dist/hashing-BAPc4zoz.d.mts.map +1 -0
- package/dist/{hashing-BtIZVNYX.mjs → hashing-CjTNYBuj.mjs} +21 -3
- package/dist/hashing-CjTNYBuj.mjs.map +1 -0
- package/dist/{parse-SHpUIBnv-BvPsKLqw.d.mts → parse-DZRO_CK2-D8YAg23m.d.mts} +10 -18
- package/dist/{parse-SHpUIBnv-BvPsKLqw.d.mts.map → parse-DZRO_CK2-D8YAg23m.d.mts.map} +1 -1
- package/dist/{parse-DN-F4ASD-ClJdPlzj.mjs → parse-Km2Ne67K-CakfHP9f.mjs} +26 -29
- package/dist/parse-Km2Ne67K-CakfHP9f.mjs.map +1 -0
- package/dist/{psl-ast-BKF2fYgk-D6YxdCnP.d.mts → psl-ast-BePuKena-AYNqFKCE.d.mts} +8 -3
- package/dist/{psl-ast-BKF2fYgk-D6YxdCnP.d.mts.map → psl-ast-BePuKena-AYNqFKCE.d.mts.map} +1 -1
- package/dist/{psl-ast-Bu85Lu-k.d.mts → psl-ast-Cec7KbOn.d.mts} +2 -2
- package/dist/{psl-ast-Bu85Lu-k.d.mts.map → psl-ast-Cec7KbOn.d.mts.map} +1 -1
- package/dist/{psl-ast-DUCvVXbB.mjs → psl-ast-DYtFdynZ.mjs} +7 -2
- package/dist/psl-ast-DYtFdynZ.mjs.map +1 -0
- package/dist/psl-parser.d.mts +14 -7
- package/dist/psl-parser.d.mts.map +1 -1
- package/dist/psl-parser.mjs +10 -65
- package/dist/psl-parser.mjs.map +1 -1
- package/dist/psl-parser__format.mjs +23 -30
- package/dist/psl-parser__format.mjs.map +1 -1
- package/dist/psl-parser__interpret.d.mts +15 -7
- package/dist/psl-parser__interpret.d.mts.map +1 -1
- package/dist/psl-parser__interpret.mjs +24 -3
- package/dist/psl-parser__interpret.mjs.map +1 -1
- package/dist/psl-parser__syntax.d.mts +3 -3
- package/dist/psl-parser__syntax.mjs +3 -2
- package/dist/psl-parser__syntax.mjs.map +1 -1
- package/dist/psl-parser__tokenizer.d.mts +1 -1
- package/dist/psl-parser__tokenizer.mjs +1 -1
- package/dist/psl-printer.d.mts +8 -3
- package/dist/psl-printer.d.mts.map +1 -1
- package/dist/psl-printer.mjs +16 -9
- package/dist/psl-printer.mjs.map +1 -1
- package/dist/resolve-D_lZ54qh-DqOQkoMT.mjs +145 -0
- package/dist/resolve-D_lZ54qh-DqOQkoMT.mjs.map +1 -0
- package/dist/{runtime-Dnv06bEV.d.mts → runtime-CQ9-3czC.d.mts} +52 -2
- package/dist/runtime-CQ9-3czC.d.mts.map +1 -0
- package/dist/{runtime-DXmHIbAr.mjs → runtime-CpojufYS.mjs} +80 -2
- package/dist/{runtime-DXmHIbAr.mjs.map → runtime-CpojufYS.mjs.map} +1 -1
- package/dist/{symbol-table-DVPEY1fq-C5mC1wdG.d.mts → symbol-table-CRtoii4t-DubuO_5j.d.mts} +5 -5
- package/dist/{symbol-table-DVPEY1fq-C5mC1wdG.d.mts.map → symbol-table-CRtoii4t-DubuO_5j.d.mts.map} +1 -1
- package/dist/{tokenizer-CFsbtfFw-BnfUBepb.mjs → tokenizer-BMz7z2KR-J0yZ4im3.mjs} +11 -3
- package/dist/tokenizer-BMz7z2KR-J0yZ4im3.mjs.map +1 -0
- package/dist/{tokenizer-DcYI0Xrq-C-nNE9mE.d.mts → tokenizer-DW30uwhx-BHsWTwYk.d.mts} +8 -3
- package/dist/tokenizer-DW30uwhx-BHsWTwYk.d.mts.map +1 -0
- package/package.json +16 -15
- package/dist/authoring-D_Czkofy.mjs +0 -35
- package/dist/authoring-D_Czkofy.mjs.map +0 -1
- package/dist/authoring-DjeaZGzp.d.mts +0 -27
- package/dist/authoring-DjeaZGzp.d.mts.map +0 -1
- package/dist/canonicalization-path-match-CNgHuwM_-CCPBeUuk.mjs +0 -25
- package/dist/canonicalization-path-match-CNgHuwM_-CCPBeUuk.mjs.map +0 -1
- package/dist/config-types-BZjCZ4qx.mjs.map +0 -1
- package/dist/config-types-DgoEWkgA.d.mts.map +0 -1
- package/dist/control-BjK3Jrmp.mjs.map +0 -1
- package/dist/declarations-D79GooqC-CcAbqTsq.mjs.map +0 -1
- package/dist/diagnostic-Esyl8Qw1-Cd6SnWPN.mjs +0 -83
- package/dist/diagnostic-Esyl8Qw1-Cd6SnWPN.mjs.map +0 -1
- package/dist/hashing-BtIZVNYX.mjs.map +0 -1
- package/dist/hashing-WJflm0s1.d.mts +0 -25
- package/dist/hashing-WJflm0s1.d.mts.map +0 -1
- package/dist/hashing-utils-DQgS3nOe.mjs.map +0 -1
- package/dist/parse-DN-F4ASD-ClJdPlzj.mjs.map +0 -1
- package/dist/psl-ast-DUCvVXbB.mjs.map +0 -1
- package/dist/runtime-Dnv06bEV.d.mts.map +0 -1
- package/dist/tokenizer-CFsbtfFw-BnfUBepb.mjs.map +0 -1
- package/dist/tokenizer-DcYI0Xrq-C-nNE9mE.d.mts.map +0 -1
- package/dist/utils-DMAM0unR.mjs.map +0 -1
|
@@ -1,387 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* A token in the red tree. Unlike the green-layer {@link Token} (kind + text
|
|
6
|
-
* only), a red token also carries its absolute `offset` within the source and a
|
|
7
|
-
* link back to its `parent` {@link SyntaxNode}, so a cursor anchored on a token
|
|
8
|
-
* can walk outward (parent, previous/next token, siblings) without re-scanning
|
|
9
|
-
* from the document root.
|
|
10
|
-
*/
|
|
11
|
-
var SyntaxToken = class {
|
|
12
|
-
green;
|
|
13
|
-
kind;
|
|
14
|
-
text;
|
|
15
|
-
offset;
|
|
16
|
-
parent;
|
|
17
|
-
/** Position within the parent's children, enabling O(1) sibling navigation without rescanning the green layer. */
|
|
18
|
-
index;
|
|
19
|
-
constructor(green, offset, parent, index) {
|
|
20
|
-
this.green = green;
|
|
21
|
-
this.kind = green.kind;
|
|
22
|
-
this.text = green.text;
|
|
23
|
-
this.offset = offset;
|
|
24
|
-
this.parent = parent;
|
|
25
|
-
this.index = index;
|
|
26
|
-
}
|
|
27
|
-
get textLength() {
|
|
28
|
-
return this.text.length;
|
|
29
|
-
}
|
|
30
|
-
get endOffset() {
|
|
31
|
-
return this.offset + this.textLength;
|
|
32
|
-
}
|
|
33
|
-
/** Whether `offset` falls within this token, inclusive of both ends. */
|
|
34
|
-
isInside(offset) {
|
|
35
|
-
return offset >= this.offset && offset <= this.endOffset;
|
|
36
|
-
}
|
|
37
|
-
isOutside(offset) {
|
|
38
|
-
return !this.isInside(offset);
|
|
39
|
-
}
|
|
40
|
-
/** The sibling element immediately after this token within its parent. */
|
|
41
|
-
get nextSiblingOrToken() {
|
|
42
|
-
return this.parent.childAt(this.index + 1);
|
|
43
|
-
}
|
|
44
|
-
/** The sibling element immediately before this token within its parent. */
|
|
45
|
-
get prevSiblingOrToken() {
|
|
46
|
-
return this.parent.childAt(this.index - 1);
|
|
47
|
-
}
|
|
48
|
-
/** The next token in document order, crossing node boundaries. */
|
|
49
|
-
get nextToken() {
|
|
50
|
-
for (let el = climbingNext(this); el !== void 0; el = climbingNext(el)) {
|
|
51
|
-
const token = firstToken(el);
|
|
52
|
-
if (token !== void 0) return token;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
/** The previous token in document order, crossing node boundaries. */
|
|
56
|
-
get prevToken() {
|
|
57
|
-
for (let el = climbingPrev(this); el !== void 0; el = climbingPrev(el)) {
|
|
58
|
-
const token = lastToken(el);
|
|
59
|
-
if (token !== void 0) return token;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
var TokenAtOffset = class TokenAtOffset {
|
|
64
|
-
#state;
|
|
65
|
-
constructor(state) {
|
|
66
|
-
this.#state = state;
|
|
67
|
-
}
|
|
68
|
-
static none() {
|
|
69
|
-
return new TokenAtOffset({ kind: "none" });
|
|
70
|
-
}
|
|
71
|
-
static single(token) {
|
|
72
|
-
return new TokenAtOffset({
|
|
73
|
-
kind: "single",
|
|
74
|
-
token
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
static between(left, right) {
|
|
78
|
-
return new TokenAtOffset({
|
|
79
|
-
kind: "between",
|
|
80
|
-
left,
|
|
81
|
-
right
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
get isEmpty() {
|
|
85
|
-
return this.#state.kind === "none";
|
|
86
|
-
}
|
|
87
|
-
get isBetween() {
|
|
88
|
-
return this.#state.kind === "between";
|
|
89
|
-
}
|
|
90
|
-
leftBiased() {
|
|
91
|
-
switch (this.#state.kind) {
|
|
92
|
-
case "none": return;
|
|
93
|
-
case "single": return this.#state.token;
|
|
94
|
-
case "between": return this.#state.left;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
rightBiased() {
|
|
98
|
-
switch (this.#state.kind) {
|
|
99
|
-
case "none": return;
|
|
100
|
-
case "single": return this.#state.token;
|
|
101
|
-
case "between": return this.#state.right;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
var SyntaxNode = class SyntaxNode {
|
|
106
|
-
green;
|
|
107
|
-
offset;
|
|
108
|
-
parent;
|
|
109
|
-
/** Position within the parent's children, enabling O(1) sibling navigation without rescanning the green layer. */
|
|
110
|
-
index;
|
|
111
|
-
#childSlots;
|
|
112
|
-
#childOffsets;
|
|
113
|
-
constructor(green, offset, parent, index) {
|
|
114
|
-
this.green = green;
|
|
115
|
-
this.offset = offset;
|
|
116
|
-
this.parent = parent;
|
|
117
|
-
this.index = index;
|
|
118
|
-
}
|
|
119
|
-
#slots() {
|
|
120
|
-
let slots = this.#childSlots;
|
|
121
|
-
if (slots === void 0) {
|
|
122
|
-
slots = new Array(this.green.children.length).fill(void 0);
|
|
123
|
-
this.#childSlots = slots;
|
|
124
|
-
}
|
|
125
|
-
return slots;
|
|
126
|
-
}
|
|
127
|
-
#childOffset(index) {
|
|
128
|
-
let offsets = this.#childOffsets;
|
|
129
|
-
if (offsets === void 0) {
|
|
130
|
-
offsets = [];
|
|
131
|
-
this.#childOffsets = offsets;
|
|
132
|
-
}
|
|
133
|
-
for (let known = offsets.length; known <= index; known++) {
|
|
134
|
-
const previousOffset = offsets[known - 1];
|
|
135
|
-
const previousChild = this.green.children[known - 1];
|
|
136
|
-
offsets.push(previousOffset === void 0 || previousChild === void 0 ? this.offset : previousOffset + elementTextLength(previousChild));
|
|
137
|
-
}
|
|
138
|
-
return offsets[index] ?? this.offset;
|
|
139
|
-
}
|
|
140
|
-
childAt(index) {
|
|
141
|
-
const green = this.green.children[index];
|
|
142
|
-
if (green === void 0) return void 0;
|
|
143
|
-
const slots = this.#slots();
|
|
144
|
-
const cached = slots[index];
|
|
145
|
-
if (cached !== void 0) return cached;
|
|
146
|
-
const created = wrapElement(green, this.#childOffset(index), this, index);
|
|
147
|
-
slots[index] = created;
|
|
148
|
-
return created;
|
|
149
|
-
}
|
|
150
|
-
get kind() {
|
|
151
|
-
return this.green.kind;
|
|
152
|
-
}
|
|
153
|
-
get textLength() {
|
|
154
|
-
return this.green.textLength;
|
|
155
|
-
}
|
|
156
|
-
get endOffset() {
|
|
157
|
-
return this.offset + this.textLength;
|
|
158
|
-
}
|
|
159
|
-
/** Whether `offset` falls within this node, inclusive of both ends. */
|
|
160
|
-
isInside(offset) {
|
|
161
|
-
return offset >= this.offset && offset <= this.endOffset;
|
|
162
|
-
}
|
|
163
|
-
isOutside(offset) {
|
|
164
|
-
return !this.isInside(offset);
|
|
165
|
-
}
|
|
166
|
-
get firstChild() {
|
|
167
|
-
return this.childAt(0);
|
|
168
|
-
}
|
|
169
|
-
get lastChild() {
|
|
170
|
-
return this.childAt(this.green.children.length - 1);
|
|
171
|
-
}
|
|
172
|
-
get nextSibling() {
|
|
173
|
-
return this.parent?.childAt(this.index + 1);
|
|
174
|
-
}
|
|
175
|
-
get prevSibling() {
|
|
176
|
-
return this.parent?.childAt(this.index - 1);
|
|
177
|
-
}
|
|
178
|
-
/** The sibling element immediately after this node within its parent. */
|
|
179
|
-
get nextSiblingOrToken() {
|
|
180
|
-
return this.nextSibling;
|
|
181
|
-
}
|
|
182
|
-
/** The sibling element immediately before this node within its parent. */
|
|
183
|
-
get prevSiblingOrToken() {
|
|
184
|
-
return this.prevSibling;
|
|
185
|
-
}
|
|
186
|
-
/** The first token in this subtree (depth-first), or `undefined` if empty. */
|
|
187
|
-
get firstToken() {
|
|
188
|
-
return firstToken(this);
|
|
189
|
-
}
|
|
190
|
-
/** The last token in this subtree (depth-first), or `undefined` if empty. */
|
|
191
|
-
get lastToken() {
|
|
192
|
-
return lastToken(this);
|
|
193
|
-
}
|
|
194
|
-
*children() {
|
|
195
|
-
const count = this.green.children.length;
|
|
196
|
-
for (let index = 0; index < count; index++) {
|
|
197
|
-
const child = this.childAt(index);
|
|
198
|
-
if (child !== void 0) yield child;
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
*childNodes() {
|
|
202
|
-
for (const child of this.children()) if (child instanceof SyntaxNode) yield child;
|
|
203
|
-
}
|
|
204
|
-
root() {
|
|
205
|
-
let current = this;
|
|
206
|
-
for (const parent of this.ancestors()) current = parent;
|
|
207
|
-
return current;
|
|
208
|
-
}
|
|
209
|
-
*ancestors() {
|
|
210
|
-
let current = this.parent;
|
|
211
|
-
while (current) {
|
|
212
|
-
yield current;
|
|
213
|
-
current = current.parent;
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
/** The nearest match, testing this node itself before walking its ancestors. */
|
|
217
|
-
findAncestor(cast) {
|
|
218
|
-
const self = cast(this);
|
|
219
|
-
if (self !== void 0) return self;
|
|
220
|
-
for (const ancestor of this.ancestors()) {
|
|
221
|
-
const result = cast(ancestor);
|
|
222
|
-
if (result !== void 0) return result;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
*descendants() {
|
|
226
|
-
const stack = [this];
|
|
227
|
-
for (let el = stack.pop(); el !== void 0; el = stack.pop()) {
|
|
228
|
-
yield el;
|
|
229
|
-
if (el instanceof SyntaxNode) {
|
|
230
|
-
const children = Array.from(el.children());
|
|
231
|
-
for (let i = children.length - 1; i >= 0; i--) {
|
|
232
|
-
const child = children[i];
|
|
233
|
-
if (child !== void 0) stack.push(child);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
*tokens() {
|
|
239
|
-
for (const el of this.descendants()) if (el instanceof SyntaxToken) yield el;
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* The token(s) at `offset`. The between-two-tokens case (offset exactly on a
|
|
243
|
-
* token seam) is represented explicitly so callers can left/right bias.
|
|
244
|
-
*/
|
|
245
|
-
tokenAtOffset(offset) {
|
|
246
|
-
return tokenAtOffsetOf(this, offset);
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* The smallest element fully containing the range `[start, end]`. At a seam
|
|
250
|
-
* (and for empty ranges) the left-hand element is preferred, matching
|
|
251
|
-
* {@link containsOffset}'s inclusive span.
|
|
252
|
-
*/
|
|
253
|
-
coveringElement(start, end) {
|
|
254
|
-
let result = this;
|
|
255
|
-
for (;;) {
|
|
256
|
-
if (result instanceof SyntaxToken) return result;
|
|
257
|
-
let next;
|
|
258
|
-
for (const child of result.children()) if (containsRange(child, start, end)) {
|
|
259
|
-
next = child;
|
|
260
|
-
break;
|
|
261
|
-
}
|
|
262
|
-
if (next === void 0) return result;
|
|
263
|
-
result = next;
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
};
|
|
267
|
-
function elementTextLength(el) {
|
|
268
|
-
return el.type === "token" ? el.text.length : el.textLength;
|
|
269
|
-
}
|
|
270
|
-
function elementLength(el) {
|
|
271
|
-
return el instanceof SyntaxToken ? el.text.length : el.textLength;
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* Whether `el` contains `offset`. The span is inclusive on both ends so a seam
|
|
275
|
-
* offset touches both neighbours.
|
|
276
|
-
*/
|
|
277
|
-
function containsOffset(el, offset) {
|
|
278
|
-
const start = el.offset;
|
|
279
|
-
const len = elementLength(el);
|
|
280
|
-
return offset >= start && offset <= start + len;
|
|
281
|
-
}
|
|
282
|
-
function containsRange(el, start, end) {
|
|
283
|
-
const elStart = el.offset;
|
|
284
|
-
const len = elementLength(el);
|
|
285
|
-
return elStart <= start && end <= elStart + len;
|
|
286
|
-
}
|
|
287
|
-
function tokenAtOffsetOf(el, offset) {
|
|
288
|
-
if (el instanceof SyntaxToken) return TokenAtOffset.single(el);
|
|
289
|
-
let left;
|
|
290
|
-
let right;
|
|
291
|
-
for (const child of el.children()) {
|
|
292
|
-
if (!containsOffset(child, offset)) continue;
|
|
293
|
-
if (left === void 0) left = child;
|
|
294
|
-
else {
|
|
295
|
-
right = child;
|
|
296
|
-
break;
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
if (left === void 0) return TokenAtOffset.none();
|
|
300
|
-
if (right === void 0) return tokenAtOffsetOf(left, offset);
|
|
301
|
-
const leftToken = tokenAtOffsetOf(left, offset).rightBiased();
|
|
302
|
-
const rightToken = tokenAtOffsetOf(right, offset).leftBiased();
|
|
303
|
-
if (leftToken !== void 0 && rightToken !== void 0) return TokenAtOffset.between(leftToken, rightToken);
|
|
304
|
-
if (leftToken !== void 0) return TokenAtOffset.single(leftToken);
|
|
305
|
-
if (rightToken !== void 0) return TokenAtOffset.single(rightToken);
|
|
306
|
-
return TokenAtOffset.none();
|
|
307
|
-
}
|
|
308
|
-
function firstToken(el) {
|
|
309
|
-
if (el instanceof SyntaxToken) return el;
|
|
310
|
-
for (const child of el.children()) {
|
|
311
|
-
const token = firstToken(child);
|
|
312
|
-
if (token !== void 0) return token;
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
function lastToken(el) {
|
|
316
|
-
if (el instanceof SyntaxToken) return el;
|
|
317
|
-
const children = Array.from(el.children());
|
|
318
|
-
for (let i = children.length - 1; i >= 0; i--) {
|
|
319
|
-
const child = children[i];
|
|
320
|
-
if (child !== void 0) {
|
|
321
|
-
const token = lastToken(child);
|
|
322
|
-
if (token !== void 0) return token;
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
function climbingNext(el) {
|
|
327
|
-
let current = el;
|
|
328
|
-
for (;;) {
|
|
329
|
-
const parent = current.parent;
|
|
330
|
-
if (parent === void 0) return void 0;
|
|
331
|
-
const sibling = parent.childAt(current.index + 1);
|
|
332
|
-
if (sibling !== void 0) return sibling;
|
|
333
|
-
current = parent;
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
function climbingPrev(el) {
|
|
337
|
-
let current = el;
|
|
338
|
-
for (;;) {
|
|
339
|
-
const parent = current.parent;
|
|
340
|
-
if (parent === void 0) return void 0;
|
|
341
|
-
const sibling = parent.childAt(current.index - 1);
|
|
342
|
-
if (sibling !== void 0) return sibling;
|
|
343
|
-
current = parent;
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
function wrapElement(green, offset, parent, index) {
|
|
347
|
-
if (green.type === "token") return new SyntaxToken(green, offset, parent, index);
|
|
348
|
-
return new SyntaxNode(green, offset, parent, index);
|
|
349
|
-
}
|
|
350
|
-
function createSyntaxTree(green) {
|
|
351
|
-
return new SyntaxNode(green, 0, void 0, 0);
|
|
352
|
-
}
|
|
353
|
-
function findChildToken(node, kind) {
|
|
354
|
-
for (const child of node.children()) if (!(child instanceof SyntaxNode) && child.kind === kind) return child;
|
|
355
|
-
}
|
|
356
|
-
function findFirstChild(node, cast) {
|
|
357
|
-
for (const child of node.childNodes()) {
|
|
358
|
-
const result = cast(child);
|
|
359
|
-
if (result !== void 0) return result;
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
function* filterChildren(node, cast) {
|
|
363
|
-
for (const child of node.childNodes()) {
|
|
364
|
-
const result = cast(child);
|
|
365
|
-
if (result !== void 0) yield result;
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
function any(...casts) {
|
|
369
|
-
return (node) => {
|
|
370
|
-
for (const cast of casts) {
|
|
371
|
-
const result = cast(node);
|
|
372
|
-
if (result !== void 0) return result;
|
|
373
|
-
}
|
|
374
|
-
};
|
|
375
|
-
}
|
|
376
|
-
/**
|
|
377
|
-
* Raw source text of a CST node, verbatim (quotes and brackets preserved). For
|
|
378
|
-
* the decoded value of a string literal, decode it instead.
|
|
379
|
-
*/
|
|
380
|
-
function printSyntax(node) {
|
|
381
|
-
let text = "";
|
|
382
|
-
for (const token of node.tokens()) text += token.text;
|
|
383
|
-
return text;
|
|
384
|
-
}
|
|
1
|
+
import { I as resolvePslBacktickEscapes, g as canonicalizeTaggedLiteralBody } from "./control-CS45l6kB.mjs";
|
|
2
|
+
import { r as isTerminatedStringLiteral } from "./tokenizer-BMz7z2KR-J0yZ4im3.mjs";
|
|
3
|
+
import { c as findFirstChild, o as filterChildren, s as findChildToken, t as SyntaxNode } from "./ast-helpers-2XRnkQEO-BxG5qx3Q.mjs";
|
|
4
|
+
//#region ../../../1-framework/2-authoring/psl-parser/dist/declarations-43E1JFHg.mjs
|
|
385
5
|
var IdentifierAst = class IdentifierAst {
|
|
386
6
|
syntax;
|
|
387
7
|
constructor(syntax) {
|
|
@@ -1028,7 +648,7 @@ var GenericBlockDeclarationAst = class GenericBlockDeclarationAst {
|
|
|
1028
648
|
*entries() {
|
|
1029
649
|
yield* filterChildren(this.syntax, KeyValuePairAst.cast);
|
|
1030
650
|
}
|
|
1031
|
-
/** Field lines of a
|
|
651
|
+
/** Field lines of a `view` body. Empty for every other generic block. */
|
|
1032
652
|
*fields() {
|
|
1033
653
|
yield* filterChildren(this.syntax, FieldDeclarationAst.cast);
|
|
1034
654
|
}
|
|
@@ -1066,7 +686,7 @@ var KeyValuePairAst = class KeyValuePairAst {
|
|
|
1066
686
|
}
|
|
1067
687
|
}
|
|
1068
688
|
}
|
|
1069
|
-
/** `@` attributes after the key or value
|
|
689
|
+
/** `@` attributes after the key or value, as in `USER @map("user")`. */
|
|
1070
690
|
*attributes() {
|
|
1071
691
|
yield* filterChildren(this.syntax, FieldAttributeAst.cast);
|
|
1072
692
|
}
|
|
@@ -1114,6 +734,6 @@ var NamedTypeDeclarationAst = class NamedTypeDeclarationAst {
|
|
|
1114
734
|
}
|
|
1115
735
|
};
|
|
1116
736
|
//#endregion
|
|
1117
|
-
export {
|
|
737
|
+
export { TypeAnnotationAst as C, TaggedLiteralExprAst as S, castExpression as T, NumberLiteralExprAst as _, CompositeTypeDeclarationAst as a, QualifiedNameAst as b, FieldDeclarationAst as c, IdentifierAst as d, KeyValuePairAst as f, NamespaceDeclarationAst as g, NamedTypeDeclarationAst as h, BooleanLiteralExprAst as i, FunctionCallAst as l, ModelDeclarationAst as m, AttributeArgAst as n, DocumentAst as o, ModelAttributeAst as p, AttributeArgListAst as r, FieldAttributeAst as s, ArrayLiteralAst as t, GenericBlockDeclarationAst as u, ObjectFieldAst as v, TypesBlockAst as w, StringLiteralExprAst as x, ObjectLiteralExprAst as y };
|
|
1118
738
|
|
|
1119
|
-
//# sourceMappingURL=declarations-
|
|
739
|
+
//# sourceMappingURL=declarations-43E1JFHg-DGBa0YH_.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"declarations-43E1JFHg-DGBa0YH_.mjs","names":["#segmentBefore","#segmentAfter","#separatorCount"],"sources":["../../../../1-framework/2-authoring/psl-parser/dist/declarations-43E1JFHg.mjs"],"sourcesContent":["import { r as isTerminatedStringLiteral } from \"./tokenizer-BMz7z2KR.mjs\";\nimport { i as findFirstChild, n as filterChildren, o as SyntaxNode, r as findChildToken } from \"./ast-helpers-2XRnkQEO.mjs\";\nimport { canonicalizeTaggedLiteralBody, resolvePslBacktickEscapes } from \"@internal/framework-components/control\";\n//#region src/syntax/ast/identifier.ts\nvar IdentifierAst = class IdentifierAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\ttoken() {\n\t\treturn findChildToken(this.syntax, \"Ident\");\n\t}\n\tname() {\n\t\treturn this.token()?.text;\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"Identifier\" ? new IdentifierAst(node) : void 0;\n\t}\n};\n//#endregion\n//#region src/syntax/ast/qualified-name.ts\n/** A namespace-qualified name, e.g. `pgvector.Vector` or `supabase:auth.User`. */\nvar QualifiedNameAst = class QualifiedNameAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\t#segmentBefore(boundary) {\n\t\tlet found;\n\t\tfor (const segment of filterChildren(this.syntax, IdentifierAst.cast)) {\n\t\t\tif (segment.syntax.offset >= boundary) break;\n\t\t\tfound = segment;\n\t\t}\n\t\treturn found;\n\t}\n\t#segmentAfter(boundary) {\n\t\tfor (const segment of filterChildren(this.syntax, IdentifierAst.cast)) if (segment.syntax.offset > boundary) return segment;\n\t}\n\t#separatorCount(kind) {\n\t\tlet count = 0;\n\t\tfor (const child of this.syntax.children()) if (!(child instanceof SyntaxNode) && child.kind === kind) count++;\n\t\treturn count;\n\t}\n\tcolon() {\n\t\treturn findChildToken(this.syntax, \"Colon\");\n\t}\n\tdot() {\n\t\treturn findChildToken(this.syntax, \"Dot\");\n\t}\n\tspace() {\n\t\tconst colon = this.colon();\n\t\tif (!colon) return void 0;\n\t\treturn this.#segmentBefore(colon.offset);\n\t}\n\tnamespace() {\n\t\tconst dot = this.dot();\n\t\tif (!dot) return void 0;\n\t\treturn this.#segmentBefore(dot.offset);\n\t}\n\tidentifier() {\n\t\tconst dot = this.dot();\n\t\tif (dot) return this.#segmentAfter(dot.offset);\n\t\tconst colon = this.colon();\n\t\tif (colon) return this.#segmentAfter(colon.offset);\n\t\treturn findFirstChild(this.syntax, IdentifierAst.cast);\n\t}\n\t/**\n\t* Every identifier segment, in source order. A bare `Vector` yields\n\t* `['Vector']`; a qualified `pgvector.Vector` yields `['pgvector', 'Vector']`.\n\t*/\n\tpath() {\n\t\tconst segments = [];\n\t\tfor (const segment of filterChildren(this.syntax, IdentifierAst.cast)) {\n\t\t\tconst text = segment.token()?.text;\n\t\t\tif (text !== void 0) segments.push(text);\n\t\t}\n\t\treturn segments;\n\t}\n\t/** True iff this is a single unqualified identifier whose text equals `name`. */\n\tisSimpleName(name) {\n\t\tif (this.dot() !== void 0 || this.colon() !== void 0) return false;\n\t\treturn this.identifier()?.token()?.text === name;\n\t}\n\t/**\n\t* Flags a malformed name with more qualifier segments than allowed (a second\n\t* `:`-space or a second `.`-namespace).\n\t*/\n\tisOverQualified() {\n\t\treturn this.#separatorCount(\"Dot\") > 1 || this.#separatorCount(\"Colon\") > 1;\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"QualifiedName\" ? new QualifiedNameAst(node) : void 0;\n\t}\n};\n//#endregion\n//#region src/syntax/ast/expressions.ts\nvar FunctionCallAst = class FunctionCallAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\t/** The qualified-name callee, or `undefined` when identifier segments sit directly under the node. */\n\tname() {\n\t\treturn findFirstChild(this.syntax, QualifiedNameAst.cast);\n\t}\n\t/**\n\t* The dotted call path, in source order. A bare `Vector(…)` yields\n\t* `['Vector']`; a namespace-qualified `pgvector.Vector(…)` yields\n\t* `['pgvector', 'Vector']`. Empty when the call carries no identifier.\n\t*/\n\tpath() {\n\t\tconst qualified = this.name();\n\t\tconst segments = [];\n\t\tfor (const segment of filterChildren(qualified?.syntax ?? this.syntax, IdentifierAst.cast)) {\n\t\t\tconst text = segment.token()?.text;\n\t\t\tif (text !== void 0) segments.push(text);\n\t\t}\n\t\treturn segments;\n\t}\n\tlparen() {\n\t\treturn findChildToken(this.syntax, \"LParen\");\n\t}\n\trparen() {\n\t\treturn findChildToken(this.syntax, \"RParen\");\n\t}\n\t*args() {\n\t\tyield* filterChildren(this.syntax, AttributeArgAst.cast);\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"FunctionCall\" ? new FunctionCallAst(node) : void 0;\n\t}\n};\nvar ArrayLiteralAst = class ArrayLiteralAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\tlbracket() {\n\t\treturn findChildToken(this.syntax, \"LBracket\");\n\t}\n\trbracket() {\n\t\treturn findChildToken(this.syntax, \"RBracket\");\n\t}\n\t*elements() {\n\t\tyield* filterChildren(this.syntax, castExpression);\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"ArrayLiteral\" ? new ArrayLiteralAst(node) : void 0;\n\t}\n};\nconst HEX = /^[0-9a-fA-F]+$/;\nfunction decodeFixedHex(raw, start, width) {\n\tif (start + width > raw.length) return void 0;\n\tconst hex = raw.slice(start, start + width);\n\tif (!HEX.test(hex)) return void 0;\n\treturn String.fromCharCode(Number.parseInt(hex, 16));\n}\nfunction decodeStringLiteral(raw) {\n\tlet out = \"\";\n\tlet i = 0;\n\twhile (i < raw.length) {\n\t\tconst ch = raw.charAt(i);\n\t\tif (ch !== \"\\\\\" || i + 1 >= raw.length) {\n\t\t\tout += ch;\n\t\t\ti++;\n\t\t\tcontinue;\n\t\t}\n\t\tconst next = raw.charAt(i + 1);\n\t\tswitch (next) {\n\t\t\tcase \"n\":\n\t\t\t\tout += \"\\n\";\n\t\t\t\ti += 2;\n\t\t\t\tcontinue;\n\t\t\tcase \"r\":\n\t\t\t\tout += \"\\r\";\n\t\t\t\ti += 2;\n\t\t\t\tcontinue;\n\t\t\tcase \"t\":\n\t\t\t\tout += \"\t\";\n\t\t\t\ti += 2;\n\t\t\t\tcontinue;\n\t\t\tcase \"\\\"\":\n\t\t\t\tout += \"\\\"\";\n\t\t\t\ti += 2;\n\t\t\t\tcontinue;\n\t\t\tcase \"'\":\n\t\t\t\tout += \"'\";\n\t\t\t\ti += 2;\n\t\t\t\tcontinue;\n\t\t\tcase \"\\\\\":\n\t\t\t\tout += \"\\\\\";\n\t\t\t\ti += 2;\n\t\t\t\tcontinue;\n\t\t\tcase \"x\": {\n\t\t\t\tconst decoded = decodeFixedHex(raw, i + 2, 2);\n\t\t\t\tif (decoded === void 0) {\n\t\t\t\t\tout += \"\\\\x\";\n\t\t\t\t\ti += 2;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tout += decoded;\n\t\t\t\ti += 4;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tcase \"u\": {\n\t\t\t\tconst decoded = decodeFixedHex(raw, i + 2, 4);\n\t\t\t\tif (decoded === void 0) {\n\t\t\t\t\tout += \"\\\\u\";\n\t\t\t\t\ti += 2;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tout += decoded;\n\t\t\t\ti += 6;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tout += `\\\\${next}`;\n\t\t\t\ti += 2;\n\t\t\t\tcontinue;\n\t\t}\n\t}\n\treturn out;\n}\nvar StringLiteralExprAst = class StringLiteralExprAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\ttoken() {\n\t\treturn findChildToken(this.syntax, \"StringLiteral\");\n\t}\n\tquote() {\n\t\tconst quote = this.token()?.text.charAt(0);\n\t\treturn quote === \"\\\"\" || quote === \"'\" || quote === \"`\" ? quote : void 0;\n\t}\n\t/**\n\t* The decoded string. A `\"` or `'` string resolves the usual escapes; a backtick string resolves\n\t* only `` \\` `` and `\\\\`, keeping every other backslash sequence as written.\n\t*/\n\tvalue() {\n\t\tconst tok = this.token();\n\t\tif (!tok) return void 0;\n\t\tconst raw = isTerminatedStringLiteral(tok.text) ? tok.text.slice(1, -1) : tok.text.slice(1);\n\t\treturn this.quote() === \"`\" ? resolvePslBacktickEscapes(raw) : decodeStringLiteral(raw);\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"StringLiteralExpr\" ? new StringLiteralExprAst(node) : void 0;\n\t}\n};\n/** `` tag`body` ``, `tag\"body\"`, or `tag'body'`: a qualified-name tag followed by a string literal. */\nvar TaggedLiteralExprAst = class TaggedLiteralExprAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\ttag() {\n\t\treturn findFirstChild(this.syntax, QualifiedNameAst.cast);\n\t}\n\t/** The tag without trivia, e.g. `pg.sql`. */\n\ttagName() {\n\t\tconst tag = this.tag();\n\t\tconst space = tag?.space()?.name();\n\t\tconst namespace = tag?.namespace()?.name();\n\t\treturn (space === void 0 ? \"\" : `${space}:`) + (namespace === void 0 ? \"\" : `${namespace}.`) + (tag?.identifier()?.name() ?? \"\");\n\t}\n\tliteral() {\n\t\treturn findFirstChild(this.syntax, StringLiteralExprAst.cast);\n\t}\n\tcanonicalization() {\n\t\treturn canonicalizeTaggedLiteralBody(this.literal()?.value() ?? \"\");\n\t}\n\t/** The canonical body shared with the TypeScript `sql` tag, or `undefined` when canonicalization fails. */\n\tbody() {\n\t\tconst result = this.canonicalization();\n\t\treturn result.ok ? result.body : void 0;\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"TaggedLiteral\" ? new TaggedLiteralExprAst(node) : void 0;\n\t}\n};\nvar NumberLiteralExprAst = class NumberLiteralExprAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\ttoken() {\n\t\treturn findChildToken(this.syntax, \"NumberLiteral\");\n\t}\n\tvalue() {\n\t\tconst tok = this.token();\n\t\tif (!tok) return void 0;\n\t\treturn Number(tok.text);\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"NumberLiteralExpr\" ? new NumberLiteralExprAst(node) : void 0;\n\t}\n};\nvar BooleanLiteralExprAst = class BooleanLiteralExprAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\ttoken() {\n\t\treturn findChildToken(this.syntax, \"Ident\");\n\t}\n\tvalue() {\n\t\tconst tok = this.token();\n\t\tif (!tok) return void 0;\n\t\tif (tok.text === \"true\") return true;\n\t\tif (tok.text === \"false\") return false;\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"BooleanLiteralExpr\" ? new BooleanLiteralExprAst(node) : void 0;\n\t}\n};\nvar ObjectLiteralExprAst = class ObjectLiteralExprAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\tlbrace() {\n\t\treturn findChildToken(this.syntax, \"LBrace\");\n\t}\n\trbrace() {\n\t\treturn findChildToken(this.syntax, \"RBrace\");\n\t}\n\t*fields() {\n\t\tyield* filterChildren(this.syntax, ObjectFieldAst.cast);\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"ObjectLiteralExpr\" ? new ObjectLiteralExprAst(node) : void 0;\n\t}\n};\nvar ObjectFieldAst = class ObjectFieldAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\tkey() {\n\t\tfor (const child of this.syntax.children()) {\n\t\t\tif (!(child instanceof SyntaxNode)) {\n\t\t\t\tif (child.kind === \"Colon\") break;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\treturn IdentifierAst.cast(child);\n\t\t}\n\t}\n\t/**\n\t* The field's logical key name, unquoted. An identifier key (`length:`) yields\n\t* its text; a string-literal key (`\"length\":`) yields the decoded string.\n\t* `undefined` when the field carries no key node.\n\t*/\n\tkeyName() {\n\t\tfor (const child of this.syntax.children()) {\n\t\t\tif (!(child instanceof SyntaxNode)) {\n\t\t\t\tif (child.kind === \"Colon\") break;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst identifier = IdentifierAst.cast(child);\n\t\t\tif (identifier) return identifier.token()?.text;\n\t\t\tconst stringKey = StringLiteralExprAst.cast(child);\n\t\t\tif (stringKey) return stringKey.value();\n\t\t\treturn;\n\t\t}\n\t}\n\tcolon() {\n\t\treturn findChildToken(this.syntax, \"Colon\");\n\t}\n\tvalue() {\n\t\tif (this.colon()) {\n\t\t\tlet pastColon = false;\n\t\t\tfor (const child of this.syntax.children()) {\n\t\t\t\tif (!(child instanceof SyntaxNode)) {\n\t\t\t\t\tif (child.kind === \"Colon\") pastColon = true;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (pastColon) {\n\t\t\t\t\tconst expr = castExpression(child);\n\t\t\t\t\tif (expr) return expr;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\treturn findFirstChild(this.syntax, castExpression);\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"ObjectField\" ? new ObjectFieldAst(node) : void 0;\n\t}\n};\nfunction castExpression(node) {\n\treturn FunctionCallAst.cast(node) ?? ArrayLiteralAst.cast(node) ?? StringLiteralExprAst.cast(node) ?? TaggedLiteralExprAst.cast(node) ?? NumberLiteralExprAst.cast(node) ?? BooleanLiteralExprAst.cast(node) ?? ObjectLiteralExprAst.cast(node) ?? IdentifierAst.cast(node);\n}\nvar AttributeArgAst = class AttributeArgAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\tname() {\n\t\tif (!this.colon()) return void 0;\n\t\treturn findFirstChild(this.syntax, IdentifierAst.cast);\n\t}\n\tcolon() {\n\t\treturn findChildToken(this.syntax, \"Colon\");\n\t}\n\tvalue() {\n\t\tif (this.colon()) {\n\t\t\tlet pastColon = false;\n\t\t\tfor (const child of this.syntax.children()) {\n\t\t\t\tif (!(child instanceof SyntaxNode)) {\n\t\t\t\t\tif (child.kind === \"Colon\") pastColon = true;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (pastColon) {\n\t\t\t\t\tconst expr = castExpression(child);\n\t\t\t\t\tif (expr) return expr;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\treturn findFirstChild(this.syntax, castExpression);\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"AttributeArg\" ? new AttributeArgAst(node) : void 0;\n\t}\n};\n//#endregion\n//#region src/syntax/ast/attributes.ts\nvar AttributeArgListAst = class AttributeArgListAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\tlparen() {\n\t\treturn findChildToken(this.syntax, \"LParen\");\n\t}\n\trparen() {\n\t\treturn findChildToken(this.syntax, \"RParen\");\n\t}\n\t*args() {\n\t\tyield* filterChildren(this.syntax, AttributeArgAst.cast);\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"AttributeArgList\" ? new AttributeArgListAst(node) : void 0;\n\t}\n};\nvar FieldAttributeAst = class FieldAttributeAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\tat() {\n\t\treturn findChildToken(this.syntax, \"At\");\n\t}\n\tname() {\n\t\treturn findFirstChild(this.syntax, QualifiedNameAst.cast);\n\t}\n\targList() {\n\t\treturn findFirstChild(this.syntax, AttributeArgListAst.cast);\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"FieldAttribute\" ? new FieldAttributeAst(node) : void 0;\n\t}\n};\nvar ModelAttributeAst = class ModelAttributeAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\tdoubleAt() {\n\t\treturn findChildToken(this.syntax, \"DoubleAt\");\n\t}\n\tname() {\n\t\treturn findFirstChild(this.syntax, QualifiedNameAst.cast);\n\t}\n\targList() {\n\t\treturn findFirstChild(this.syntax, AttributeArgListAst.cast);\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"ModelAttribute\" ? new ModelAttributeAst(node) : void 0;\n\t}\n};\n//#endregion\n//#region src/syntax/ast/type-annotation.ts\nvar TypeAnnotationAst = class TypeAnnotationAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\t/** The annotation's reference, doubling as the constructor callee when an {@link argList} follows. */\n\tname() {\n\t\treturn findFirstChild(this.syntax, QualifiedNameAst.cast);\n\t}\n\t/** Present when the annotation is a constructor (`Vector(1536)`) rather than a plain reference. */\n\targList() {\n\t\treturn findFirstChild(this.syntax, AttributeArgListAst.cast);\n\t}\n\tisConstructor() {\n\t\treturn this.argList() !== void 0;\n\t}\n\tlbracket() {\n\t\treturn findChildToken(this.syntax, \"LBracket\");\n\t}\n\trbracket() {\n\t\treturn findChildToken(this.syntax, \"RBracket\");\n\t}\n\tquestionMark() {\n\t\treturn findChildToken(this.syntax, \"Question\");\n\t}\n\tisList() {\n\t\treturn this.lbracket() !== void 0;\n\t}\n\tisOptional() {\n\t\treturn this.questionMark() !== void 0;\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"TypeAnnotation\" ? new TypeAnnotationAst(node) : void 0;\n\t}\n};\n//#endregion\n//#region src/syntax/ast/declarations.ts\nfunction castNamespaceMember(node) {\n\treturn ModelDeclarationAst.cast(node) ?? CompositeTypeDeclarationAst.cast(node) ?? GenericBlockDeclarationAst.cast(node);\n}\nvar DocumentAst = class DocumentAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\t*declarations() {\n\t\tyield* filterChildren(this.syntax, (node) => castNamespaceMember(node) ?? TypesBlockAst.cast(node) ?? NamespaceDeclarationAst.cast(node));\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"Document\" ? new DocumentAst(node) : void 0;\n\t}\n};\nvar ModelDeclarationAst = class ModelDeclarationAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\tkeyword() {\n\t\treturn findChildToken(this.syntax, \"Ident\");\n\t}\n\tname() {\n\t\treturn findFirstChild(this.syntax, IdentifierAst.cast);\n\t}\n\tlbrace() {\n\t\treturn findChildToken(this.syntax, \"LBrace\");\n\t}\n\trbrace() {\n\t\treturn findChildToken(this.syntax, \"RBrace\");\n\t}\n\t*fields() {\n\t\tyield* filterChildren(this.syntax, FieldDeclarationAst.cast);\n\t}\n\t*attributes() {\n\t\tyield* filterChildren(this.syntax, ModelAttributeAst.cast);\n\t}\n\t*members() {\n\t\tyield* filterChildren(this.syntax, (node) => FieldDeclarationAst.cast(node) ?? ModelAttributeAst.cast(node));\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"ModelDeclaration\" ? new ModelDeclarationAst(node) : void 0;\n\t}\n};\nvar CompositeTypeDeclarationAst = class CompositeTypeDeclarationAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\tkeyword() {\n\t\treturn findChildToken(this.syntax, \"Ident\");\n\t}\n\tname() {\n\t\treturn findFirstChild(this.syntax, IdentifierAst.cast);\n\t}\n\tlbrace() {\n\t\treturn findChildToken(this.syntax, \"LBrace\");\n\t}\n\trbrace() {\n\t\treturn findChildToken(this.syntax, \"RBrace\");\n\t}\n\t*fields() {\n\t\tyield* filterChildren(this.syntax, FieldDeclarationAst.cast);\n\t}\n\t*attributes() {\n\t\tyield* filterChildren(this.syntax, ModelAttributeAst.cast);\n\t}\n\t*members() {\n\t\tyield* filterChildren(this.syntax, (node) => FieldDeclarationAst.cast(node) ?? ModelAttributeAst.cast(node));\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"CompositeTypeDeclaration\" ? new CompositeTypeDeclarationAst(node) : void 0;\n\t}\n};\nvar NamespaceDeclarationAst = class NamespaceDeclarationAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\tkeyword() {\n\t\treturn findChildToken(this.syntax, \"Ident\");\n\t}\n\tname() {\n\t\treturn findFirstChild(this.syntax, IdentifierAst.cast);\n\t}\n\tlbrace() {\n\t\treturn findChildToken(this.syntax, \"LBrace\");\n\t}\n\trbrace() {\n\t\treturn findChildToken(this.syntax, \"RBrace\");\n\t}\n\t*declarations() {\n\t\tyield* filterChildren(this.syntax, castNamespaceMember);\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"Namespace\" ? new NamespaceDeclarationAst(node) : void 0;\n\t}\n};\nvar TypesBlockAst = class TypesBlockAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\tkeyword() {\n\t\treturn findChildToken(this.syntax, \"Ident\");\n\t}\n\tlbrace() {\n\t\treturn findChildToken(this.syntax, \"LBrace\");\n\t}\n\trbrace() {\n\t\treturn findChildToken(this.syntax, \"RBrace\");\n\t}\n\t*declarations() {\n\t\tyield* filterChildren(this.syntax, NamedTypeDeclarationAst.cast);\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"TypesBlock\" ? new TypesBlockAst(node) : void 0;\n\t}\n};\nvar GenericBlockDeclarationAst = class GenericBlockDeclarationAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\tkeyword() {\n\t\treturn findChildToken(this.syntax, \"Ident\");\n\t}\n\tname() {\n\t\treturn findFirstChild(this.syntax, IdentifierAst.cast);\n\t}\n\tlbrace() {\n\t\treturn findChildToken(this.syntax, \"LBrace\");\n\t}\n\trbrace() {\n\t\treturn findChildToken(this.syntax, \"RBrace\");\n\t}\n\t*entries() {\n\t\tyield* filterChildren(this.syntax, KeyValuePairAst.cast);\n\t}\n\t/** Field lines of a `view` body. Empty for every other generic block. */\n\t*fields() {\n\t\tyield* filterChildren(this.syntax, FieldDeclarationAst.cast);\n\t}\n\t*attributes() {\n\t\tyield* filterChildren(this.syntax, ModelAttributeAst.cast);\n\t}\n\t*members() {\n\t\tyield* filterChildren(this.syntax, (node) => KeyValuePairAst.cast(node) ?? ModelAttributeAst.cast(node));\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"GenericBlockDeclaration\" ? new GenericBlockDeclarationAst(node) : void 0;\n\t}\n};\nvar KeyValuePairAst = class KeyValuePairAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\tkey() {\n\t\treturn findFirstChild(this.syntax, IdentifierAst.cast);\n\t}\n\tequals() {\n\t\treturn findChildToken(this.syntax, \"Equals\");\n\t}\n\tvalue() {\n\t\tlet pastEquals = false;\n\t\tfor (const child of this.syntax.children()) {\n\t\t\tif (!(child instanceof SyntaxNode)) {\n\t\t\t\tif (child.kind === \"Equals\") pastEquals = true;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (pastEquals) {\n\t\t\t\tconst expr = castExpression(child);\n\t\t\t\tif (expr) return expr;\n\t\t\t}\n\t\t}\n\t}\n\t/** `@` attributes after the key or value, as in `USER @map(\"user\")`. */\n\t*attributes() {\n\t\tyield* filterChildren(this.syntax, FieldAttributeAst.cast);\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"KeyValuePair\" ? new KeyValuePairAst(node) : void 0;\n\t}\n};\nvar FieldDeclarationAst = class FieldDeclarationAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\tname() {\n\t\treturn findFirstChild(this.syntax, IdentifierAst.cast);\n\t}\n\ttypeAnnotation() {\n\t\treturn findFirstChild(this.syntax, TypeAnnotationAst.cast);\n\t}\n\t*attributes() {\n\t\tyield* filterChildren(this.syntax, FieldAttributeAst.cast);\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"FieldDeclaration\" ? new FieldDeclarationAst(node) : void 0;\n\t}\n};\nvar NamedTypeDeclarationAst = class NamedTypeDeclarationAst {\n\tsyntax;\n\tconstructor(syntax) {\n\t\tthis.syntax = syntax;\n\t}\n\tname() {\n\t\treturn findFirstChild(this.syntax, IdentifierAst.cast);\n\t}\n\tequals() {\n\t\treturn findChildToken(this.syntax, \"Equals\");\n\t}\n\ttypeAnnotation() {\n\t\treturn findFirstChild(this.syntax, TypeAnnotationAst.cast);\n\t}\n\t*attributes() {\n\t\tyield* filterChildren(this.syntax, FieldAttributeAst.cast);\n\t}\n\tstatic cast(node) {\n\t\treturn node.kind === \"NamedTypeDeclaration\" ? new NamedTypeDeclarationAst(node) : void 0;\n\t}\n};\n//#endregion\nexport { castExpression as C, TaggedLiteralExprAst as S, IdentifierAst as T, FunctionCallAst as _, KeyValuePairAst as a, ObjectLiteralExprAst as b, NamespaceDeclarationAst as c, AttributeArgListAst as d, FieldAttributeAst as f, BooleanLiteralExprAst as g, AttributeArgAst as h, GenericBlockDeclarationAst as i, TypesBlockAst as l, ArrayLiteralAst as m, DocumentAst as n, ModelDeclarationAst as o, ModelAttributeAst as p, FieldDeclarationAst as r, NamedTypeDeclarationAst as s, CompositeTypeDeclarationAst as t, TypeAnnotationAst as u, NumberLiteralExprAst as v, QualifiedNameAst as w, StringLiteralExprAst as x, ObjectFieldAst as y };\n\n//# sourceMappingURL=declarations-43E1JFHg.mjs.map"],"mappings":"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"}
|
package/dist/errors.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { C as errorTargetMigrationNotSupported, S as errorQueryRunnerFactoryRequired, _ as errorJsonFormatNotSupported, a as errorConfigFileNotFound, b as errorMigrationPlanningFailed, c as errorContractConfigMissing, d as errorDatabaseConnectionRequired, f as errorDriverRequired, g as errorInvalidOutputFormat, h as errorFileNotFound, i as errorConfigEvaluationFailed, l as errorContractMissingExtensions, m as errorFamilyReadMarkerSqlRequired, n as CliErrorEnvelope, o as errorConfigValidation, p as errorEnumCodecNotInPackStack, r as CliStructuredError, s as errorConfigVersionMarkerMissing, t as CliErrorConflict, u as errorContractValidationFailed, v as errorMigrationCliInvalidConfigArg, w as errorUnexpected, x as errorOutputFormatMutex, y as errorMigrationCliUnknownFlag } from "./control-DxiV2F-o-BYFWr0js.mjs";
|
|
2
|
-
import { a as errorHashMismatch, c as errorMarkerRequired, d as errorRuntime, f as errorSchemaVerificationFailed, g as withMarkerReadErrorHandling, h as rethrowMarkerReadError, i as errorDestructiveChanges, l as errorMarkerRowCorrupt, m as parseMarkerRowSafely, n as ERROR_CODE_DESTRUCTIVE_CHANGES, o as errorMarkerMissing, p as errorTargetMismatch, r as errorConsentPlanMismatch, s as errorMarkerReadFailed, t as ERROR_CODE_CONSENT_PLAN_MISMATCH, u as errorRunnerFailed } from "./execution-
|
|
2
|
+
import { a as errorHashMismatch, c as errorMarkerRequired, d as errorRuntime, f as errorSchemaVerificationFailed, g as withMarkerReadErrorHandling, h as rethrowMarkerReadError, i as errorDestructiveChanges, l as errorMarkerRowCorrupt, m as parseMarkerRowSafely, n as ERROR_CODE_DESTRUCTIVE_CHANGES, o as errorMarkerMissing, p as errorTargetMismatch, r as errorConsentPlanMismatch, s as errorMarkerReadFailed, t as ERROR_CODE_CONSENT_PLAN_MISMATCH, u as errorRunnerFailed } from "./execution-BsiK0DjS.mjs";
|
|
3
3
|
import { a as errorMigrationTargetMismatch, i as errorMigrationPlanNotArray, n as errorMigrationFileMissing, o as errorUnfilledPlaceholder, r as errorMigrationInvalidDefaultExport, s as placeholder, t as errorDataTransformContractMismatch } from "./migration-D4svpE2x.mjs";
|
|
4
4
|
export { type CliErrorConflict, type CliErrorEnvelope, CliStructuredError, ERROR_CODE_CONSENT_PLAN_MISMATCH, ERROR_CODE_DESTRUCTIVE_CHANGES, errorConfigEvaluationFailed, errorConfigFileNotFound, errorConfigValidation, errorConfigVersionMarkerMissing, errorConsentPlanMismatch, errorContractConfigMissing, errorContractMissingExtensions, errorContractValidationFailed, errorDataTransformContractMismatch, errorDatabaseConnectionRequired, errorDestructiveChanges, errorDriverRequired, errorEnumCodecNotInPackStack, errorFamilyReadMarkerSqlRequired, errorFileNotFound, errorHashMismatch, errorInvalidOutputFormat, errorJsonFormatNotSupported, errorMarkerMissing, errorMarkerReadFailed, errorMarkerRequired, errorMarkerRowCorrupt, errorMigrationCliInvalidConfigArg, errorMigrationCliUnknownFlag, errorMigrationFileMissing, errorMigrationInvalidDefaultExport, errorMigrationPlanNotArray, errorMigrationPlanningFailed, errorMigrationTargetMismatch, errorOutputFormatMutex, errorQueryRunnerFactoryRequired, errorRunnerFailed, errorRuntime, errorSchemaVerificationFailed, errorTargetMigrationNotSupported, errorTargetMismatch, errorUnexpected, errorUnfilledPlaceholder, parseMarkerRowSafely, placeholder, rethrowMarkerReadError, withMarkerReadErrorHandling };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as errorHashMismatch, c as errorMarkerRequired, d as errorRuntime, f as errorSchemaVerificationFailed, g as withMarkerReadErrorHandling, h as rethrowMarkerReadError, i as errorDestructiveChanges, l as errorMarkerRowCorrupt, m as parseMarkerRowSafely, n as ERROR_CODE_DESTRUCTIVE_CHANGES, o as errorMarkerMissing, p as errorTargetMismatch, r as errorConsentPlanMismatch, s as errorMarkerReadFailed, t as ERROR_CODE_CONSENT_PLAN_MISMATCH, u as errorRunnerFailed } from "./execution-
|
|
1
|
+
import { a as errorHashMismatch, c as errorMarkerRequired, d as errorRuntime, f as errorSchemaVerificationFailed, g as withMarkerReadErrorHandling, h as rethrowMarkerReadError, i as errorDestructiveChanges, l as errorMarkerRowCorrupt, m as parseMarkerRowSafely, n as ERROR_CODE_DESTRUCTIVE_CHANGES, o as errorMarkerMissing, p as errorTargetMismatch, r as errorConsentPlanMismatch, s as errorMarkerReadFailed, t as ERROR_CODE_CONSENT_PLAN_MISMATCH, u as errorRunnerFailed } from "./execution-BsiK0DjS.mjs";
|
|
2
2
|
export { ERROR_CODE_CONSENT_PLAN_MISMATCH, ERROR_CODE_DESTRUCTIVE_CHANGES, errorConsentPlanMismatch, errorDestructiveChanges, errorHashMismatch, errorMarkerMissing, errorMarkerReadFailed, errorMarkerRequired, errorMarkerRowCorrupt, errorRunnerFailed, errorRuntime, errorSchemaVerificationFailed, errorTargetMismatch, parseMarkerRowSafely, rethrowMarkerReadError, withMarkerReadErrorHandling };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Ot as VerifyDatabaseSchemaResult, rt as SchemaDiffIssue } from "./control-BTo8rNKi.mjs";
|
|
2
2
|
import { i as NextAction, r as Diagnostic } from "./structured-error-Cc7AIRsp.mjs";
|
|
3
3
|
import { r as CliStructuredError } from "./control-DxiV2F-o-BYFWr0js.mjs";
|
|
4
4
|
//#region ../../../1-framework/1-core/errors/dist/execution.d.mts
|
|
@@ -113,4 +113,4 @@ declare function errorRuntime(code: `${string}.${string}`, summary: string, opti
|
|
|
113
113
|
}): CliStructuredError;
|
|
114
114
|
//#endregion
|
|
115
115
|
export { errorHashMismatch as a, errorMarkerRequired as c, errorRuntime as d, errorSchemaVerificationFailed as f, withMarkerReadErrorHandling as g, rethrowMarkerReadError as h, errorDestructiveChanges as i, errorMarkerRowCorrupt as l, parseMarkerRowSafely as m, ERROR_CODE_DESTRUCTIVE_CHANGES as n, errorMarkerMissing as o, errorTargetMismatch as p, errorConsentPlanMismatch as r, errorMarkerReadFailed as s, ERROR_CODE_CONSENT_PLAN_MISMATCH as t, errorRunnerFailed as u };
|
|
116
|
-
//# sourceMappingURL=execution-
|
|
116
|
+
//# sourceMappingURL=execution-BsiK0DjS.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-
|
|
1
|
+
{"version":3,"file":"execution-BsiK0DjS.d.mts","names":[],"sources":["../../../../1-framework/1-core/errors/dist/execution.d.mts"],"mappings":";;;;;;;;iBAOiB,mBAAmB;WACzB;IACP;;;;iBAIa,kBAAkB;WACxB;WACA;WACA;IACP;;;;iBAIa,oBAAoB,kBAAkB,gBAAgB;WAC5D;IACP;;;;iBAIa,sBAAsB;WAC5B;WACA;WACA;WACA;IACP;;;;iBAIa,sBAAsB;WAC5B;WACA;WACA;WACA;IACP;iBACa,uBAAuB,cAAc;WAC3C;WACA;;iBAEM,4BAA4B,GAAG,iBAAiB,QAAQ,IAAI;WAClE;WACA;IACP,QAAQ;iBACK,qBAAqB,GAAG,cAAc,QAAQ,mBAAmB,GAAG;WAC1E;WACA;IACP;;;;;iBAKa,oBAAoB;WAC1B;WACA;WACA,uBAAuB;IAC9B;;;;;iBAKa,8BAA8B;WACpC;WACA,oBAAoB;WACpB,kBAAkB;IACzB;;;;iBAIa,kBAAkB,iBAAiB;WACzC;WACA;WACA,uBAAuB;WACvB,OAAO;WACP;IACP;;cAEU;;;;iBAIG,wBAAwB,iBAAiB;WAC/C;WACA;WACA,OAAO;IACd;cACU;;;;;iBAKG,yBAAyB;WAC/B;WACA;WACA;IACP;;;;iBAIa,aAAa,6BAA6B,iBAAiB;WACjE;WACA;WACA,uBAAuB;WACvB,OAAO;WACP;IACP"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { K as ProfileHashBase, M as ExecutionHashBase, N as ExecutionMutationDefault, Q as StorageHashBase } from "./domain-envelope-gHv58hD1-B8mta2A6.mjs";
|
|
2
|
+
import { n as ContractExecutionSection } from "./contract-types-Cdqr65a--BsYwlpQo.mjs";
|
|
3
|
+
import { i as StorageSort, n as PreserveEmptyPredicate } from "./canonicalization-BykcD9kZ-DDeZ2c-B.mjs";
|
|
4
|
+
//#region ../../../1-framework/0-foundation/contract/dist/hashing.d.mts
|
|
5
|
+
//#region src/build-execution-section.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Builds a contract's `execution` section from its mutation defaults: sorted by namespace, entry and field in UTF-16 code-unit order, and hashed for the target. Every authoring path calls this, so they emit the same section and hash for the same defaults.
|
|
8
|
+
*/
|
|
9
|
+
declare function buildExecutionSection(input: {
|
|
10
|
+
readonly target: string;
|
|
11
|
+
readonly targetFamily: string;
|
|
12
|
+
readonly defaults: ReadonlyArray<ExecutionMutationDefault>;
|
|
13
|
+
}): ContractExecutionSection | undefined;
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/hashing.d.ts
|
|
16
|
+
type ComputeStorageHashArgs = {
|
|
17
|
+
target: string;
|
|
18
|
+
targetFamily: string;
|
|
19
|
+
storage: Record<string, unknown>;
|
|
20
|
+
readonly shouldPreserveEmpty?: PreserveEmptyPredicate;
|
|
21
|
+
readonly sortStorage?: StorageSort;
|
|
22
|
+
};
|
|
23
|
+
declare function computeStorageHash(args: ComputeStorageHashArgs): StorageHashBase<string>;
|
|
24
|
+
declare function computeExecutionHash(args: {
|
|
25
|
+
target: string;
|
|
26
|
+
targetFamily: string;
|
|
27
|
+
execution: Record<string, unknown>;
|
|
28
|
+
}): ExecutionHashBase<string>;
|
|
29
|
+
declare function computeProfileHash(args: {
|
|
30
|
+
target: string;
|
|
31
|
+
targetFamily: string;
|
|
32
|
+
capabilities: Record<string, Record<string, boolean>>;
|
|
33
|
+
}): ProfileHashBase<string>;
|
|
34
|
+
//#endregion
|
|
35
|
+
export { computeStorageHash as i, computeExecutionHash as n, computeProfileHash as r, buildExecutionSection as t };
|
|
36
|
+
//# sourceMappingURL=hashing-BAPc4zoz.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hashing-BAPc4zoz.d.mts","names":[],"sources":["../../../../1-framework/0-foundation/contract/dist/hashing.d.mts"],"mappings":";;;;;;;;iBAOiB,sBAAsB;WAC5B;WACA;WACA,UAAU,cAAc;IAC/B;;;KAGC;EACH;EACA;EACA,SAAS;WACA,sBAAsB;WACtB,cAAc;;iBAER,mBAAmB,MAAM,yBAAyB;iBAClD,qBAAqB;EACpC;EACA;EACA,WAAW;IACT;iBACa,mBAAmB;EAClC;EACA;EACA,cAAc,eAAe;IAC3B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as castAs, t as blindCast } from "./casts-DpaahrlC-Bd5n2coI.mjs";
|
|
2
2
|
import { t as ifDefined } from "./defined-BQWA85QH-BRSBMULx.mjs";
|
|
3
|
-
import { n as matchesPathPattern } from "./canonicalization-path-match-CNgHuwM_-CCPBeUuk.mjs";
|
|
4
3
|
import { t as isPlainRecord } from "./is-plain-record-CUofyVQ7-DWEzdhIx.mjs";
|
|
4
|
+
import { a as matchesPathPattern, n as compareCodeUnits } from "./canonicalization-path-match-D88xLEq6-BFQC39ZG.mjs";
|
|
5
5
|
import { t as isArrayEqual } from "./array-equal-28xupwIB.mjs";
|
|
6
6
|
import { createHash } from "node:crypto";
|
|
7
7
|
//#region ../../../1-framework/0-foundation/contract/dist/hashing.mjs
|
|
@@ -193,7 +193,25 @@ function computeExecutionHash(args) {
|
|
|
193
193
|
function computeProfileHash(args) {
|
|
194
194
|
return blindCast(sha256(hashContract(args)));
|
|
195
195
|
}
|
|
196
|
+
function compareRefs(a, b) {
|
|
197
|
+
return compareCodeUnits(a.ref.namespace, b.ref.namespace) || compareCodeUnits(a.ref.entry, b.ref.entry) || compareCodeUnits(a.ref.field, b.ref.field);
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Builds a contract's `execution` section from its mutation defaults: sorted by namespace, entry and field in UTF-16 code-unit order, and hashed for the target. Every authoring path calls this, so they emit the same section and hash for the same defaults.
|
|
201
|
+
*/
|
|
202
|
+
function buildExecutionSection(input) {
|
|
203
|
+
if (input.defaults.length === 0) return;
|
|
204
|
+
const execution = { mutations: { defaults: [...input.defaults].sort(compareRefs) } };
|
|
205
|
+
return {
|
|
206
|
+
executionHash: computeExecutionHash({
|
|
207
|
+
target: input.target,
|
|
208
|
+
targetFamily: input.targetFamily,
|
|
209
|
+
execution
|
|
210
|
+
}),
|
|
211
|
+
...execution
|
|
212
|
+
};
|
|
213
|
+
}
|
|
196
214
|
//#endregion
|
|
197
|
-
export {
|
|
215
|
+
export { computeProfileHash as a, computeExecutionHash as i, canonicalizeContract as n, computeStorageHash as o, canonicalizeContractToObject as r, buildExecutionSection as t };
|
|
198
216
|
|
|
199
|
-
//# sourceMappingURL=hashing-
|
|
217
|
+
//# sourceMappingURL=hashing-CjTNYBuj.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hashing-CjTNYBuj.mjs","names":[],"sources":["../../../../1-framework/0-foundation/contract/dist/hashing.mjs"],"sourcesContent":["import { t as isPlainRecord } from \"./is-plain-record-CUofyVQ7.mjs\";\nimport { i as compareCodeUnits, n as matchesPathPattern } from \"./canonicalization-path-match-D88xLEq6.mjs\";\nimport { blindCast, castAs } from \"@internal/utils/casts\";\nimport { createHash } from \"node:crypto\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { isArrayEqual } from \"@internal/utils/array-equal\";\n//#region src/canonicalization.ts\nconst DOMAIN_NAMESPACE_SLOT_PATTERN = [\n\t\"domain\",\n\t\"namespaces\",\n\t\"*\"\n];\nconst DOMAIN_MODELS_CONTAINER_PATTERN = [\n\t\"domain\",\n\t\"namespaces\",\n\t\"*\",\n\t\"models\"\n];\nconst DOMAIN_MODEL_RELATIONS_PATTERN = [\n\t\"domain\",\n\t\"namespaces\",\n\t\"*\",\n\t\"models\",\n\t\"*\",\n\t\"relations\"\n];\nconst DOMAIN_MODEL_STORAGE_PATTERN = [\n\t\"domain\",\n\t\"namespaces\",\n\t\"*\",\n\t\"models\",\n\t\"*\",\n\t\"storage\"\n];\nconst STORAGE_NAMESPACE_ENTRIES_PATTERN = [\n\t\"storage\",\n\t\"namespaces\",\n\t\"*\",\n\t\"entries\"\n];\nconst TOP_LEVEL_ORDER = [\n\t\"schemaVersion\",\n\t\"canonicalVersion\",\n\t\"targetFamily\",\n\t\"target\",\n\t\"profileHash\",\n\t\"roots\",\n\t\"domain\",\n\t\"storage\",\n\t\"execution\",\n\t\"capabilities\",\n\t\"extensions\",\n\t\"defaultControlPolicy\",\n\t\"meta\"\n];\nfunction isDefaultValue(value) {\n\tif (value === false) return true;\n\tif (value === null) return false;\n\tif (Array.isArray(value) && value.length === 0) return true;\n\tif (typeof value === \"object\" && value !== null) return Object.keys(value).length === 0;\n\treturn false;\n}\nfunction omitDefaults(obj, path, shouldPreserveEmpty) {\n\tif (obj === null || typeof obj !== \"object\") return obj;\n\tif (Array.isArray(obj)) return obj.map((item) => omitDefaults(item, path, shouldPreserveEmpty));\n\tconst result = {};\n\tfor (const [key, value] of Object.entries(obj)) {\n\t\tconst currentPath = [...path, key];\n\t\tif (key === \"_generated\") continue;\n\t\tif (key === \"generated\" && value === false) continue;\n\t\tif ((key === \"onDelete\" || key === \"onUpdate\") && value === \"noAction\") continue;\n\t\tif (isDefaultValue(value)) {\n\t\t\tconst isRequiredDomainNamespaces = isArrayEqual(currentPath, [\"domain\", \"namespaces\"]);\n\t\t\tconst isDomainNamespaceSlot = matchesPathPattern(currentPath, DOMAIN_NAMESPACE_SLOT_PATTERN);\n\t\t\tconst isRequiredDomainModels = matchesPathPattern(currentPath, DOMAIN_MODELS_CONTAINER_PATTERN);\n\t\t\tconst isRequiredStorageNamespaces = isArrayEqual(currentPath, [\"storage\", \"namespaces\"]);\n\t\t\tconst isStorageNamespaceEntries = matchesPathPattern(currentPath, STORAGE_NAMESPACE_ENTRIES_PATTERN);\n\t\t\tconst isRequiredRoots = isArrayEqual(currentPath, [\"roots\"]);\n\t\t\tconst isRequiredExtensions = isArrayEqual(currentPath, [\"extensions\"]);\n\t\t\tconst isRequiredCapabilities = isArrayEqual(currentPath, [\"capabilities\"]);\n\t\t\tconst isRequiredMeta = isArrayEqual(currentPath, [\"meta\"]);\n\t\t\tconst isRequiredExecutionDefaults = isArrayEqual(currentPath, [\n\t\t\t\t\"execution\",\n\t\t\t\t\"mutations\",\n\t\t\t\t\"defaults\"\n\t\t\t]);\n\t\t\tconst isExtensionNamespace = currentPath.length === 2 && currentPath[0] === \"extensions\";\n\t\t\tconst isModelRelations = matchesPathPattern(currentPath, DOMAIN_MODEL_RELATIONS_PATTERN);\n\t\t\tconst isModelStorage = matchesPathPattern(currentPath, DOMAIN_MODEL_STORAGE_PATTERN);\n\t\t\tconst isNullableField = key === \"nullable\";\n\t\t\tconst isFamilyPreserved = shouldPreserveEmpty?.(currentPath) ?? false;\n\t\t\tif (!isRequiredDomainNamespaces && !isDomainNamespaceSlot && !isRequiredDomainModels && !isRequiredStorageNamespaces && !isStorageNamespaceEntries && !isRequiredRoots && !isRequiredExtensions && !isRequiredCapabilities && !isRequiredMeta && !isRequiredExecutionDefaults && !isExtensionNamespace && !isModelRelations && !isModelStorage && !isNullableField && !isFamilyPreserved) continue;\n\t\t}\n\t\tresult[key] = omitDefaults(value, currentPath, shouldPreserveEmpty);\n\t}\n\treturn result;\n}\nfunction sortObjectKeys(obj) {\n\tif (obj === null || typeof obj !== \"object\") return obj;\n\tif (Array.isArray(obj)) return obj.map((item) => sortObjectKeys(item));\n\tconst sorted = {};\n\tconst keys = Object.keys(obj).sort();\n\tfor (const key of keys) sorted[key] = sortObjectKeys(obj[key]);\n\treturn sorted;\n}\nfunction orderTopLevel(obj) {\n\tconst ordered = {};\n\tconst remaining = new Set(Object.keys(obj));\n\tfor (const key of TOP_LEVEL_ORDER) if (remaining.has(key)) {\n\t\tordered[key] = obj[key];\n\t\tremaining.delete(key);\n\t}\n\tfor (const key of Array.from(remaining).sort()) ordered[key] = obj[key];\n\treturn ordered;\n}\n/**\n* Object-form variant of {@link canonicalizeContract}. Exported because the\n* emitter writes the canonical contract through a separate JSON-stringify\n* pass and consumes the structured object directly.\n*/\nfunction canonicalizeContractToObject(contract, options) {\n\tconst serialized = options.serializeContract(contract);\n\tconst withDefaultsOmitted = omitDefaults({\n\t\t...ifDefined(\"schemaVersion\", options.schemaVersion),\n\t\ttargetFamily: serialized[\"targetFamily\"],\n\t\ttarget: serialized[\"target\"],\n\t\tprofileHash: serialized[\"profileHash\"],\n\t\troots: serialized[\"roots\"],\n\t\tdomain: serialized[\"domain\"],\n\t\tstorage: serialized[\"storage\"],\n\t\t...ifDefined(\"execution\", serialized[\"execution\"]),\n\t\textensions: serialized[\"extensions\"],\n\t\tcapabilities: serialized[\"capabilities\"],\n\t\t...ifDefined(\"defaultControlPolicy\", serialized[\"defaultControlPolicy\"]),\n\t\tmeta: serialized[\"meta\"]\n\t}, [], options.shouldPreserveEmpty);\n\treturn orderTopLevel(sortObjectKeys(options.sortStorage ? {\n\t\t...withDefaultsOmitted,\n\t\tstorage: options.sortStorage(withDefaultsOmitted[\"storage\"])\n\t} : withDefaultsOmitted));\n}\nfunction canonicalizeContract(contract, options) {\n\treturn JSON.stringify(canonicalizeContractToObject(contract, options), null, 2);\n}\n//#endregion\n//#region src/hashing.ts\nconst SCHEMA_VERSION = \"1\";\nfunction omitNamespaceKindsForHash(storage) {\n\tif (!isPlainRecord(storage)) return storage;\n\tconst namespaces = storage[\"namespaces\"];\n\tif (!isPlainRecord(namespaces)) return storage;\n\tconst stripped = {};\n\tfor (const [nsId, ns] of Object.entries(namespaces)) if (isPlainRecord(ns)) {\n\t\tconst { kind: _kind, ...rest } = ns;\n\t\tstripped[nsId] = rest;\n\t} else stripped[nsId] = ns;\n\treturn {\n\t\t...storage,\n\t\tnamespaces: stripped\n\t};\n}\nfunction sha256(content) {\n\tconst hash = createHash(\"sha256\");\n\thash.update(content);\n\treturn hash.digest(\"hex\");\n}\nfunction hashContract(section) {\n\tconst { shouldPreserveEmpty, sortStorage, ...sectionData } = section;\n\tconst storageForHash = omitNamespaceKindsForHash(sectionData[\"storage\"] ?? {});\n\treturn canonicalizeContract(blindCast({\n\t\ttargetFamily: sectionData[\"targetFamily\"],\n\t\ttarget: sectionData[\"target\"],\n\t\troots: {},\n\t\tdomain: { namespaces: {} },\n\t\texecution: sectionData[\"execution\"],\n\t\textensions: {},\n\t\tcapabilities: sectionData[\"capabilities\"] ?? {},\n\t\tmeta: {},\n\t\tprofileHash: \"\",\n\t\t...sectionData,\n\t\tstorage: storageForHash\n\t}), {\n\t\tschemaVersion: SCHEMA_VERSION,\n\t\tserializeContract: (c) => castAs(JSON.parse(JSON.stringify(c))),\n\t\t...ifDefined(\"shouldPreserveEmpty\", shouldPreserveEmpty),\n\t\t...ifDefined(\"sortStorage\", sortStorage)\n\t});\n}\nfunction computeStorageHash(args) {\n\treturn blindCast(sha256(hashContract(args)));\n}\nfunction computeExecutionHash(args) {\n\treturn blindCast(sha256(hashContract(args)));\n}\nfunction computeProfileHash(args) {\n\treturn blindCast(sha256(hashContract(args)));\n}\n//#endregion\n//#region src/build-execution-section.ts\nfunction compareRefs(a, b) {\n\treturn compareCodeUnits(a.ref.namespace, b.ref.namespace) || compareCodeUnits(a.ref.entry, b.ref.entry) || compareCodeUnits(a.ref.field, b.ref.field);\n}\n/**\n* Builds a contract's `execution` section from its mutation defaults: sorted by namespace, entry and field in UTF-16 code-unit order, and hashed for the target. Every authoring path calls this, so they emit the same section and hash for the same defaults.\n*/\nfunction buildExecutionSection(input) {\n\tif (input.defaults.length === 0) return;\n\tconst execution = { mutations: { defaults: [...input.defaults].sort(compareRefs) } };\n\treturn {\n\t\texecutionHash: computeExecutionHash({\n\t\t\ttarget: input.target,\n\t\t\ttargetFamily: input.targetFamily,\n\t\t\texecution\n\t\t}),\n\t\t...execution\n\t};\n}\n//#endregion\nexport { buildExecutionSection, canonicalizeContract, canonicalizeContractToObject, computeExecutionHash, computeProfileHash, computeStorageHash };\n\n//# sourceMappingURL=hashing.mjs.map"],"mappings":"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"}
|