@prisma/orm-framework 8.0.0-rc.11-dev.31 → 8.0.0-rc.11-dev.33
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/components.d.mts +2 -2
- package/dist/components.mjs +2 -2
- package/dist/components__control.d.mts +2 -2
- package/dist/components__control.mjs +2 -2
- package/dist/{config-types-BiBG9LUM.d.mts → config-types-fsf2M50T.d.mts} +2 -2
- package/dist/{config-types-BiBG9LUM.d.mts.map → config-types-fsf2M50T.d.mts.map} +1 -1
- package/dist/config.d.mts +1 -1
- package/dist/config__config-types.d.mts +1 -1
- package/dist/{control-LZyLwXWd.mjs → control-Bg1GXcqy.mjs} +19 -10
- package/dist/{control-LZyLwXWd.mjs.map → control-Bg1GXcqy.mjs.map} +1 -1
- package/dist/{control-FO0yGN-e.d.mts → control-ObcoBnYQ.d.mts} +6 -8
- package/dist/{control-FO0yGN-e.d.mts.map → control-ObcoBnYQ.d.mts.map} +1 -1
- package/dist/{declarations-ApW55O9s-DmbPATJi.mjs → declarations-DU8tJk4J-BAfPaIOL.mjs} +4 -4
- package/dist/declarations-DU8tJk4J-BAfPaIOL.mjs.map +1 -0
- package/dist/errors.d.mts +1 -1
- package/dist/errors__execution.d.mts +1 -1
- package/dist/{execution-DU2yN6tS.d.mts → execution-yEk-_DKb.d.mts} +2 -2
- package/dist/{execution-DU2yN6tS.d.mts.map → execution-yEk-_DKb.d.mts.map} +1 -1
- package/dist/{parse-BRwiZ0nC-B9AArxQM.mjs → parse-B4QY6R0c-CnBAH0Gd.mjs} +3 -3
- package/dist/{parse-BRwiZ0nC-B9AArxQM.mjs.map → parse-B4QY6R0c-CnBAH0Gd.mjs.map} +1 -1
- package/dist/{parse-D6t27bbJ-CBRfL6kk.d.mts → parse-D6t27bbJ-Bq4ihDy9.d.mts} +2 -2
- package/dist/{parse-D6t27bbJ-CBRfL6kk.d.mts.map → parse-D6t27bbJ-Bq4ihDy9.d.mts.map} +1 -1
- package/dist/psl-parser.d.mts +3 -3
- package/dist/psl-parser.mjs +1 -1
- package/dist/psl-parser.mjs.map +1 -1
- package/dist/psl-parser__format.mjs +2 -2
- package/dist/psl-parser__format.mjs.map +1 -1
- package/dist/psl-parser__interpret.d.mts +3 -3
- package/dist/psl-parser__syntax.d.mts +1 -1
- package/dist/psl-parser__syntax.mjs +2 -2
- package/dist/psl-parser__syntax.mjs.map +1 -1
- package/dist/{symbol-table-ajt1Djeq-CFc0j55c.d.mts → symbol-table-ajt1Djeq-ByUeoS_l.d.mts} +2 -2
- package/dist/{symbol-table-ajt1Djeq-CFc0j55c.d.mts.map → symbol-table-ajt1Djeq-ByUeoS_l.d.mts.map} +1 -1
- package/package.json +15 -15
- package/dist/declarations-ApW55O9s-DmbPATJi.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"declarations-ApW55O9s-DmbPATJi.mjs","names":["#state","#segmentBefore","#segmentAfter","#separatorCount"],"sources":["../../../../1-framework/2-authoring/psl-parser/dist/declarations-ApW55O9s.mjs"],"sourcesContent":["import { n as isTerminatedStringLiteral } from \"./tokenizer-D4sywyzm.mjs\";\nimport { canonicalizeTaggedLiteralBody, resolveBacktickEscapes } from \"@internal/framework-components/control\";\n//#region src/syntax/red.ts\n/**\n* A token in the red tree. Unlike the green-layer {@link Token} (kind + text\n* only), a red token also carries its absolute `offset` within the source and a\n* link back to its `parent` {@link SyntaxNode}, so a cursor anchored on a token\n* can walk outward (parent, previous/next token, siblings) without re-scanning\n* from the document root.\n*/\nvar SyntaxToken = class {\n\tgreen;\n\tkind;\n\ttext;\n\toffset;\n\tparent;\n\t/** Position within the parent's children, enabling O(1) sibling navigation without rescanning the green layer. */\n\tindex;\n\tconstructor(green, offset, parent, index) {\n\t\tthis.green = green;\n\t\tthis.kind = green.kind;\n\t\tthis.text = green.text;\n\t\tthis.offset = offset;\n\t\tthis.parent = parent;\n\t\tthis.index = index;\n\t}\n\tget textLength() {\n\t\treturn this.text.length;\n\t}\n\tget endOffset() {\n\t\treturn this.offset + this.textLength;\n\t}\n\t/** Whether `offset` falls within this token, inclusive of both ends. */\n\tisInside(offset) {\n\t\treturn offset >= this.offset && offset <= this.endOffset;\n\t}\n\tisOutside(offset) {\n\t\treturn !this.isInside(offset);\n\t}\n\t/** The sibling element immediately after this token within its parent. */\n\tget nextSiblingOrToken() {\n\t\treturn childAt(this.parent, this.index + 1);\n\t}\n\t/** The sibling element immediately before this token within its parent. */\n\tget prevSiblingOrToken() {\n\t\treturn childAt(this.parent, this.index - 1);\n\t}\n\t/** The next token in document order, crossing node boundaries. */\n\tget nextToken() {\n\t\tfor (let el = climbingNext(this); el !== void 0; el = climbingNext(el)) {\n\t\t\tconst token = firstToken(el);\n\t\t\tif (token !== void 0) return token;\n\t\t}\n\t}\n\t/** The previous token in document order, crossing node boundaries. */\n\tget prevToken() {\n\t\tfor (let el = climbingPrev(this); el !== void 0; el = climbingPrev(el)) {\n\t\t\tconst token = lastToken(el);\n\t\t\tif (token !== void 0) return token;\n\t\t}\n\t}\n};\nvar TokenAtOffset = class TokenAtOffset {\n\t#state;\n\tconstructor(state) {\n\t\tthis.#state = state;\n\t}\n\tstatic none() {\n\t\treturn new TokenAtOffset({ kind: \"none\" });\n\t}\n\tstatic single(token) {\n\t\treturn new TokenAtOffset({\n\t\t\tkind: \"single\",\n\t\t\ttoken\n\t\t});\n\t}\n\tstatic between(left, right) {\n\t\treturn new TokenAtOffset({\n\t\t\tkind: \"between\",\n\t\t\tleft,\n\t\t\tright\n\t\t});\n\t}\n\tget isEmpty() {\n\t\treturn this.#state.kind === \"none\";\n\t}\n\tget isBetween() {\n\t\treturn this.#state.kind === \"between\";\n\t}\n\tleftBiased() {\n\t\tswitch (this.#state.kind) {\n\t\t\tcase \"none\": return;\n\t\t\tcase \"single\": return this.#state.token;\n\t\t\tcase \"between\": return this.#state.left;\n\t\t}\n\t}\n\trightBiased() {\n\t\tswitch (this.#state.kind) {\n\t\t\tcase \"none\": return;\n\t\t\tcase \"single\": return this.#state.token;\n\t\t\tcase \"between\": return this.#state.right;\n\t\t}\n\t}\n};\nvar SyntaxNode = class SyntaxNode {\n\tgreen;\n\toffset;\n\tparent;\n\t/** Position within the parent's children, enabling O(1) sibling navigation without rescanning the green layer. */\n\tindex;\n\tconstructor(green, offset, parent, index) {\n\t\tthis.green = green;\n\t\tthis.offset = offset;\n\t\tthis.parent = parent;\n\t\tthis.index = index;\n\t}\n\tget kind() {\n\t\treturn this.green.kind;\n\t}\n\tget textLength() {\n\t\treturn this.green.textLength;\n\t}\n\tget endOffset() {\n\t\treturn this.offset + this.textLength;\n\t}\n\t/** Whether `offset` falls within this node, inclusive of both ends. */\n\tisInside(offset) {\n\t\treturn offset >= this.offset && offset <= this.endOffset;\n\t}\n\tisOutside(offset) {\n\t\treturn !this.isInside(offset);\n\t}\n\tget firstChild() {\n\t\treturn childAt(this, 0);\n\t}\n\tget lastChild() {\n\t\tconst len = this.green.children.length;\n\t\tif (len === 0) return void 0;\n\t\treturn childAt(this, len - 1);\n\t}\n\tget nextSibling() {\n\t\treturn this.parent === void 0 ? void 0 : childAt(this.parent, this.index + 1);\n\t}\n\tget prevSibling() {\n\t\treturn this.parent === void 0 ? void 0 : childAt(this.parent, this.index - 1);\n\t}\n\t/** The sibling element immediately after this node within its parent. */\n\tget nextSiblingOrToken() {\n\t\treturn this.nextSibling;\n\t}\n\t/** The sibling element immediately before this node within its parent. */\n\tget prevSiblingOrToken() {\n\t\treturn this.prevSibling;\n\t}\n\t/** The first token in this subtree (depth-first), or `undefined` if empty. */\n\tget firstToken() {\n\t\treturn firstToken(this);\n\t}\n\t/** The last token in this subtree (depth-first), or `undefined` if empty. */\n\tget lastToken() {\n\t\treturn lastToken(this);\n\t}\n\t*children() {\n\t\tlet offset = this.offset;\n\t\tlet index = 0;\n\t\tfor (const child of this.green.children) {\n\t\t\tyield wrapElement(child, offset, this, index);\n\t\t\toffset += elementTextLength(child);\n\t\t\tindex++;\n\t\t}\n\t}\n\t*childNodes() {\n\t\tfor (const child of this.children()) if (child instanceof SyntaxNode) yield child;\n\t}\n\t*ancestors() {\n\t\tlet current = this.parent;\n\t\twhile (current) {\n\t\t\tyield current;\n\t\t\tcurrent = current.parent;\n\t\t}\n\t}\n\t/** The nearest match, testing this node itself before walking its ancestors. */\n\tfindAncestor(cast) {\n\t\tconst self = cast(this);\n\t\tif (self !== void 0) return self;\n\t\tfor (const ancestor of this.ancestors()) {\n\t\t\tconst result = cast(ancestor);\n\t\t\tif (result !== void 0) return result;\n\t\t}\n\t}\n\t*descendants() {\n\t\tconst stack = [this];\n\t\tfor (let el = stack.pop(); el !== void 0; el = stack.pop()) {\n\t\t\tyield el;\n\t\t\tif (el instanceof SyntaxNode) {\n\t\t\t\tconst children = Array.from(el.children());\n\t\t\t\tfor (let i = children.length - 1; i >= 0; i--) {\n\t\t\t\t\tconst child = children[i];\n\t\t\t\t\tif (child !== void 0) stack.push(child);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t*tokens() {\n\t\tfor (const el of this.descendants()) if (el instanceof SyntaxToken) yield el;\n\t}\n\t/**\n\t* The token(s) at `offset`. The between-two-tokens case (offset exactly on a\n\t* token seam) is represented explicitly so callers can left/right bias.\n\t*/\n\ttokenAtOffset(offset) {\n\t\treturn tokenAtOffsetOf(this, offset);\n\t}\n\t/**\n\t* The smallest element fully containing the range `[start, end]`. At a seam\n\t* (and for empty ranges) the left-hand element is preferred, matching\n\t* {@link containsOffset}'s inclusive span.\n\t*/\n\tcoveringElement(start, end) {\n\t\tlet result = this;\n\t\tfor (;;) {\n\t\t\tif (result instanceof SyntaxToken) return result;\n\t\t\tlet next;\n\t\t\tfor (const child of result.children()) if (containsRange(child, start, end)) {\n\t\t\t\tnext = child;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (next === void 0) return result;\n\t\t\tresult = next;\n\t\t}\n\t}\n};\nfunction elementTextLength(el) {\n\treturn el.type === \"token\" ? el.text.length : el.textLength;\n}\nfunction elementLength(el) {\n\treturn el instanceof SyntaxToken ? el.text.length : el.textLength;\n}\n/**\n* Whether `el` contains `offset`. The span is inclusive on both ends so a seam\n* offset touches both neighbours.\n*/\nfunction containsOffset(el, offset) {\n\tconst start = el.offset;\n\tconst len = elementLength(el);\n\treturn offset >= start && offset <= start + len;\n}\nfunction containsRange(el, start, end) {\n\tconst elStart = el.offset;\n\tconst len = elementLength(el);\n\treturn elStart <= start && end <= elStart + len;\n}\nfunction tokenAtOffsetOf(el, offset) {\n\tif (el instanceof SyntaxToken) return TokenAtOffset.single(el);\n\tlet left;\n\tlet right;\n\tfor (const child of el.children()) {\n\t\tif (!containsOffset(child, offset)) continue;\n\t\tif (left === void 0) left = child;\n\t\telse {\n\t\t\tright = child;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (left === void 0) return TokenAtOffset.none();\n\tif (right === void 0) return tokenAtOffsetOf(left, offset);\n\tconst leftToken = tokenAtOffsetOf(left, offset).rightBiased();\n\tconst rightToken = tokenAtOffsetOf(right, offset).leftBiased();\n\tif (leftToken !== void 0 && rightToken !== void 0) return TokenAtOffset.between(leftToken, rightToken);\n\tif (leftToken !== void 0) return TokenAtOffset.single(leftToken);\n\tif (rightToken !== void 0) return TokenAtOffset.single(rightToken);\n\treturn TokenAtOffset.none();\n}\nfunction firstToken(el) {\n\tif (el instanceof SyntaxToken) return el;\n\tfor (const child of el.children()) {\n\t\tconst token = firstToken(child);\n\t\tif (token !== void 0) return token;\n\t}\n}\nfunction lastToken(el) {\n\tif (el instanceof SyntaxToken) return el;\n\tconst children = Array.from(el.children());\n\tfor (let i = children.length - 1; i >= 0; i--) {\n\t\tconst child = children[i];\n\t\tif (child !== void 0) {\n\t\t\tconst token = lastToken(child);\n\t\t\tif (token !== void 0) return token;\n\t\t}\n\t}\n}\nfunction climbingNext(el) {\n\tlet current = el;\n\tfor (;;) {\n\t\tconst parent = current.parent;\n\t\tif (parent === void 0) return void 0;\n\t\tconst sibling = childAt(parent, current.index + 1);\n\t\tif (sibling !== void 0) return sibling;\n\t\tcurrent = parent;\n\t}\n}\nfunction climbingPrev(el) {\n\tlet current = el;\n\tfor (;;) {\n\t\tconst parent = current.parent;\n\t\tif (parent === void 0) return void 0;\n\t\tconst sibling = childAt(parent, current.index - 1);\n\t\tif (sibling !== void 0) return sibling;\n\t\tcurrent = parent;\n\t}\n}\nfunction wrapElement(green, offset, parent, index) {\n\tif (green.type === \"token\") return new SyntaxToken(green, offset, parent, index);\n\treturn new SyntaxNode(green, offset, parent, index);\n}\nfunction childAt(node, index) {\n\tconst children = node.green.children;\n\tconst target = children[index];\n\tif (target === void 0) return void 0;\n\tlet offset = node.offset;\n\tfor (let i = 0; i < index; i++) {\n\t\tconst child = children[i];\n\t\tif (child !== void 0) offset += elementTextLength(child);\n\t}\n\treturn wrapElement(target, offset, node, index);\n}\nfunction createSyntaxTree(green) {\n\treturn new SyntaxNode(green, 0, void 0, 0);\n}\n//#endregion\n//#region src/syntax/ast-helpers.ts\nfunction findChildToken(node, kind) {\n\tfor (const child of node.children()) if (!(child instanceof SyntaxNode) && child.kind === kind) return child;\n}\nfunction findFirstChild(node, cast) {\n\tfor (const child of node.childNodes()) {\n\t\tconst result = cast(child);\n\t\tif (result !== void 0) return result;\n\t}\n}\nfunction* filterChildren(node, cast) {\n\tfor (const child of node.childNodes()) {\n\t\tconst result = cast(child);\n\t\tif (result !== void 0) yield result;\n\t}\n}\nfunction any(...casts) {\n\treturn (node) => {\n\t\tfor (const cast of casts) {\n\t\t\tconst result = cast(node);\n\t\t\tif (result !== void 0) return result;\n\t\t}\n\t};\n}\n/**\n* Raw source text of a CST node, verbatim (quotes and brackets preserved). For\n* the decoded value of a string literal, decode it instead.\n*/\nfunction printSyntax(node) {\n\tlet text = \"\";\n\tfor (const token of node.tokens()) text += token.text;\n\treturn text;\n}\n//#endregion\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() === \"`\" ? resolveBacktickEscapes(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 block parsed with the model-member grammar (a Prisma 7 `view`). 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 (a Prisma 7 enum member's `@map`). */\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 { printSyntax as A, castExpression as C, filterChildren as D, any as E, SyntaxToken as M, TokenAtOffset as N, findChildToken as O, createSyntaxTree as P, 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, SyntaxNode as j, findFirstChild as k, 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-ApW55O9s.mjs.map"],"mappings":"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"}
|