@prisma/orm-framework 8.0.0-rc.14 → 8.0.0-rc.14-dev.2
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/{authoring-BfEjYZpO.d.mts → authoring-BYbSOseC.d.mts} +3 -3
- package/dist/{authoring-BfEjYZpO.d.mts.map → authoring-BYbSOseC.d.mts.map} +1 -1
- package/dist/{authoring-CL-ZB448.mjs → authoring-e9U_0LWr.mjs} +2 -2
- package/dist/authoring-e9U_0LWr.mjs.map +1 -0
- package/dist/{components-CY9U7x11.d.mts → components-ByqLhwPu.d.mts} +2 -2
- package/dist/{components-CY9U7x11.d.mts.map → components-ByqLhwPu.d.mts.map} +1 -1
- package/dist/components-Dzqm9cyw.mjs.map +1 -1
- package/dist/components.d.mts +13 -11
- package/dist/components.mjs +4 -4
- package/dist/components__authoring.d.mts +4 -4
- package/dist/components__authoring.mjs +3 -3
- package/dist/components__components.d.mts +4 -3
- package/dist/components__components.mjs +2 -1
- package/dist/components__control.d.mts +4 -4
- package/dist/components__control.mjs +2 -2
- package/dist/components__execution.d.mts +1 -1
- package/dist/components__psl-ast.d.mts +3 -3
- package/dist/components__runtime.d.mts +2 -1
- package/dist/{config-types-7cVcsDOV.d.mts → config-types-DmSch3ta.d.mts} +4 -4
- package/dist/{config-types-7cVcsDOV.d.mts.map → config-types-DmSch3ta.d.mts.map} +1 -1
- package/dist/config.d.mts +1 -1
- package/dist/config__config-types.d.mts +1 -1
- package/dist/contract-authoring.d.mts +2 -2
- package/dist/contract-authoring.mjs +1 -1
- package/dist/{control-CuhULO0T.d.mts → control-Bcsnrolt.d.mts} +15 -38
- package/dist/control-Bcsnrolt.d.mts.map +1 -0
- package/dist/{control-DdocW8ZP.mjs → control-D3KZOhJA.mjs} +5 -129
- package/dist/control-D3KZOhJA.mjs.map +1 -0
- package/dist/{declarations-BrSntcPa-BUYk6wxW.mjs → declarations-CcEBlusF-DXJwQ_ze.mjs} +4 -4
- package/dist/declarations-CcEBlusF-DXJwQ_ze.mjs.map +1 -0
- package/dist/errors.d.mts +1 -1
- package/dist/errors__execution.d.mts +1 -1
- package/dist/{execution-I2WAG4tH.d.mts → execution-CRDks27n.d.mts} +2 -2
- package/dist/{execution-I2WAG4tH.d.mts.map → execution-CRDks27n.d.mts.map} +1 -1
- package/dist/{execution-BFJC3QTj.d.mts → execution-DHCKWpXe.d.mts} +2 -2
- package/dist/{execution-BFJC3QTj.d.mts.map → execution-DHCKWpXe.d.mts.map} +1 -1
- package/dist/{framework-authoring-AkdL38SR-DRSNWmJT.d.mts → framework-authoring-Lssvcd3X-DsgKz6mc.d.mts} +14 -126
- package/dist/framework-authoring-Lssvcd3X-DsgKz6mc.d.mts.map +1 -0
- package/dist/{framework-components-DFsCsKDA-BzmfLX5I.d.mts → framework-components-DsX8Ixd8-x6Ii6iXZ.d.mts} +4 -3
- package/dist/framework-components-DsX8Ixd8-x6Ii6iXZ.d.mts.map +1 -0
- package/dist/mutation-default-types-BdWAzv0O-B51RYl-A.d.mts +88 -0
- package/dist/mutation-default-types-BdWAzv0O-B51RYl-A.d.mts.map +1 -0
- package/dist/{parse-CfZKsx8i-DpxGIwhF.mjs → parse-DAVL8A2m-CdprLvJq.mjs} +3 -3
- package/dist/{parse-CfZKsx8i-DpxGIwhF.mjs.map → parse-DAVL8A2m-CdprLvJq.mjs.map} +1 -1
- package/dist/{parse-DZRO_CK2-BtDklsaV.d.mts → parse-XbG2XDRs-BJvdVA-3.d.mts} +8 -7
- package/dist/parse-XbG2XDRs-BJvdVA-3.d.mts.map +1 -0
- package/dist/psl-ast-BOzFRzI0.d.mts +2 -0
- package/dist/{psl-ast-BjC549ky-CD7J2H0j.d.mts → psl-ast-Dte0XPl8-CXSWV9CL.d.mts} +3 -3
- package/dist/{psl-ast-BjC549ky-CD7J2H0j.d.mts.map → psl-ast-Dte0XPl8-CXSWV9CL.d.mts.map} +1 -1
- package/dist/psl-parser.d.mts +9 -7
- package/dist/psl-parser.d.mts.map +1 -1
- package/dist/psl-parser.mjs +2 -2
- 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 +6 -6
- package/dist/psl-parser__interpret.mjs +2 -2
- 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/psl-printer.d.mts +4 -4
- package/dist/psl-printer.mjs +1 -1
- package/dist/{runtime-BWD7UzMV.d.mts → runtime-Bz3UqSoT.d.mts} +3 -18
- package/dist/runtime-Bz3UqSoT.d.mts.map +1 -0
- package/dist/runtime-error-CO4MA3Px-YW5SCUcH.d.mts +19 -0
- package/dist/runtime-error-CO4MA3Px-YW5SCUcH.d.mts.map +1 -0
- package/dist/{symbol-table-ikmivfwq-u2--jZQG.d.mts → symbol-table-uBpYeTjB-CYN4_SgJ.d.mts} +5 -5
- package/dist/{symbol-table-ikmivfwq-u2--jZQG.d.mts.map → symbol-table-uBpYeTjB-CYN4_SgJ.d.mts.map} +1 -1
- package/dist/{temporal-presets-MavBeaJC-BcqWVoBB.mjs → temporal-presets-DMRKrfIa-HElHwGB2.mjs} +141 -18
- package/dist/temporal-presets-DMRKrfIa-HElHwGB2.mjs.map +1 -0
- package/dist/{temporal-presets-CPQXhVhW-C05kwx7j.d.mts → temporal-presets-yQzaI_83-DfMU1Lm2.d.mts} +41 -4
- package/dist/temporal-presets-yQzaI_83-DfMU1Lm2.d.mts.map +1 -0
- package/package.json +15 -15
- package/dist/authoring-CL-ZB448.mjs.map +0 -1
- package/dist/control-CuhULO0T.d.mts.map +0 -1
- package/dist/control-DdocW8ZP.mjs.map +0 -1
- package/dist/declarations-BrSntcPa-BUYk6wxW.mjs.map +0 -1
- package/dist/framework-authoring-AkdL38SR-DRSNWmJT.d.mts.map +0 -1
- package/dist/framework-components-DFsCsKDA-BzmfLX5I.d.mts.map +0 -1
- package/dist/parse-DZRO_CK2-BtDklsaV.d.mts.map +0 -1
- package/dist/psl-ast-C90I4nkm.d.mts +0 -2
- package/dist/runtime-BWD7UzMV.d.mts.map +0 -1
- package/dist/temporal-presets-CPQXhVhW-C05kwx7j.d.mts.map +0 -1
- package/dist/temporal-presets-MavBeaJC-BcqWVoBB.mjs.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { o as structuredError } from "./structured-error-BXbihKQ-.mjs";
|
|
2
2
|
import { t as InternalError } from "./internal-error-ChGYPVpq-DhUD05u0.mjs";
|
|
3
3
|
import { t as SyntaxNode } from "./ast-helpers-2XRnkQEO-BxG5qx3Q.mjs";
|
|
4
|
-
import { a as CompositeTypeDeclarationAst, c as FieldDeclarationAst, f as KeyValuePairAst, g as NamespaceDeclarationAst, h as NamedTypeDeclarationAst, m as ModelDeclarationAst, p as ModelAttributeAst, u as GenericBlockDeclarationAst, w as TypesBlockAst } from "./declarations-
|
|
5
|
-
import { o as parse } from "./parse-
|
|
4
|
+
import { a as CompositeTypeDeclarationAst, c as FieldDeclarationAst, f as KeyValuePairAst, g as NamespaceDeclarationAst, h as NamedTypeDeclarationAst, m as ModelDeclarationAst, p as ModelAttributeAst, u as GenericBlockDeclarationAst, w as TypesBlockAst } from "./declarations-CcEBlusF-DXJwQ_ze.mjs";
|
|
5
|
+
import { o as parse } from "./parse-DAVL8A2m-CdprLvJq.mjs";
|
|
6
6
|
//#region ../../../1-framework/2-authoring/psl-parser/dist/format.mjs
|
|
7
7
|
function emitDocument(document, indentUnit, newline) {
|
|
8
8
|
const writer = new LineWriter(indentUnit, newline);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"psl-parser__format.mjs","names":["#indentUnit","#newline","#depth","#lastWasBlank","#lineOpen","#prevKind","#out","#line","#hasContent"],"sources":["../../../../1-framework/2-authoring/psl-parser/dist/format.mjs"],"sourcesContent":["import { o as SyntaxNode } from \"./ast-helpers-2XRnkQEO.mjs\";\nimport { a as KeyValuePairAst, c as NamespaceDeclarationAst, i as GenericBlockDeclarationAst, l as TypesBlockAst, o as ModelDeclarationAst, p as ModelAttributeAst, r as FieldDeclarationAst, s as NamedTypeDeclarationAst, t as CompositeTypeDeclarationAst } from \"./declarations-BrSntcPa.mjs\";\nimport { t as parse } from \"./parse-CfZKsx8i.mjs\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { structuredError } from \"@internal/utils/structured-error\";\n//#region src/format/emit.ts\nfunction emitDocument(document, indentUnit, newline) {\n\tconst writer = new LineWriter(indentUnit, newline);\n\temitTopLevel(writer, document);\n\treturn writer.finish();\n}\nvar LineWriter = class {\n\t#indentUnit;\n\t#newline;\n\t#out = [];\n\t#depth = 0;\n\t#line = \"\";\n\t#lineOpen = false;\n\t#prevKind;\n\t#lastWasBlank = false;\n\t#hasContent = false;\n\tconstructor(indentUnit, newline) {\n\t\tthis.#indentUnit = indentUnit;\n\t\tthis.#newline = newline;\n\t}\n\tindent() {\n\t\tthis.#depth += 1;\n\t}\n\tunindent() {\n\t\tthis.#depth = Math.max(0, this.#depth - 1);\n\t}\n\tlastIsBlank() {\n\t\treturn this.#lastWasBlank;\n\t}\n\tlineOpen() {\n\t\treturn this.#lineOpen;\n\t}\n\tprevKind() {\n\t\treturn this.#prevKind;\n\t}\n\tnewline() {\n\t\tif (!this.#lineOpen) return;\n\t\tthis.#out.push(`${this.#indentUnit.repeat(this.#depth)}${this.#line}`);\n\t\tthis.#line = \"\";\n\t\tthis.#lineOpen = false;\n\t\tthis.#prevKind = void 0;\n\t\tthis.#lastWasBlank = false;\n\t\tthis.#hasContent = true;\n\t}\n\tblank() {\n\t\tthis.newline();\n\t\tif (!this.#hasContent || this.#lastWasBlank) return;\n\t\tthis.#out.push(\"\");\n\t\tthis.#lastWasBlank = true;\n\t}\n\twrite(token, space, padTo) {\n\t\tif (this.#lineOpen && padTo !== void 0) this.#line = this.#line.padEnd(padTo);\n\t\telse if (this.#lineOpen && space) this.#line += \" \";\n\t\tthis.#line += token.text;\n\t\tthis.#lineOpen = true;\n\t\tthis.#prevKind = token.kind;\n\t}\n\twriteRaw(text) {\n\t\tthis.#line += text;\n\t\tthis.#lineOpen = true;\n\t}\n\tcomment(text) {\n\t\tif (this.#lineOpen) this.#line += ` ${text}`;\n\t\telse this.#line = text;\n\t\tthis.#lineOpen = true;\n\t\tthis.newline();\n\t}\n\tfinish() {\n\t\tthis.newline();\n\t\tconst body = this.#out.join(this.#newline);\n\t\treturn body.length > 0 ? `${body}${this.#newline}` : \"\";\n\t}\n};\nfunction spaceBetween(prev, cur, inQualifiedName) {\n\tif (prev === void 0) return false;\n\tif (inQualifiedName) return false;\n\tif (prev === \"Ident\" && cur === \"StringLiteral\") return false;\n\tswitch (cur) {\n\t\tcase \"LBracket\": return prev === \"Colon\" || prev === \"Comma\" || prev === \"Equals\";\n\t\tcase \"LParen\":\n\t\tcase \"RParen\":\n\t\tcase \"RBracket\":\n\t\tcase \"Comma\":\n\t\tcase \"Question\":\n\t\tcase \"Dot\":\n\t\tcase \"Colon\": return false;\n\t\tcase \"RBrace\": return prev !== \"LBrace\";\n\t\tdefault: break;\n\t}\n\tswitch (prev) {\n\t\tcase \"LParen\":\n\t\tcase \"LBracket\":\n\t\tcase \"Dot\":\n\t\tcase \"At\":\n\t\tcase \"DoubleAt\": return false;\n\t\tdefault: return true;\n\t}\n}\nfunction streamNode(writer, node, padTo) {\n\tlet continuation = 0;\n\tlet first = true;\n\tlet prevQualified = false;\n\tconst walk = (parent, qualified) => {\n\t\tfor (const child of parent.children()) {\n\t\t\tif (child instanceof SyntaxNode) {\n\t\t\t\twalk(child, qualified || child.kind === \"QualifiedName\");\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (child.kind === \"Whitespace\" || child.kind === \"Newline\") continue;\n\t\t\tif (child.kind === \"Comment\") {\n\t\t\t\twriter.comment(child.text);\n\t\t\t\twriter.indent();\n\t\t\t\tcontinuation += 1;\n\t\t\t\tprevQualified = false;\n\t\t\t\tfirst = false;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst pad = first ? padTo : void 0;\n\t\t\tconst space = spaceBetween(writer.prevKind(), child.kind, qualified && prevQualified);\n\t\t\twriter.write(child, space, writer.lineOpen() ? pad : void 0);\n\t\t\tprevQualified = qualified;\n\t\t\tfirst = false;\n\t\t}\n\t};\n\twalk(node, false);\n\treturn continuation;\n}\nfunction closeContinuation(writer, count) {\n\tfor (let i = 0; i < count; i++) writer.unindent();\n}\nfunction emitField(writer, field, alignmentColumns) {\n\treturn streamRow(writer, field.syntax, alignmentColumns);\n}\nfunction emitNamedType(writer, decl) {\n\treturn streamRow(writer, decl.syntax, void 0);\n}\nfunction streamRow(writer, row, alignmentColumns) {\n\tlet continuation = 0;\n\tlet sawAttribute = false;\n\tfor (const child of row.children()) {\n\t\tif (child instanceof SyntaxNode) {\n\t\t\tlet padTo;\n\t\t\tif (child.kind === \"TypeAnnotation\" && continuation === 0) padTo = alignmentColumns?.typeColumn;\n\t\t\telse if (child.kind === \"FieldAttribute\") {\n\t\t\t\tif (continuation > 0) writer.newline();\n\t\t\t\telse if (!sawAttribute) padTo = alignmentColumns?.attributeColumn;\n\t\t\t\tsawAttribute = true;\n\t\t\t}\n\t\t\tcontinuation += streamNode(writer, child, padTo);\n\t\t\tcontinue;\n\t\t}\n\t\tif (child.kind === \"Whitespace\" || child.kind === \"Newline\") continue;\n\t\tif (child.kind === \"Comment\") {\n\t\t\twriter.comment(child.text);\n\t\t\twriter.indent();\n\t\t\tcontinuation += 1;\n\t\t\tcontinue;\n\t\t}\n\t\tconst space = spaceBetween(writer.prevKind(), child.kind, false);\n\t\twriter.write(child, space);\n\t}\n\treturn continuation;\n}\nfunction emitBlockAttribute(writer, attribute) {\n\treturn streamNode(writer, attribute.syntax);\n}\nfunction emitKeyValue(writer, pair) {\n\treturn streamNode(writer, pair.syntax);\n}\nfunction leafMember(writer, category, print) {\n\treturn {\n\t\tcategory,\n\t\temit(trailing) {\n\t\t\tconst continuation = print();\n\t\t\tif (trailing !== void 0) writer.comment(trailing);\n\t\t\telse writer.newline();\n\t\t\treturn continuation;\n\t\t}\n\t};\n}\nfunction emitModel(writer, model, trailing) {\n\tconst alignmentColumns = alignmentMap(model.syntax);\n\temitBlockBody(writer, model.syntax, trailing, (node) => {\n\t\tconst field = FieldDeclarationAst.cast(node);\n\t\tif (field) return leafMember(writer, \"regular\", () => emitField(writer, field, alignmentColumns));\n\t\tconst attribute = ModelAttributeAst.cast(node);\n\t\tif (attribute) return leafMember(writer, \"blockAttribute\", () => emitBlockAttribute(writer, attribute));\n\t});\n}\nfunction emitCompositeType(writer, composite, trailing) {\n\tconst alignmentColumns = alignmentMap(composite.syntax);\n\temitBlockBody(writer, composite.syntax, trailing, (node) => {\n\t\tconst field = FieldDeclarationAst.cast(node);\n\t\tif (field) return leafMember(writer, \"regular\", () => emitField(writer, field, alignmentColumns));\n\t\tconst attribute = ModelAttributeAst.cast(node);\n\t\tif (attribute) return leafMember(writer, \"blockAttribute\", () => emitBlockAttribute(writer, attribute));\n\t});\n}\nfunction emitGenericBlock(writer, block, trailing) {\n\tconst alignment = alignmentMap(block.syntax);\n\temitBlockBody(writer, block.syntax, trailing, (node) => {\n\t\tconst field = FieldDeclarationAst.cast(node);\n\t\tif (field) return leafMember(writer, \"regular\", () => emitField(writer, field, alignment));\n\t\tconst entry = KeyValuePairAst.cast(node);\n\t\tif (entry) return leafMember(writer, \"regular\", () => emitKeyValue(writer, entry));\n\t\tconst attribute = ModelAttributeAst.cast(node);\n\t\tif (attribute) return leafMember(writer, \"blockAttribute\", () => emitBlockAttribute(writer, attribute));\n\t});\n}\nfunction emitNamespace(writer, namespace, trailing) {\n\temitBlockBody(writer, namespace.syntax, trailing, (node) => {\n\t\tconst declaration = castBlockDeclaration(node);\n\t\tif (declaration) return nestedBlockMember(writer, declaration);\n\t});\n}\nfunction emitTypesBlock(writer, block, trailing) {\n\temitBlockBody(writer, block.syntax, trailing, (node) => {\n\t\tconst named = NamedTypeDeclarationAst.cast(node);\n\t\tif (named) return leafMember(writer, \"regular\", () => emitNamedType(writer, named));\n\t});\n}\nfunction emitTopLevel(writer, document) {\n\twalkRegion(writer, Array.from(document.syntax.children()), void 0, (node) => {\n\t\tconst declaration = castTopLevelDeclaration(node);\n\t\tif (declaration) return nestedBlockMember(writer, declaration);\n\t});\n}\nfunction nestedBlockMember(writer, block) {\n\treturn {\n\t\tcategory: \"nestedBlock\",\n\t\temit(trailing) {\n\t\t\tblock(writer, trailing);\n\t\t\treturn 0;\n\t\t}\n\t};\n}\nfunction castBlockDeclaration(node) {\n\tconst model = ModelDeclarationAst.cast(node);\n\tif (model) return (writer, trailing) => emitModel(writer, model, trailing);\n\tconst composite = CompositeTypeDeclarationAst.cast(node);\n\tif (composite) return (writer, trailing) => emitCompositeType(writer, composite, trailing);\n\tconst generic = GenericBlockDeclarationAst.cast(node);\n\tif (generic) return (writer, trailing) => emitGenericBlock(writer, generic, trailing);\n}\nfunction castTopLevelDeclaration(node) {\n\tconst block = castBlockDeclaration(node);\n\tif (block) return block;\n\tconst namespace = NamespaceDeclarationAst.cast(node);\n\tif (namespace) return (writer, trailing) => emitNamespace(writer, namespace, trailing);\n\tconst types = TypesBlockAst.cast(node);\n\tif (types) return (writer, trailing) => emitTypesBlock(writer, types, trailing);\n}\nfunction emitBlockBody(writer, node, closingTrailing, classify) {\n\tconst children = Array.from(node.children());\n\tconst openIndex = children.findIndex((el) => !(el instanceof SyntaxNode) && el.kind === \"LBrace\");\n\tconst headerComments = streamHeader(writer, node);\n\tconst openingComment = sameLineCommentAfter(children, openIndex);\n\tif (openingComment !== void 0) headerComments.push(openingComment);\n\tconst [firstComment, ...otherComments] = headerComments;\n\tif (firstComment !== void 0) writer.comment(firstComment);\n\telse writer.newline();\n\twriter.indent();\n\tfor (const comment of otherComments) writer.comment(comment);\n\twalkRegion(writer, children, \"RBrace\", classify);\n\twriter.unindent();\n\twriter.writeRaw(\"}\");\n\tif (closingTrailing !== void 0) writer.comment(closingTrailing);\n\telse writer.newline();\n}\n/** Writes the block header through `{` and returns the source comments found before the `{`. */\nfunction streamHeader(writer, node) {\n\tconst comments = [];\n\tlet done = false;\n\tconst walk = (parent) => {\n\t\tfor (const child of parent.children()) {\n\t\t\tif (done) return;\n\t\t\tif (child instanceof SyntaxNode) {\n\t\t\t\twalk(child);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (child.kind === \"Comment\") {\n\t\t\t\tcomments.push(child.text);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (child.kind === \"Whitespace\" || child.kind === \"Newline\") continue;\n\t\t\tconst space = spaceBetween(writer.prevKind(), child.kind, false);\n\t\t\twriter.write(child, space);\n\t\t\tif (child.kind === \"LBrace\") {\n\t\t\t\tdone = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t};\n\twalk(node);\n\treturn comments;\n}\nfunction walkRegion(writer, elements, closeKind, classify) {\n\tlet sawOpenBrace = closeKind === void 0;\n\tlet sawContent = false;\n\tlet lastWasRegular = false;\n\tlet ledByComment = false;\n\tlet newlines = 0;\n\tfor (let i = 0; i < elements.length; i++) {\n\t\tconst element = elements[i];\n\t\tif (element === void 0) continue;\n\t\tif (element instanceof SyntaxNode) {\n\t\t\tif (!sawOpenBrace) continue;\n\t\t\tconst member = classify(element);\n\t\t\tif (member === void 0) throw new InternalError(`Formatter has no rule for a ${element.kind} node at offset ${element.offset}; formatting would drop its text`);\n\t\t\tif (!ledByComment) {\n\t\t\t\tif (newlines >= 2 && sawContent && !writer.lastIsBlank()) writer.blank();\n\t\t\t\telse if (separationBlankWanted(writer, member.category, sawContent, lastWasRegular)) writer.blank();\n\t\t\t}\n\t\t\tconst trailing = sameLineTrailingComment(elements, i);\n\t\t\tcloseContinuation(writer, member.emit(trailing.text));\n\t\t\tif (trailing.index !== void 0) i = trailing.index;\n\t\t\tsawContent = true;\n\t\t\tlastWasRegular = member.category !== \"blockAttribute\";\n\t\t\tledByComment = false;\n\t\t\tnewlines = 0;\n\t\t\tcontinue;\n\t\t}\n\t\tif (element.kind === \"LBrace\" && closeKind === \"RBrace\" && !sawOpenBrace) {\n\t\t\tsawOpenBrace = true;\n\t\t\tnewlines = 0;\n\t\t\tcontinue;\n\t\t}\n\t\tif (!sawOpenBrace) continue;\n\t\tif (closeKind === \"RBrace\" && element.kind === \"RBrace\") break;\n\t\tif (element.kind === \"Whitespace\") continue;\n\t\tif (element.kind === \"Newline\") {\n\t\t\tnewlines += 1;\n\t\t\tcontinue;\n\t\t}\n\t\tif (element.kind === \"Comment\") {\n\t\t\tif (closeKind === \"RBrace\" && newlines === 0 && !sawContent) continue;\n\t\t\tif (newlines >= 2 && sawContent && !writer.lastIsBlank()) writer.blank();\n\t\t\telse if (!ledByComment) {\n\t\t\t\tconst led = leadingMemberAfter(elements, i, classify);\n\t\t\t\tif (led && separationBlankWanted(writer, led, sawContent, lastWasRegular)) writer.blank();\n\t\t\t}\n\t\t\twriter.writeRaw(element.text);\n\t\t\twriter.newline();\n\t\t\tsawContent = true;\n\t\t\tledByComment = true;\n\t\t\tnewlines = 0;\n\t\t}\n\t}\n}\nfunction separationBlankWanted(writer, category, sawContent, lastWasRegular) {\n\tif (!sawContent || writer.lastIsBlank()) return false;\n\tif (category === \"nestedBlock\") return true;\n\treturn category === \"blockAttribute\" && lastWasRegular;\n}\nfunction leadingMemberAfter(elements, commentIndex, classify) {\n\tfor (let i = commentIndex + 1; i < elements.length; i++) {\n\t\tconst element = elements[i];\n\t\tif (element === void 0) continue;\n\t\tif (element instanceof SyntaxNode) return classify(element)?.category;\n\t\tif (element.kind === \"RBrace\") return void 0;\n\t}\n}\nfunction sameLineTrailingComment(elements, memberIndex) {\n\tfor (let i = memberIndex + 1; i < elements.length; i++) {\n\t\tconst element = elements[i];\n\t\tif (element === void 0) continue;\n\t\tif (element instanceof SyntaxNode) break;\n\t\tif (element.kind === \"Whitespace\") continue;\n\t\tif (element.kind === \"Comment\") return {\n\t\t\ttext: element.text,\n\t\t\tindex: i\n\t\t};\n\t\tbreak;\n\t}\n\treturn {\n\t\ttext: void 0,\n\t\tindex: void 0\n\t};\n}\nfunction sameLineCommentAfter(children, openIndex) {\n\tfor (let i = openIndex + 1; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (child === void 0) continue;\n\t\tif (child instanceof SyntaxNode) return void 0;\n\t\tif (child.kind === \"Whitespace\") continue;\n\t\tif (child.kind === \"Comment\") return child.text;\n\t\treturn;\n\t}\n}\nfunction alignmentMap(block) {\n\tconst fields = [];\n\tfor (const element of block.children()) {\n\t\tif (!(element instanceof SyntaxNode)) continue;\n\t\tif (FieldDeclarationAst.cast(element) === void 0) continue;\n\t\tif (hasInteriorComment(element)) continue;\n\t\tfields.push(element);\n\t}\n\tif (fields.length === 0) return void 0;\n\treturn alignmentColumns(fields);\n}\nfunction alignmentColumns(rows) {\n\tlet nameWidth = 0;\n\tfor (const row of rows) {\n\t\tconst field = FieldDeclarationAst.cast(row);\n\t\tif (!field) continue;\n\t\tnameWidth = Math.max(nameWidth, renderTokens(field.name()?.syntax).length);\n\t}\n\tconst typeColumn = nameWidth + 1;\n\tlet cellEnd = 0;\n\tfor (const row of rows) {\n\t\tconst field = FieldDeclarationAst.cast(row);\n\t\tif (!field) continue;\n\t\tconst name = renderTokens(field.name()?.syntax);\n\t\tconst type = renderTokens(field.typeAnnotation()?.syntax);\n\t\tcellEnd = Math.max(cellEnd, type.length > 0 ? typeColumn + type.length : name.length);\n\t}\n\treturn {\n\t\ttypeColumn,\n\t\tattributeColumn: cellEnd + 1\n\t};\n}\nfunction hasInteriorComment(node) {\n\tfor (const token of node.tokens()) if (token.kind === \"Comment\") return true;\n\treturn false;\n}\nfunction renderTokens(node) {\n\tif (!node) return \"\";\n\tlet out = \"\";\n\tlet prev;\n\tlet prevQualified = false;\n\tconst walk = (parent, qualified) => {\n\t\tfor (const child of parent.children()) {\n\t\t\tif (child instanceof SyntaxNode) {\n\t\t\t\twalk(child, qualified || child.kind === \"QualifiedName\");\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (child.kind === \"Whitespace\" || child.kind === \"Newline\" || child.kind === \"Comment\") continue;\n\t\t\tif (spaceBetween(prev, child.kind, qualified && prevQualified)) out += \" \";\n\t\t\tout += child.text;\n\t\t\tprev = child.kind;\n\t\t\tprevQualified = qualified;\n\t\t}\n\t};\n\twalk(node, false);\n\treturn out;\n}\n//#endregion\n//#region src/format/error.ts\nfunction pslError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\n//#endregion\n//#region src/format/options.ts\nfunction resolveFormatOptions(options) {\n\tconst indent = options?.indent ?? 2;\n\tif (indent !== \"tab\" && (typeof indent !== \"number\" || !Number.isInteger(indent) || indent < 1)) throw pslError(\"PSL.FORMAT_OPTION_INVALID\", `Invalid format options: indent must be a positive integer or 'tab', got ${String(indent)}`, { meta: {\n\t\toption: \"indent\",\n\t\treceived: String(indent)\n\t} });\n\tconst newline = options?.newline ?? \"LF\";\n\tif (newline !== \"LF\" && newline !== \"CRLF\") throw pslError(\"PSL.FORMAT_OPTION_INVALID\", `Invalid format options: newline must be 'LF' or 'CRLF', got ${String(newline)}`, { meta: {\n\t\toption: \"newline\",\n\t\treceived: String(newline)\n\t} });\n\treturn {\n\t\tindentUnit: indent === \"tab\" ? \"\t\" : \" \".repeat(indent),\n\t\tnewline: newline === \"CRLF\" ? \"\\r\\n\" : \"\\n\"\n\t};\n}\n//#endregion\n//#region src/format/format.ts\nfunction format(source, options) {\n\tconst resolved = resolveFormatOptions(options);\n\tconst { document, diagnostics } = parse(source, \"<format-input>.psl\");\n\tif (diagnostics.length > 0) throw pslError(\"PSL.PARSE_FAILED\", `Cannot format PSL with parse errors: ${diagnostics[0]?.message ?? \"unknown parse error\"}${diagnostics.length > 1 ? ` (and ${diagnostics.length - 1} more)` : \"\"}`, { meta: { diagnostics } });\n\treturn emitDocument(document, resolved.indentUnit, resolved.newline);\n}\n//#endregion\nexport { format };\n\n//# sourceMappingURL=format.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"psl-parser__format.mjs","names":["#indentUnit","#newline","#depth","#lastWasBlank","#lineOpen","#prevKind","#out","#line","#hasContent"],"sources":["../../../../1-framework/2-authoring/psl-parser/dist/format.mjs"],"sourcesContent":["import { o as SyntaxNode } from \"./ast-helpers-2XRnkQEO.mjs\";\nimport { a as KeyValuePairAst, c as NamespaceDeclarationAst, i as GenericBlockDeclarationAst, l as TypesBlockAst, o as ModelDeclarationAst, p as ModelAttributeAst, r as FieldDeclarationAst, s as NamedTypeDeclarationAst, t as CompositeTypeDeclarationAst } from \"./declarations-CcEBlusF.mjs\";\nimport { t as parse } from \"./parse-DAVL8A2m.mjs\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { structuredError } from \"@internal/utils/structured-error\";\n//#region src/format/emit.ts\nfunction emitDocument(document, indentUnit, newline) {\n\tconst writer = new LineWriter(indentUnit, newline);\n\temitTopLevel(writer, document);\n\treturn writer.finish();\n}\nvar LineWriter = class {\n\t#indentUnit;\n\t#newline;\n\t#out = [];\n\t#depth = 0;\n\t#line = \"\";\n\t#lineOpen = false;\n\t#prevKind;\n\t#lastWasBlank = false;\n\t#hasContent = false;\n\tconstructor(indentUnit, newline) {\n\t\tthis.#indentUnit = indentUnit;\n\t\tthis.#newline = newline;\n\t}\n\tindent() {\n\t\tthis.#depth += 1;\n\t}\n\tunindent() {\n\t\tthis.#depth = Math.max(0, this.#depth - 1);\n\t}\n\tlastIsBlank() {\n\t\treturn this.#lastWasBlank;\n\t}\n\tlineOpen() {\n\t\treturn this.#lineOpen;\n\t}\n\tprevKind() {\n\t\treturn this.#prevKind;\n\t}\n\tnewline() {\n\t\tif (!this.#lineOpen) return;\n\t\tthis.#out.push(`${this.#indentUnit.repeat(this.#depth)}${this.#line}`);\n\t\tthis.#line = \"\";\n\t\tthis.#lineOpen = false;\n\t\tthis.#prevKind = void 0;\n\t\tthis.#lastWasBlank = false;\n\t\tthis.#hasContent = true;\n\t}\n\tblank() {\n\t\tthis.newline();\n\t\tif (!this.#hasContent || this.#lastWasBlank) return;\n\t\tthis.#out.push(\"\");\n\t\tthis.#lastWasBlank = true;\n\t}\n\twrite(token, space, padTo) {\n\t\tif (this.#lineOpen && padTo !== void 0) this.#line = this.#line.padEnd(padTo);\n\t\telse if (this.#lineOpen && space) this.#line += \" \";\n\t\tthis.#line += token.text;\n\t\tthis.#lineOpen = true;\n\t\tthis.#prevKind = token.kind;\n\t}\n\twriteRaw(text) {\n\t\tthis.#line += text;\n\t\tthis.#lineOpen = true;\n\t}\n\tcomment(text) {\n\t\tif (this.#lineOpen) this.#line += ` ${text}`;\n\t\telse this.#line = text;\n\t\tthis.#lineOpen = true;\n\t\tthis.newline();\n\t}\n\tfinish() {\n\t\tthis.newline();\n\t\tconst body = this.#out.join(this.#newline);\n\t\treturn body.length > 0 ? `${body}${this.#newline}` : \"\";\n\t}\n};\nfunction spaceBetween(prev, cur, inQualifiedName) {\n\tif (prev === void 0) return false;\n\tif (inQualifiedName) return false;\n\tif (prev === \"Ident\" && cur === \"StringLiteral\") return false;\n\tswitch (cur) {\n\t\tcase \"LBracket\": return prev === \"Colon\" || prev === \"Comma\" || prev === \"Equals\";\n\t\tcase \"LParen\":\n\t\tcase \"RParen\":\n\t\tcase \"RBracket\":\n\t\tcase \"Comma\":\n\t\tcase \"Question\":\n\t\tcase \"Dot\":\n\t\tcase \"Colon\": return false;\n\t\tcase \"RBrace\": return prev !== \"LBrace\";\n\t\tdefault: break;\n\t}\n\tswitch (prev) {\n\t\tcase \"LParen\":\n\t\tcase \"LBracket\":\n\t\tcase \"Dot\":\n\t\tcase \"At\":\n\t\tcase \"DoubleAt\": return false;\n\t\tdefault: return true;\n\t}\n}\nfunction streamNode(writer, node, padTo) {\n\tlet continuation = 0;\n\tlet first = true;\n\tlet prevQualified = false;\n\tconst walk = (parent, qualified) => {\n\t\tfor (const child of parent.children()) {\n\t\t\tif (child instanceof SyntaxNode) {\n\t\t\t\twalk(child, qualified || child.kind === \"QualifiedName\");\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (child.kind === \"Whitespace\" || child.kind === \"Newline\") continue;\n\t\t\tif (child.kind === \"Comment\") {\n\t\t\t\twriter.comment(child.text);\n\t\t\t\twriter.indent();\n\t\t\t\tcontinuation += 1;\n\t\t\t\tprevQualified = false;\n\t\t\t\tfirst = false;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst pad = first ? padTo : void 0;\n\t\t\tconst space = spaceBetween(writer.prevKind(), child.kind, qualified && prevQualified);\n\t\t\twriter.write(child, space, writer.lineOpen() ? pad : void 0);\n\t\t\tprevQualified = qualified;\n\t\t\tfirst = false;\n\t\t}\n\t};\n\twalk(node, false);\n\treturn continuation;\n}\nfunction closeContinuation(writer, count) {\n\tfor (let i = 0; i < count; i++) writer.unindent();\n}\nfunction emitField(writer, field, alignmentColumns) {\n\treturn streamRow(writer, field.syntax, alignmentColumns);\n}\nfunction emitNamedType(writer, decl) {\n\treturn streamRow(writer, decl.syntax, void 0);\n}\nfunction streamRow(writer, row, alignmentColumns) {\n\tlet continuation = 0;\n\tlet sawAttribute = false;\n\tfor (const child of row.children()) {\n\t\tif (child instanceof SyntaxNode) {\n\t\t\tlet padTo;\n\t\t\tif (child.kind === \"TypeAnnotation\" && continuation === 0) padTo = alignmentColumns?.typeColumn;\n\t\t\telse if (child.kind === \"FieldAttribute\") {\n\t\t\t\tif (continuation > 0) writer.newline();\n\t\t\t\telse if (!sawAttribute) padTo = alignmentColumns?.attributeColumn;\n\t\t\t\tsawAttribute = true;\n\t\t\t}\n\t\t\tcontinuation += streamNode(writer, child, padTo);\n\t\t\tcontinue;\n\t\t}\n\t\tif (child.kind === \"Whitespace\" || child.kind === \"Newline\") continue;\n\t\tif (child.kind === \"Comment\") {\n\t\t\twriter.comment(child.text);\n\t\t\twriter.indent();\n\t\t\tcontinuation += 1;\n\t\t\tcontinue;\n\t\t}\n\t\tconst space = spaceBetween(writer.prevKind(), child.kind, false);\n\t\twriter.write(child, space);\n\t}\n\treturn continuation;\n}\nfunction emitBlockAttribute(writer, attribute) {\n\treturn streamNode(writer, attribute.syntax);\n}\nfunction emitKeyValue(writer, pair) {\n\treturn streamNode(writer, pair.syntax);\n}\nfunction leafMember(writer, category, print) {\n\treturn {\n\t\tcategory,\n\t\temit(trailing) {\n\t\t\tconst continuation = print();\n\t\t\tif (trailing !== void 0) writer.comment(trailing);\n\t\t\telse writer.newline();\n\t\t\treturn continuation;\n\t\t}\n\t};\n}\nfunction emitModel(writer, model, trailing) {\n\tconst alignmentColumns = alignmentMap(model.syntax);\n\temitBlockBody(writer, model.syntax, trailing, (node) => {\n\t\tconst field = FieldDeclarationAst.cast(node);\n\t\tif (field) return leafMember(writer, \"regular\", () => emitField(writer, field, alignmentColumns));\n\t\tconst attribute = ModelAttributeAst.cast(node);\n\t\tif (attribute) return leafMember(writer, \"blockAttribute\", () => emitBlockAttribute(writer, attribute));\n\t});\n}\nfunction emitCompositeType(writer, composite, trailing) {\n\tconst alignmentColumns = alignmentMap(composite.syntax);\n\temitBlockBody(writer, composite.syntax, trailing, (node) => {\n\t\tconst field = FieldDeclarationAst.cast(node);\n\t\tif (field) return leafMember(writer, \"regular\", () => emitField(writer, field, alignmentColumns));\n\t\tconst attribute = ModelAttributeAst.cast(node);\n\t\tif (attribute) return leafMember(writer, \"blockAttribute\", () => emitBlockAttribute(writer, attribute));\n\t});\n}\nfunction emitGenericBlock(writer, block, trailing) {\n\tconst alignment = alignmentMap(block.syntax);\n\temitBlockBody(writer, block.syntax, trailing, (node) => {\n\t\tconst field = FieldDeclarationAst.cast(node);\n\t\tif (field) return leafMember(writer, \"regular\", () => emitField(writer, field, alignment));\n\t\tconst entry = KeyValuePairAst.cast(node);\n\t\tif (entry) return leafMember(writer, \"regular\", () => emitKeyValue(writer, entry));\n\t\tconst attribute = ModelAttributeAst.cast(node);\n\t\tif (attribute) return leafMember(writer, \"blockAttribute\", () => emitBlockAttribute(writer, attribute));\n\t});\n}\nfunction emitNamespace(writer, namespace, trailing) {\n\temitBlockBody(writer, namespace.syntax, trailing, (node) => {\n\t\tconst declaration = castBlockDeclaration(node);\n\t\tif (declaration) return nestedBlockMember(writer, declaration);\n\t});\n}\nfunction emitTypesBlock(writer, block, trailing) {\n\temitBlockBody(writer, block.syntax, trailing, (node) => {\n\t\tconst named = NamedTypeDeclarationAst.cast(node);\n\t\tif (named) return leafMember(writer, \"regular\", () => emitNamedType(writer, named));\n\t});\n}\nfunction emitTopLevel(writer, document) {\n\twalkRegion(writer, Array.from(document.syntax.children()), void 0, (node) => {\n\t\tconst declaration = castTopLevelDeclaration(node);\n\t\tif (declaration) return nestedBlockMember(writer, declaration);\n\t});\n}\nfunction nestedBlockMember(writer, block) {\n\treturn {\n\t\tcategory: \"nestedBlock\",\n\t\temit(trailing) {\n\t\t\tblock(writer, trailing);\n\t\t\treturn 0;\n\t\t}\n\t};\n}\nfunction castBlockDeclaration(node) {\n\tconst model = ModelDeclarationAst.cast(node);\n\tif (model) return (writer, trailing) => emitModel(writer, model, trailing);\n\tconst composite = CompositeTypeDeclarationAst.cast(node);\n\tif (composite) return (writer, trailing) => emitCompositeType(writer, composite, trailing);\n\tconst generic = GenericBlockDeclarationAst.cast(node);\n\tif (generic) return (writer, trailing) => emitGenericBlock(writer, generic, trailing);\n}\nfunction castTopLevelDeclaration(node) {\n\tconst block = castBlockDeclaration(node);\n\tif (block) return block;\n\tconst namespace = NamespaceDeclarationAst.cast(node);\n\tif (namespace) return (writer, trailing) => emitNamespace(writer, namespace, trailing);\n\tconst types = TypesBlockAst.cast(node);\n\tif (types) return (writer, trailing) => emitTypesBlock(writer, types, trailing);\n}\nfunction emitBlockBody(writer, node, closingTrailing, classify) {\n\tconst children = Array.from(node.children());\n\tconst openIndex = children.findIndex((el) => !(el instanceof SyntaxNode) && el.kind === \"LBrace\");\n\tconst headerComments = streamHeader(writer, node);\n\tconst openingComment = sameLineCommentAfter(children, openIndex);\n\tif (openingComment !== void 0) headerComments.push(openingComment);\n\tconst [firstComment, ...otherComments] = headerComments;\n\tif (firstComment !== void 0) writer.comment(firstComment);\n\telse writer.newline();\n\twriter.indent();\n\tfor (const comment of otherComments) writer.comment(comment);\n\twalkRegion(writer, children, \"RBrace\", classify);\n\twriter.unindent();\n\twriter.writeRaw(\"}\");\n\tif (closingTrailing !== void 0) writer.comment(closingTrailing);\n\telse writer.newline();\n}\n/** Writes the block header through `{` and returns the source comments found before the `{`. */\nfunction streamHeader(writer, node) {\n\tconst comments = [];\n\tlet done = false;\n\tconst walk = (parent) => {\n\t\tfor (const child of parent.children()) {\n\t\t\tif (done) return;\n\t\t\tif (child instanceof SyntaxNode) {\n\t\t\t\twalk(child);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (child.kind === \"Comment\") {\n\t\t\t\tcomments.push(child.text);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (child.kind === \"Whitespace\" || child.kind === \"Newline\") continue;\n\t\t\tconst space = spaceBetween(writer.prevKind(), child.kind, false);\n\t\t\twriter.write(child, space);\n\t\t\tif (child.kind === \"LBrace\") {\n\t\t\t\tdone = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t};\n\twalk(node);\n\treturn comments;\n}\nfunction walkRegion(writer, elements, closeKind, classify) {\n\tlet sawOpenBrace = closeKind === void 0;\n\tlet sawContent = false;\n\tlet lastWasRegular = false;\n\tlet ledByComment = false;\n\tlet newlines = 0;\n\tfor (let i = 0; i < elements.length; i++) {\n\t\tconst element = elements[i];\n\t\tif (element === void 0) continue;\n\t\tif (element instanceof SyntaxNode) {\n\t\t\tif (!sawOpenBrace) continue;\n\t\t\tconst member = classify(element);\n\t\t\tif (member === void 0) throw new InternalError(`Formatter has no rule for a ${element.kind} node at offset ${element.offset}; formatting would drop its text`);\n\t\t\tif (!ledByComment) {\n\t\t\t\tif (newlines >= 2 && sawContent && !writer.lastIsBlank()) writer.blank();\n\t\t\t\telse if (separationBlankWanted(writer, member.category, sawContent, lastWasRegular)) writer.blank();\n\t\t\t}\n\t\t\tconst trailing = sameLineTrailingComment(elements, i);\n\t\t\tcloseContinuation(writer, member.emit(trailing.text));\n\t\t\tif (trailing.index !== void 0) i = trailing.index;\n\t\t\tsawContent = true;\n\t\t\tlastWasRegular = member.category !== \"blockAttribute\";\n\t\t\tledByComment = false;\n\t\t\tnewlines = 0;\n\t\t\tcontinue;\n\t\t}\n\t\tif (element.kind === \"LBrace\" && closeKind === \"RBrace\" && !sawOpenBrace) {\n\t\t\tsawOpenBrace = true;\n\t\t\tnewlines = 0;\n\t\t\tcontinue;\n\t\t}\n\t\tif (!sawOpenBrace) continue;\n\t\tif (closeKind === \"RBrace\" && element.kind === \"RBrace\") break;\n\t\tif (element.kind === \"Whitespace\") continue;\n\t\tif (element.kind === \"Newline\") {\n\t\t\tnewlines += 1;\n\t\t\tcontinue;\n\t\t}\n\t\tif (element.kind === \"Comment\") {\n\t\t\tif (closeKind === \"RBrace\" && newlines === 0 && !sawContent) continue;\n\t\t\tif (newlines >= 2 && sawContent && !writer.lastIsBlank()) writer.blank();\n\t\t\telse if (!ledByComment) {\n\t\t\t\tconst led = leadingMemberAfter(elements, i, classify);\n\t\t\t\tif (led && separationBlankWanted(writer, led, sawContent, lastWasRegular)) writer.blank();\n\t\t\t}\n\t\t\twriter.writeRaw(element.text);\n\t\t\twriter.newline();\n\t\t\tsawContent = true;\n\t\t\tledByComment = true;\n\t\t\tnewlines = 0;\n\t\t}\n\t}\n}\nfunction separationBlankWanted(writer, category, sawContent, lastWasRegular) {\n\tif (!sawContent || writer.lastIsBlank()) return false;\n\tif (category === \"nestedBlock\") return true;\n\treturn category === \"blockAttribute\" && lastWasRegular;\n}\nfunction leadingMemberAfter(elements, commentIndex, classify) {\n\tfor (let i = commentIndex + 1; i < elements.length; i++) {\n\t\tconst element = elements[i];\n\t\tif (element === void 0) continue;\n\t\tif (element instanceof SyntaxNode) return classify(element)?.category;\n\t\tif (element.kind === \"RBrace\") return void 0;\n\t}\n}\nfunction sameLineTrailingComment(elements, memberIndex) {\n\tfor (let i = memberIndex + 1; i < elements.length; i++) {\n\t\tconst element = elements[i];\n\t\tif (element === void 0) continue;\n\t\tif (element instanceof SyntaxNode) break;\n\t\tif (element.kind === \"Whitespace\") continue;\n\t\tif (element.kind === \"Comment\") return {\n\t\t\ttext: element.text,\n\t\t\tindex: i\n\t\t};\n\t\tbreak;\n\t}\n\treturn {\n\t\ttext: void 0,\n\t\tindex: void 0\n\t};\n}\nfunction sameLineCommentAfter(children, openIndex) {\n\tfor (let i = openIndex + 1; i < children.length; i++) {\n\t\tconst child = children[i];\n\t\tif (child === void 0) continue;\n\t\tif (child instanceof SyntaxNode) return void 0;\n\t\tif (child.kind === \"Whitespace\") continue;\n\t\tif (child.kind === \"Comment\") return child.text;\n\t\treturn;\n\t}\n}\nfunction alignmentMap(block) {\n\tconst fields = [];\n\tfor (const element of block.children()) {\n\t\tif (!(element instanceof SyntaxNode)) continue;\n\t\tif (FieldDeclarationAst.cast(element) === void 0) continue;\n\t\tif (hasInteriorComment(element)) continue;\n\t\tfields.push(element);\n\t}\n\tif (fields.length === 0) return void 0;\n\treturn alignmentColumns(fields);\n}\nfunction alignmentColumns(rows) {\n\tlet nameWidth = 0;\n\tfor (const row of rows) {\n\t\tconst field = FieldDeclarationAst.cast(row);\n\t\tif (!field) continue;\n\t\tnameWidth = Math.max(nameWidth, renderTokens(field.name()?.syntax).length);\n\t}\n\tconst typeColumn = nameWidth + 1;\n\tlet cellEnd = 0;\n\tfor (const row of rows) {\n\t\tconst field = FieldDeclarationAst.cast(row);\n\t\tif (!field) continue;\n\t\tconst name = renderTokens(field.name()?.syntax);\n\t\tconst type = renderTokens(field.typeAnnotation()?.syntax);\n\t\tcellEnd = Math.max(cellEnd, type.length > 0 ? typeColumn + type.length : name.length);\n\t}\n\treturn {\n\t\ttypeColumn,\n\t\tattributeColumn: cellEnd + 1\n\t};\n}\nfunction hasInteriorComment(node) {\n\tfor (const token of node.tokens()) if (token.kind === \"Comment\") return true;\n\treturn false;\n}\nfunction renderTokens(node) {\n\tif (!node) return \"\";\n\tlet out = \"\";\n\tlet prev;\n\tlet prevQualified = false;\n\tconst walk = (parent, qualified) => {\n\t\tfor (const child of parent.children()) {\n\t\t\tif (child instanceof SyntaxNode) {\n\t\t\t\twalk(child, qualified || child.kind === \"QualifiedName\");\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (child.kind === \"Whitespace\" || child.kind === \"Newline\" || child.kind === \"Comment\") continue;\n\t\t\tif (spaceBetween(prev, child.kind, qualified && prevQualified)) out += \" \";\n\t\t\tout += child.text;\n\t\t\tprev = child.kind;\n\t\t\tprevQualified = qualified;\n\t\t}\n\t};\n\twalk(node, false);\n\treturn out;\n}\n//#endregion\n//#region src/format/error.ts\nfunction pslError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\n//#endregion\n//#region src/format/options.ts\nfunction resolveFormatOptions(options) {\n\tconst indent = options?.indent ?? 2;\n\tif (indent !== \"tab\" && (typeof indent !== \"number\" || !Number.isInteger(indent) || indent < 1)) throw pslError(\"PSL.FORMAT_OPTION_INVALID\", `Invalid format options: indent must be a positive integer or 'tab', got ${String(indent)}`, { meta: {\n\t\toption: \"indent\",\n\t\treceived: String(indent)\n\t} });\n\tconst newline = options?.newline ?? \"LF\";\n\tif (newline !== \"LF\" && newline !== \"CRLF\") throw pslError(\"PSL.FORMAT_OPTION_INVALID\", `Invalid format options: newline must be 'LF' or 'CRLF', got ${String(newline)}`, { meta: {\n\t\toption: \"newline\",\n\t\treceived: String(newline)\n\t} });\n\treturn {\n\t\tindentUnit: indent === \"tab\" ? \"\t\" : \" \".repeat(indent),\n\t\tnewline: newline === \"CRLF\" ? \"\\r\\n\" : \"\\n\"\n\t};\n}\n//#endregion\n//#region src/format/format.ts\nfunction format(source, options) {\n\tconst resolved = resolveFormatOptions(options);\n\tconst { document, diagnostics } = parse(source, \"<format-input>.psl\");\n\tif (diagnostics.length > 0) throw pslError(\"PSL.PARSE_FAILED\", `Cannot format PSL with parse errors: ${diagnostics[0]?.message ?? \"unknown parse error\"}${diagnostics.length > 1 ? ` (and ${diagnostics.length - 1} more)` : \"\"}`, { meta: { diagnostics } });\n\treturn emitDocument(document, resolved.indentUnit, resolved.newline);\n}\n//#endregion\nexport { format };\n\n//# sourceMappingURL=format.mjs.map"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as Contract } from "./contract-types-Cdqr65a--BsYwlpQo.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import "./authoring-
|
|
2
|
+
import { C as AuthoringPslBlockDescriptorNamespace, Q as instantiateAuthoringFieldPreset, U as PslSpan, a as AuthoringContributions, n as AuthoringArgumentDescriptor, p as AuthoringFieldPresetDescriptor } from "./framework-authoring-Lssvcd3X-DsgKz6mc.mjs";
|
|
3
|
+
import "./authoring-BYbSOseC.mjs";
|
|
4
4
|
import { r as Result } from "./result-BYCOANWy.mjs";
|
|
5
|
-
import "./psl-ast-
|
|
6
|
-
import { c as ContractSourceProvider, n as ContractSourceContext, o as ContractSourceDiagnostics, p as PslContractSourceProvider, r as ContractSourceDiagnostic } from "./config-types-
|
|
7
|
-
import { F as PslDiagnostic, I as PslDiagnosticCollector, L as PslSources, d as DiagnosticSource, f as DocumentAst } from "./parse-
|
|
8
|
-
import { d as ResolvedTypeConstructorCall, f as SymbolTable, i as FieldSymbol, l as ResolvedAttributeArg, t as BlockSymbol } from "./symbol-table-
|
|
5
|
+
import "./psl-ast-BOzFRzI0.mjs";
|
|
6
|
+
import { c as ContractSourceProvider, n as ContractSourceContext, o as ContractSourceDiagnostics, p as PslContractSourceProvider, r as ContractSourceDiagnostic } from "./config-types-DmSch3ta.mjs";
|
|
7
|
+
import { F as PslDiagnostic, I as PslDiagnosticCollector, L as PslSources, d as DiagnosticSource, f as DocumentAst } from "./parse-XbG2XDRs-BJvdVA-3.mjs";
|
|
8
|
+
import { d as ResolvedTypeConstructorCall, f as SymbolTable, i as FieldSymbol, l as ResolvedAttributeArg, t as BlockSymbol } from "./symbol-table-uBpYeTjB-CYN4_SgJ.mjs";
|
|
9
9
|
//#region ../../../1-framework/2-authoring/psl-parser/dist/interpret.d.mts
|
|
10
10
|
//#region src/authoring-arguments.d.ts
|
|
11
11
|
declare function mapPslHelperArgs(input: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as notOk } from "./result-8OXF26MN.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { n as fieldPresetSpellings } from "./authoring-
|
|
2
|
+
import { P as validateAuthoringHelperArguments, h as instantiateAuthoringFieldPreset, x as isAuthoringPslBlockDescriptor } from "./temporal-presets-DMRKrfIa-HElHwGB2.mjs";
|
|
3
|
+
import { n as fieldPresetSpellings } from "./authoring-e9U_0LWr.mjs";
|
|
4
4
|
import { i as keywordPslSpan, o as nodePslSpan, r as diagnosticSource } from "./resolve-GE34dgM6-D33m6YEw.mjs";
|
|
5
5
|
//#region ../../../1-framework/2-authoring/psl-parser/dist/interpret.mjs
|
|
6
6
|
function unquoteStringLiteral(value) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as TokenKind } from "./tokenizer-DW30uwhx-BHsWTwYk.mjs";
|
|
2
|
-
import { A as ObjectFieldAst, B as SourceFile, C as KeyValuePairAst, D as NamespaceDeclarationAst, E as NamedTypeDeclarationAst, G as SyntaxNode, H as StringLiteralQuote, J as TokenAtOffset, K as SyntaxToken, L as PslSources, M as ParseDiagnostic, N as ParseResult, O as NamespaceMemberAst, P as Position, Q as castExpression, R as QualifiedNameAst, S as IdentifierAst, T as ModelDeclarationAst, U as SyntaxElement, V as StringLiteralExprAst, W as SyntaxKind, X as TypesBlockAst, Y as TypeAnnotationAst, Z as any, _ as GenericBlockDeclarationAst, a as AttributeAst, at as findFirstChild, b as GreenNode, c as BracedBlock, et as createSyntaxTree, f as DocumentAst, g as FunctionCallAst, h as FieldDeclarationAst, i as AttributeArgListAst, it as findChildToken, j as ObjectLiteralExprAst, k as NumberLiteralExprAst, l as CompositeTypeDeclarationAst, lt as parse, m as FieldAttributeAst, n as AstNode, o as BlockMemberAst, ot as greenNode, p as ExpressionAst, q as TaggedLiteralExprAst, r as AttributeArgAst, rt as filterChildren, s as BooleanLiteralExprAst, st as greenToken, t as ArrayLiteralAst, u as DeclarationAst, ut as printSyntax, v as GenericBlockMemberAst, w as ModelAttributeAst, x as GreenToken, y as GreenElement, z as Range } from "./parse-
|
|
2
|
+
import { A as ObjectFieldAst, B as SourceFile, C as KeyValuePairAst, D as NamespaceDeclarationAst, E as NamedTypeDeclarationAst, G as SyntaxNode, H as StringLiteralQuote, J as TokenAtOffset, K as SyntaxToken, L as PslSources, M as ParseDiagnostic, N as ParseResult, O as NamespaceMemberAst, P as Position, Q as castExpression, R as QualifiedNameAst, S as IdentifierAst, T as ModelDeclarationAst, U as SyntaxElement, V as StringLiteralExprAst, W as SyntaxKind, X as TypesBlockAst, Y as TypeAnnotationAst, Z as any, _ as GenericBlockDeclarationAst, a as AttributeAst, at as findFirstChild, b as GreenNode, c as BracedBlock, et as createSyntaxTree, f as DocumentAst, g as FunctionCallAst, h as FieldDeclarationAst, i as AttributeArgListAst, it as findChildToken, j as ObjectLiteralExprAst, k as NumberLiteralExprAst, l as CompositeTypeDeclarationAst, lt as parse, m as FieldAttributeAst, n as AstNode, o as BlockMemberAst, ot as greenNode, p as ExpressionAst, q as TaggedLiteralExprAst, r as AttributeArgAst, rt as filterChildren, s as BooleanLiteralExprAst, st as greenToken, t as ArrayLiteralAst, u as DeclarationAst, ut as printSyntax, v as GenericBlockMemberAst, w as ModelAttributeAst, x as GreenToken, y as GreenElement, z as Range } from "./parse-XbG2XDRs-BJvdVA-3.mjs";
|
|
3
3
|
//#region ../../../1-framework/2-authoring/psl-parser/dist/syntax.d.mts
|
|
4
4
|
//#region src/syntax/green-builder.d.ts
|
|
5
5
|
declare class GreenNodeBuilder {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as createSyntaxTree, c as findFirstChild, i as any, l as printSyntax, n as SyntaxToken, o as filterChildren, r as TokenAtOffset, s as findChildToken, t as SyntaxNode } from "./ast-helpers-2XRnkQEO-BxG5qx3Q.mjs";
|
|
2
|
-
import { C as TypeAnnotationAst, S as TaggedLiteralExprAst, T as castExpression, _ as NumberLiteralExprAst, a as CompositeTypeDeclarationAst, b as QualifiedNameAst, c as FieldDeclarationAst, d as IdentifierAst, f as KeyValuePairAst, g as NamespaceDeclarationAst, h as NamedTypeDeclarationAst, i as BooleanLiteralExprAst, l as FunctionCallAst, m as ModelDeclarationAst, n as AttributeArgAst, o as DocumentAst, p as ModelAttributeAst, r as AttributeArgListAst, s as FieldAttributeAst, t as ArrayLiteralAst, u as GenericBlockDeclarationAst, v as ObjectFieldAst, w as TypesBlockAst, x as StringLiteralExprAst, y as ObjectLiteralExprAst } from "./declarations-
|
|
3
|
-
import { a as greenToken, i as greenNode, n as PslSources, o as parse, r as SourceFile, t as GreenNodeBuilder } from "./parse-
|
|
2
|
+
import { C as TypeAnnotationAst, S as TaggedLiteralExprAst, T as castExpression, _ as NumberLiteralExprAst, a as CompositeTypeDeclarationAst, b as QualifiedNameAst, c as FieldDeclarationAst, d as IdentifierAst, f as KeyValuePairAst, g as NamespaceDeclarationAst, h as NamedTypeDeclarationAst, i as BooleanLiteralExprAst, l as FunctionCallAst, m as ModelDeclarationAst, n as AttributeArgAst, o as DocumentAst, p as ModelAttributeAst, r as AttributeArgListAst, s as FieldAttributeAst, t as ArrayLiteralAst, u as GenericBlockDeclarationAst, v as ObjectFieldAst, w as TypesBlockAst, x as StringLiteralExprAst, y as ObjectLiteralExprAst } from "./declarations-CcEBlusF-DXJwQ_ze.mjs";
|
|
3
|
+
import { a as greenToken, i as greenNode, n as PslSources, o as parse, r as SourceFile, t as GreenNodeBuilder } from "./parse-DAVL8A2m-CdprLvJq.mjs";
|
|
4
4
|
//#region ../../../1-framework/2-authoring/psl-parser/dist/syntax.mjs
|
|
5
5
|
const TRIVIA_KINDS = /* @__PURE__ */ new Set([
|
|
6
6
|
"Whitespace",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"psl-parser__syntax.mjs","names":[],"sources":["../../../../1-framework/2-authoring/psl-parser/dist/syntax.mjs"],"sourcesContent":["import { a as printSyntax, c as TokenAtOffset, i as findFirstChild, l as createSyntaxTree, n as filterChildren, o as SyntaxNode, r as findChildToken, s as SyntaxToken, t as any } from \"./ast-helpers-2XRnkQEO.mjs\";\nimport { C as castExpression, S as TaggedLiteralExprAst, T as IdentifierAst, _ as FunctionCallAst, a as KeyValuePairAst, b as ObjectLiteralExprAst, c as NamespaceDeclarationAst, d as AttributeArgListAst, f as FieldAttributeAst, g as BooleanLiteralExprAst, h as AttributeArgAst, i as GenericBlockDeclarationAst, l as TypesBlockAst, m as ArrayLiteralAst, n as DocumentAst, o as ModelDeclarationAst, p as ModelAttributeAst, r as FieldDeclarationAst, s as NamedTypeDeclarationAst, t as CompositeTypeDeclarationAst, u as TypeAnnotationAst, v as NumberLiteralExprAst, w as QualifiedNameAst, x as StringLiteralExprAst, y as ObjectFieldAst } from \"./declarations-
|
|
1
|
+
{"version":3,"file":"psl-parser__syntax.mjs","names":[],"sources":["../../../../1-framework/2-authoring/psl-parser/dist/syntax.mjs"],"sourcesContent":["import { a as printSyntax, c as TokenAtOffset, i as findFirstChild, l as createSyntaxTree, n as filterChildren, o as SyntaxNode, r as findChildToken, s as SyntaxToken, t as any } from \"./ast-helpers-2XRnkQEO.mjs\";\nimport { C as castExpression, S as TaggedLiteralExprAst, T as IdentifierAst, _ as FunctionCallAst, a as KeyValuePairAst, b as ObjectLiteralExprAst, c as NamespaceDeclarationAst, d as AttributeArgListAst, f as FieldAttributeAst, g as BooleanLiteralExprAst, h as AttributeArgAst, i as GenericBlockDeclarationAst, l as TypesBlockAst, m as ArrayLiteralAst, n as DocumentAst, o as ModelDeclarationAst, p as ModelAttributeAst, r as FieldDeclarationAst, s as NamedTypeDeclarationAst, t as CompositeTypeDeclarationAst, u as TypeAnnotationAst, v as NumberLiteralExprAst, w as QualifiedNameAst, x as StringLiteralExprAst, y as ObjectFieldAst } from \"./declarations-CcEBlusF.mjs\";\nimport { a as PslSources, i as greenToken, n as GreenNodeBuilder, o as SourceFile, r as greenNode, t as parse } from \"./parse-DAVL8A2m.mjs\";\n//#region src/syntax/navigation.ts\nconst TRIVIA_KINDS = /* @__PURE__ */ new Set([\n\t\"Whitespace\",\n\t\"Newline\",\n\t\"Comment\"\n]);\n/** Whether a token kind is trivia (whitespace, newline, or comment). */\nfunction isTriviaKind(kind) {\n\treturn TRIVIA_KINDS.has(kind);\n}\n/** Whether a token is trivia. */\nfunction isTrivia(token) {\n\treturn isTriviaKind(token.kind);\n}\n/**\n* The first non-trivia token at or beyond `token` in `direction`. Returns\n* `token` itself when it is already significant.\n*/\nfunction skipTriviaToken(token, direction) {\n\tlet current = token;\n\twhile (current !== void 0 && isTrivia(current)) current = direction === \"next\" ? current.nextToken : current.prevToken;\n\treturn current;\n}\n/**\n* The nearest sibling of `element` (within the same parent) in `direction` that\n* is not a trivia token. Nodes are always significant.\n*/\nfunction nonTriviaSibling(element, direction) {\n\tlet sibling = step(element, direction);\n\twhile (sibling !== void 0) {\n\t\tif (!(sibling instanceof SyntaxToken) || !isTrivia(sibling)) return sibling;\n\t\tsibling = step(sibling, direction);\n\t}\n}\nfunction step(element, direction) {\n\treturn direction === \"next\" ? element.nextSiblingOrToken : element.prevSiblingOrToken;\n}\n//#endregion\nexport { ArrayLiteralAst, AttributeArgAst, AttributeArgListAst, BooleanLiteralExprAst, CompositeTypeDeclarationAst, DocumentAst, FieldAttributeAst, FieldDeclarationAst, FunctionCallAst, GenericBlockDeclarationAst, GreenNodeBuilder, IdentifierAst, KeyValuePairAst, ModelAttributeAst, ModelDeclarationAst, NamedTypeDeclarationAst, NamespaceDeclarationAst, NumberLiteralExprAst, ObjectFieldAst, ObjectLiteralExprAst, PslSources, QualifiedNameAst, SourceFile, StringLiteralExprAst, SyntaxNode, SyntaxToken, TaggedLiteralExprAst, TokenAtOffset, TypeAnnotationAst, TypesBlockAst, any, castExpression, createSyntaxTree, filterChildren, findChildToken, findFirstChild, greenNode, greenToken, isTrivia, isTriviaKind, nonTriviaSibling, parse, printSyntax, skipTriviaToken };\n\n//# sourceMappingURL=syntax.mjs.map"],"mappings":";;;;AAIA,MAAM,+BAA+B,IAAI,IAAI;CAC5C;CACA;CACA;AACD,CAAC;;AAED,SAAS,aAAa,MAAM;CAC3B,OAAO,aAAa,IAAI,IAAI;AAC7B;;AAEA,SAAS,SAAS,OAAO;CACxB,OAAO,aAAa,MAAM,IAAI;AAC/B;;;;;AAKA,SAAS,gBAAgB,OAAO,WAAW;CAC1C,IAAI,UAAU;CACd,OAAO,YAAY,KAAK,KAAK,SAAS,OAAO,GAAG,UAAU,cAAc,SAAS,QAAQ,YAAY,QAAQ;CAC7G,OAAO;AACR;;;;;AAKA,SAAS,iBAAiB,SAAS,WAAW;CAC7C,IAAI,UAAU,KAAK,SAAS,SAAS;CACrC,OAAO,YAAY,KAAK,GAAG;EAC1B,IAAI,EAAE,mBAAmB,gBAAgB,CAAC,SAAS,OAAO,GAAG,OAAO;EACpE,UAAU,KAAK,SAAS,SAAS;CAClC;AACD;AACA,SAAS,KAAK,SAAS,WAAW;CACjC,OAAO,cAAc,SAAS,QAAQ,qBAAqB,QAAQ;AACpE"}
|
package/dist/psl-printer.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "./authoring-
|
|
3
|
-
import { f as PslDocumentAst } from "./psl-ast-
|
|
4
|
-
import "./psl-ast-
|
|
1
|
+
import { C as AuthoringPslBlockDescriptorNamespace } from "./framework-authoring-Lssvcd3X-DsgKz6mc.mjs";
|
|
2
|
+
import "./authoring-BYbSOseC.mjs";
|
|
3
|
+
import { f as PslDocumentAst } from "./psl-ast-Dte0XPl8-CXSWV9CL.mjs";
|
|
4
|
+
import "./psl-ast-BOzFRzI0.mjs";
|
|
5
5
|
//#region ../../../1-framework/2-authoring/psl-printer/dist/index.d.mts
|
|
6
6
|
//#region src/print-psl.d.ts
|
|
7
7
|
type PslBlockDescriptorsNamespace = AuthoringPslBlockDescriptorNamespace;
|
package/dist/psl-printer.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as ifDefined } from "./defined-BQWA85QH-BRSBMULx.mjs";
|
|
2
2
|
import { o as structuredError } from "./structured-error-BXbihKQ-.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { x as isAuthoringPslBlockDescriptor } from "./temporal-presets-DMRKrfIa-HElHwGB2.mjs";
|
|
4
4
|
import { a as flatPslModels, c as namespacePslExtensionBlocks } from "./psl-ast-CyvE6CR-.mjs";
|
|
5
5
|
//#region ../../../1-framework/2-authoring/psl-printer/dist/index.mjs
|
|
6
6
|
function contractError(code, message, options) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { G as PlanMeta } from "./domain-envelope-gHv58hD1-B8mta2A6.mjs";
|
|
2
2
|
import { n as ContractExecutionSection } from "./contract-types-Cdqr65a--BsYwlpQo.mjs";
|
|
3
3
|
import { a as CodecCallContext } from "./codec-types-DjklYAo0-DL7hUdjg.mjs";
|
|
4
|
+
import { t as RuntimeErrorEnvelope } from "./runtime-error-CO4MA3Px-YW5SCUcH.mjs";
|
|
4
5
|
//#region ../../../1-framework/1-core/framework-components/dist/runtime.d.mts
|
|
5
6
|
//#region src/annotations.d.ts
|
|
6
7
|
/**
|
|
@@ -771,22 +772,6 @@ declare function assertMutationDefaultGeneratorsAvailable(execution: ContractExe
|
|
|
771
772
|
*/
|
|
772
773
|
declare function applyMutationDefaults(execution: ContractExecutionSection | undefined, generatorRegistry: ReadonlyMap<string, RuntimeMutationDefaultGenerator>, options: MutationDefaultsOptions): ReadonlyArray<AppliedMutationDefault>;
|
|
773
774
|
//#endregion
|
|
774
|
-
//#region src/shared/runtime-error.d.ts
|
|
775
|
-
interface RuntimeErrorEnvelope extends Error {
|
|
776
|
-
readonly code: string;
|
|
777
|
-
readonly category: 'PLAN' | 'CONTRACT' | 'LINT' | 'BUDGET' | 'RUNTIME' | 'DRIVER' | 'MIGRATION' | 'ORM';
|
|
778
|
-
readonly severity: 'error';
|
|
779
|
-
readonly details?: Record<string, unknown>;
|
|
780
|
-
}
|
|
781
|
-
/**
|
|
782
|
-
* Type guard for the runtime-error envelope produced by `runtimeError`.
|
|
783
|
-
*
|
|
784
|
-
* Prefer this over duck-typing on `error.code` directly so consumers stay
|
|
785
|
-
* insulated from the envelope's internal shape.
|
|
786
|
-
*/
|
|
787
|
-
declare function isRuntimeError(error: unknown): error is RuntimeErrorEnvelope;
|
|
788
|
-
declare function runtimeError(code: string, message: string, details?: Record<string, unknown>): RuntimeErrorEnvelope;
|
|
789
|
-
//#endregion
|
|
790
775
|
//#region src/execution/runtime-error.d.ts
|
|
791
776
|
/**
|
|
792
777
|
* Stable code emitted by the runtime when an in-flight `execute()`
|
|
@@ -1146,5 +1131,5 @@ interface LaneMetaBuilder<K extends OperationKind> extends MetaBuilder<K> {
|
|
|
1146
1131
|
*/
|
|
1147
1132
|
declare function createMetaBuilder<K extends OperationKind>(kind: K, terminalName: string): LaneMetaBuilder<K>;
|
|
1148
1133
|
//#endregion
|
|
1149
|
-
export {
|
|
1150
|
-
//# sourceMappingURL=runtime-
|
|
1134
|
+
export { runtimeAborted as $, RuntimeExecutor as A, applyMutationDefaults as B, RelationKeys as C, RuntimeCore as D, RuntimeAbortedPhase as E, RuntimeStatementStats as F, collectMutationDefaultGenerators as G, assertMutationDefaultGeneratorsAvailable as H, Scalars as I, raceAgainstAbort as J, createMetaBuilder as K, Shape as L, RuntimeMiddleware as M, RuntimeMiddlewareContext as N, RuntimeCoreOptions as O, RuntimeMutationDefaultGenerator as P, runQueryWithMiddleware as Q, ShapeSpec as R, RUNTIME_ABORTED as S, ResultType as T, checkAborted as U, assertAnnotationsApplicable as V, checkMiddlewareCompatibility as W, runBeforeQueryChain as X, runBeforeExecuteChain as Y, runExecuteWithMiddleware as Z, MutationDefaultsOptions as _, AppliedMutationDefault as a, QueryInterceptResult as b, DefineAnnotationOptions as c, GeneratorStability as d, LaneMetaBuilder as f, MutationDefaultsOp as g, MutationDefaults as h, AnnotationValue as i, RuntimeLog as j, RuntimeExecuteOptions as k, ExecuteInterceptResult as l, MutationDefaultGeneratorContributor as m, AfterQueryResult as n, AsyncIterableResult as o, MetaBuilder as p, defineAnnotation as q, AnnotationHandle as r, CrossFamilyMiddleware as s, AfterExecuteResult as t, ExecutionPlan as u, OperationKind as v, RelationNamesOf as w, QueryPlan as x, ParamRefMutator as y, ValidAnnotations as z };
|
|
1135
|
+
//# sourceMappingURL=runtime-Bz3UqSoT.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-Bz3UqSoT.d.mts","names":[],"sources":["../../../../1-framework/1-core/framework-components/dist/runtime.d.mts"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region ../../../1-framework/1-core/framework-components/dist/runtime-error-CO4MA3Px.d.mts
|
|
2
|
+
//#region src/shared/runtime-error.d.ts
|
|
3
|
+
interface RuntimeErrorEnvelope extends Error {
|
|
4
|
+
readonly code: string;
|
|
5
|
+
readonly category: 'PLAN' | 'CONTRACT' | 'LINT' | 'BUDGET' | 'RUNTIME' | 'DRIVER' | 'MIGRATION' | 'ORM';
|
|
6
|
+
readonly severity: 'error';
|
|
7
|
+
readonly details?: Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Type guard for the runtime-error envelope produced by `runtimeError`.
|
|
11
|
+
*
|
|
12
|
+
* Prefer this over duck-typing on `error.code` directly so consumers stay
|
|
13
|
+
* insulated from the envelope's internal shape.
|
|
14
|
+
*/
|
|
15
|
+
declare function isRuntimeError(error: unknown): error is RuntimeErrorEnvelope;
|
|
16
|
+
declare function runtimeError(code: string, message: string, details?: Record<string, unknown>): RuntimeErrorEnvelope;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { isRuntimeError as n, runtimeError as r, RuntimeErrorEnvelope as t };
|
|
19
|
+
//# sourceMappingURL=runtime-error-CO4MA3Px-YW5SCUcH.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-error-CO4MA3Px-YW5SCUcH.d.mts","names":[],"sources":["../../../../1-framework/1-core/framework-components/dist/runtime-error-CO4MA3Px.d.mts"],"mappings":";;UACU,6BAA6B;WAC5B;WACA;WACA;WACA,UAAU;;;;;;;;iBAQJ,eAAe,iBAAiB,SAAS;iBACzC,aAAa,cAAc,iBAAiB,UAAU,0BAA0B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "./psl-ast-
|
|
3
|
-
import { D as NamespaceDeclarationAst, E as NamedTypeDeclarationAst, G as SyntaxNode, L as PslSources, M as ParseDiagnostic, T as ModelDeclarationAst, Y as TypeAnnotationAst, _ as GenericBlockDeclarationAst, f as DocumentAst, h as FieldDeclarationAst, l as CompositeTypeDeclarationAst, m as FieldAttributeAst, p as ExpressionAst, w as ModelAttributeAst } from "./parse-
|
|
4
|
-
//#region ../../../1-framework/2-authoring/psl-parser/dist/symbol-table-
|
|
1
|
+
import { U as PslSpan } from "./framework-authoring-Lssvcd3X-DsgKz6mc.mjs";
|
|
2
|
+
import "./psl-ast-BOzFRzI0.mjs";
|
|
3
|
+
import { D as NamespaceDeclarationAst, E as NamedTypeDeclarationAst, G as SyntaxNode, L as PslSources, M as ParseDiagnostic, T as ModelDeclarationAst, Y as TypeAnnotationAst, _ as GenericBlockDeclarationAst, f as DocumentAst, h as FieldDeclarationAst, l as CompositeTypeDeclarationAst, m as FieldAttributeAst, p as ExpressionAst, w as ModelAttributeAst } from "./parse-XbG2XDRs-BJvdVA-3.mjs";
|
|
4
|
+
//#region ../../../1-framework/2-authoring/psl-parser/dist/symbol-table-uBpYeTjB.d.mts
|
|
5
5
|
//#region src/resolve.d.ts
|
|
6
6
|
interface ResolvedAttributeArg {
|
|
7
7
|
readonly kind: 'positional' | 'named';
|
|
@@ -120,4 +120,4 @@ interface SymbolTableResult {
|
|
|
120
120
|
declare function buildSymbolTable(options: BuildSymbolTableOptions): SymbolTableResult;
|
|
121
121
|
//#endregion
|
|
122
122
|
export { nodePslSpan as _, ModelSymbol as a, readResolvedConstructorCall as b, ResolvedAttribute as c, ResolvedTypeConstructorCall as d, SymbolTable as f, keywordPslSpan as g, buildSymbolTable as h, FieldSymbol as i, ResolvedAttributeArg as l, TopLevelScope as m, BuildSymbolTableOptions as n, NamedTypeSymbol as o, SymbolTableResult as p, CompositeTypeSymbol as r, NamespaceSymbol as s, BlockSymbol as t, ResolvedNamedTypeBinding as u, readResolvedAttribute as v, readResolvedAttributes as y };
|
|
123
|
-
//# sourceMappingURL=symbol-table-
|
|
123
|
+
//# sourceMappingURL=symbol-table-uBpYeTjB-CYN4_SgJ.d.mts.map
|
package/dist/{symbol-table-ikmivfwq-u2--jZQG.d.mts.map → symbol-table-uBpYeTjB-CYN4_SgJ.d.mts.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol-table-
|
|
1
|
+
{"version":3,"file":"symbol-table-uBpYeTjB-CYN4_SgJ.d.mts","names":[],"sources":["../../../../1-framework/2-authoring/psl-parser/dist/symbol-table-uBpYeTjB.d.mts"],"mappings":";;;;;UAGU;WACC;WACA;WACA;WACA,aAAa;WACb,MAAM;;UAEP,kBAAkB,cAAc,oBAAoB,oBAAoB,oBAAoB;WAC3F;WACA,eAAe;WACf,MAAM;WACN,MAAM;;UAEP;WACC;WACA,eAAe;WACf,MAAM;;iBAEA,sBAAsB,cAAc,oBAAoB,mBAAmB,WAAW,OAAO,SAAS,aAAa,kBAAkB;iBACrI,uBAAuB,cAAc,oBAAoB,mBAAmB,YAAY,SAAS,QAAQ,SAAS,sBAAsB,kBAAkB;iBAC1J,4BAA4B,YAAY,+BAA+B,SAAS,aAAa;iBAC7F,YAAY,MAAM,YAAY,SAAS,aAAa;;iBAEpD,eAAe,MAAM,YAAY,iBAAiB,SAAS,aAAa;;;UAG/E;WACC,UAAU;;UAEX;WACC,YAAY,eAAe;WAC3B,YAAY,eAAe;WAC3B,QAAQ,eAAe;WACvB,QAAQ,eAAe;WACvB,gBAAgB,eAAe;;UAEhC;WACC;WACA;WACA;aACE,MAAM;aACN,MAAM;;WAER,QAAQ,eAAe;WACvB,gBAAgB,eAAe;WAC/B,QAAQ,eAAe;;UAExB;WACC;WACA;WACA,MAAM;WACN,MAAM;WACN,QAAQ,eAAe;WACvB,qBAAqB,kBAAkB;;UAExC;WACC;WACA;WACA,MAAM;WACN,MAAM;WACN,QAAQ,eAAe;WACvB,qBAAqB,kBAAkB;;UAExC;WACC;WACA;WACA;WACA,MAAM;WACN,MAAM;;UAEP;WACC;WACA,kBAAkB;WAClB;WACA,qBAAqB,kBAAkB;;;;;;;UAOxC,wBAAwB;WACvB;WACA;WACA,MAAM;WACN,MAAM;;UAEP;WACC;WACA;WACA,MAAM;WACN,MAAM;WACN;WACA;WACA;WACA;WACA;WACA,kBAAkB;WAClB,qBAAqB,kBAAkB;;WAEvC;;UAED;WACC,oBAAoB;WACpB,SAAS;;UAEV;WACC,aAAa;WACb,sBAAsB;;;;;;iBAMhB,iBAAiB,SAAS,0BAA0B"}
|
package/dist/{temporal-presets-MavBeaJC-BcqWVoBB.mjs → temporal-presets-DMRKrfIa-HElHwGB2.mjs}
RENAMED
|
@@ -4,7 +4,7 @@ import { d as isExecutionMutationDefaultValue, u as isColumnDefaultLiteralInputV
|
|
|
4
4
|
import { t as InternalError } from "./internal-error-ChGYPVpq-DhUD05u0.mjs";
|
|
5
5
|
import { n as invariant } from "./assertions-Dw1lZz_Q.mjs";
|
|
6
6
|
import { n as runtimeError } from "./runtime-error-BA9d7XjZ-BlT8t6LB.mjs";
|
|
7
|
-
//#region ../../../1-framework/1-core/framework-components/dist/temporal-presets-
|
|
7
|
+
//#region ../../../1-framework/1-core/framework-components/dist/temporal-presets-DMRKrfIa.mjs
|
|
8
8
|
const AUTHORING_WARNING_BATCH_THRESHOLD = 5;
|
|
9
9
|
/**
|
|
10
10
|
* Emits collected authoring warnings once per build, grouped by `code`:
|
|
@@ -79,21 +79,6 @@ function resolveEnumCodecId(block, ctx) {
|
|
|
79
79
|
codecSpan: typeAttr.argSpans?.["codecId"] ?? typeAttr.span
|
|
80
80
|
};
|
|
81
81
|
}
|
|
82
|
-
const LOWERING_ENTRY_PREFIX = "lowering:";
|
|
83
|
-
/**
|
|
84
|
-
* The key a lowering entry sits under. A data type id is `owner/name`, so a key carrying this
|
|
85
|
-
* prefix can never collide with one.
|
|
86
|
-
*/
|
|
87
|
-
function loweringEntryKey(tag) {
|
|
88
|
-
return `${LOWERING_ENTRY_PREFIX}${tag}`;
|
|
89
|
-
}
|
|
90
|
-
function isLoweringEntryKey(key) {
|
|
91
|
-
return key.startsWith(LOWERING_ENTRY_PREFIX);
|
|
92
|
-
}
|
|
93
|
-
/** Which of the two kinds of entry this is; the only place the discriminating key is named. */
|
|
94
|
-
function isDataTypeLoweringEntry(entry) {
|
|
95
|
-
return "lower" in entry && entry.lower !== void 0;
|
|
96
|
-
}
|
|
97
82
|
function isAuthoringArgRef(value) {
|
|
98
83
|
if (typeof value !== "object" || value === null || value.kind !== "arg") return false;
|
|
99
84
|
const { index, path } = value;
|
|
@@ -709,6 +694,144 @@ function instantiateAuthoringFieldPreset(descriptor, args) {
|
|
|
709
694
|
unique: descriptor.output.unique ?? false
|
|
710
695
|
};
|
|
711
696
|
}
|
|
697
|
+
const TAGGED_LITERAL_MAX_BYTES = 65536;
|
|
698
|
+
/** The message a tagged literal's canonicalization failure is reported with, in PSL and in TypeScript. */
|
|
699
|
+
function describeTaggedLiteralFailure(reason) {
|
|
700
|
+
switch (reason) {
|
|
701
|
+
case "nul": return "Tagged literals must not contain NUL characters.";
|
|
702
|
+
case "too-large": return `Tagged literal exceeds ${TAGGED_LITERAL_MAX_BYTES} bytes.`;
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
const PSL_BACKTICK_ESCAPES = /* @__PURE__ */ new Set(["`", "\\"]);
|
|
706
|
+
const TEMPLATE_TAG_ESCAPES = /* @__PURE__ */ new Set([
|
|
707
|
+
"`",
|
|
708
|
+
"\\",
|
|
709
|
+
"$"
|
|
710
|
+
]);
|
|
711
|
+
/** The escapes a PSL backtick string resolves: `` \` `` and `\\`. PSL has no interpolation, so `${` is ordinary text. */
|
|
712
|
+
function resolvePslBacktickEscapes(raw) {
|
|
713
|
+
return resolveEscapes(raw, PSL_BACKTICK_ESCAPES);
|
|
714
|
+
}
|
|
715
|
+
/** The escapes a TypeScript template tag resolves: the PSL two plus `\$`, the only way to write `${` in a template literal. */
|
|
716
|
+
function resolveTemplateTagEscapes(raw) {
|
|
717
|
+
return resolveEscapes(raw, TEMPLATE_TAG_ESCAPES);
|
|
718
|
+
}
|
|
719
|
+
/** Every other backslash sequence is kept as written, both characters, so a SQL body may contain `E'\n'` unchanged. */
|
|
720
|
+
function resolveEscapes(raw, escapes) {
|
|
721
|
+
let out = "";
|
|
722
|
+
let i = 0;
|
|
723
|
+
while (i < raw.length) {
|
|
724
|
+
const ch = raw.charAt(i);
|
|
725
|
+
const next = raw.charAt(i + 1);
|
|
726
|
+
if (ch === "\\" && escapes.has(next)) {
|
|
727
|
+
out += next;
|
|
728
|
+
i += 2;
|
|
729
|
+
continue;
|
|
730
|
+
}
|
|
731
|
+
out += ch;
|
|
732
|
+
i++;
|
|
733
|
+
}
|
|
734
|
+
return out;
|
|
735
|
+
}
|
|
736
|
+
const BLANK_LINE = /^[ \t]*$/;
|
|
737
|
+
const LEADING_INDENT = /^[ \t]*/;
|
|
738
|
+
const LINE_BREAK = /\r\n|\r|\n/g;
|
|
739
|
+
/**
|
|
740
|
+
* Turns the escape-resolved text of a tagged literal into its canonical body:
|
|
741
|
+
* newlines become `\n`, a blank first and last line are dropped, common leading
|
|
742
|
+
* whitespace is removed, internal blank lines become empty, and no trailing
|
|
743
|
+
* newline is added. Fails on a NUL character or when the result is larger than
|
|
744
|
+
* 65536 UTF-8 bytes.
|
|
745
|
+
*/
|
|
746
|
+
function canonicalizeTaggedLiteralBody(resolved) {
|
|
747
|
+
const nul = resolved.indexOf("\0");
|
|
748
|
+
if (nul !== -1) return {
|
|
749
|
+
ok: false,
|
|
750
|
+
reason: "nul",
|
|
751
|
+
offset: nul
|
|
752
|
+
};
|
|
753
|
+
const lines = splitLines(resolved);
|
|
754
|
+
if (lines.length > 0 && BLANK_LINE.test(lines[0]?.text ?? "")) lines.shift();
|
|
755
|
+
if (lines.length > 0 && BLANK_LINE.test(lines.at(-1)?.text ?? "")) lines.pop();
|
|
756
|
+
const indent = commonIndent(lines);
|
|
757
|
+
const bodyLines = lines.map((line) => BLANK_LINE.test(line.text) ? {
|
|
758
|
+
text: "",
|
|
759
|
+
start: line.start
|
|
760
|
+
} : {
|
|
761
|
+
text: line.text.slice(indent),
|
|
762
|
+
start: line.start + indent
|
|
763
|
+
});
|
|
764
|
+
const excess = offsetWhereBytesExceed(bodyLines, TAGGED_LITERAL_MAX_BYTES);
|
|
765
|
+
if (excess !== void 0) return {
|
|
766
|
+
ok: false,
|
|
767
|
+
reason: "too-large",
|
|
768
|
+
offset: excess
|
|
769
|
+
};
|
|
770
|
+
return {
|
|
771
|
+
ok: true,
|
|
772
|
+
body: bodyLines.map((line) => line.text).join("\n")
|
|
773
|
+
};
|
|
774
|
+
}
|
|
775
|
+
function splitLines(text) {
|
|
776
|
+
const lines = [];
|
|
777
|
+
let start = 0;
|
|
778
|
+
for (const match of text.matchAll(LINE_BREAK)) {
|
|
779
|
+
lines.push({
|
|
780
|
+
text: text.slice(start, match.index),
|
|
781
|
+
start
|
|
782
|
+
});
|
|
783
|
+
start = match.index + match[0].length;
|
|
784
|
+
}
|
|
785
|
+
lines.push({
|
|
786
|
+
text: text.slice(start),
|
|
787
|
+
start
|
|
788
|
+
});
|
|
789
|
+
return lines;
|
|
790
|
+
}
|
|
791
|
+
function commonIndent(lines) {
|
|
792
|
+
let indent = Number.POSITIVE_INFINITY;
|
|
793
|
+
for (const line of lines) {
|
|
794
|
+
if (BLANK_LINE.test(line.text)) continue;
|
|
795
|
+
indent = Math.min(indent, LEADING_INDENT.exec(line.text)?.[0].length ?? 0);
|
|
796
|
+
}
|
|
797
|
+
return Number.isFinite(indent) ? indent : 0;
|
|
798
|
+
}
|
|
799
|
+
/** The resolved-text offset of the first character that pushes the body past `limit` bytes. */
|
|
800
|
+
function offsetWhereBytesExceed(lines, limit) {
|
|
801
|
+
let bytes = 0;
|
|
802
|
+
for (const [index, line] of lines.entries()) {
|
|
803
|
+
if (index > 0) {
|
|
804
|
+
bytes += 1;
|
|
805
|
+
if (bytes > limit) return line.start;
|
|
806
|
+
}
|
|
807
|
+
let offsetInLine = 0;
|
|
808
|
+
for (const char of line.text) {
|
|
809
|
+
bytes += utf8Length(char.codePointAt(0) ?? 0);
|
|
810
|
+
if (bytes > limit) return line.start + offsetInLine;
|
|
811
|
+
offsetInLine += char.length;
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
}
|
|
815
|
+
function utf8Length(codePoint) {
|
|
816
|
+
if (codePoint < 128) return 1;
|
|
817
|
+
if (codePoint < 2048) return 2;
|
|
818
|
+
if (codePoint < 65536) return 3;
|
|
819
|
+
return 4;
|
|
820
|
+
}
|
|
821
|
+
function escapeQuotedText(text) {
|
|
822
|
+
return text.replace(/\\/g, "\\\\").replace(/"/g, "\\\"").replace(/\n/g, "\\n").replace(/\r/g, "\\r");
|
|
823
|
+
}
|
|
824
|
+
/**
|
|
825
|
+
* The PSL text of a tagged literal whose canonical text is `text`: the backtick form, or the double-quote form when the
|
|
826
|
+
* text holds a backtick, which reads better than escaping each backtick. A multi-line text starts on the line after
|
|
827
|
+
* the opening backtick, so indentation a printer adds to an enclosing block is common to every line and the
|
|
828
|
+
* canonicalization removes it. ADR 129.
|
|
829
|
+
*/
|
|
830
|
+
function printTaggedLiteral(tag, text) {
|
|
831
|
+
if (text.includes("`")) return `${tag}"${escapeQuotedText(text)}"`;
|
|
832
|
+
const fenced = text.replace(/\\/g, "\\\\");
|
|
833
|
+
return text.includes("\n") ? `${tag}\`\n${fenced}\n\`` : `${tag}\`${fenced}\``;
|
|
834
|
+
}
|
|
712
835
|
/**
|
|
713
836
|
* Canonical id for the wall-clock-now mutation default generator. It flows to the control-plane descriptor and the temporal field presets below, to each family's runtime generator, and to the authoring surfaces (PSL `temporal.updatedAt()`, TS `field.temporal.updatedAt()`) through the descriptor.
|
|
714
837
|
*/
|
|
@@ -812,6 +935,6 @@ function temporalCodecPreset(storage) {
|
|
|
812
935
|
};
|
|
813
936
|
}
|
|
814
937
|
//#endregion
|
|
815
|
-
export {
|
|
938
|
+
export { temporalAuthoringPresets as A, mergeAuthoringAttributeSpecs as C, resolveEnumCodecId as D, resolveAuthoringTemplateValue as E, temporalPhaseTemplate as M, timestampNowControlDescriptor as N, resolvePslBacktickEscapes as O, validateAuthoringHelperArguments as P, isAuthoringTypeConstructorDescriptor as S, printTaggedLiteral as T, isAuthoringArgRef as _, assertNoCrossRegistryCollisions as a, isAuthoringModelAttributeDescriptor as b, classifyEnumMemberType as c, describeTaggedLiteralFailure as d, flushAuthoringWarnings as f, instantiateAuthoringTypeConstructor as g, instantiateAuthoringFieldPreset as h, TIMESTAMP_NOW_GENERATOR_ID as i, temporalCodecPreset as j, resolveTemplateTagEscapes as k, collectContributedDescriptorPaths as l, instantiateAuthoringEntityType as m, TEMPORAL_ON_CREATE_ARG as n, assertResolvableTypeConstructorTemplates as o, hasRegisteredFieldNamespace as p, TEMPORAL_ON_UPDATE_ARG as r, canonicalizeTaggedLiteralBody as s, TAGGED_LITERAL_MAX_BYTES as t, collectScalarTypeConstructors as u, isAuthoringEntityTypeDescriptor as v, mergeAuthoringNamespaces as w, isAuthoringPslBlockDescriptor as x, isAuthoringFieldPresetDescriptor as y };
|
|
816
939
|
|
|
817
|
-
//# sourceMappingURL=temporal-presets-
|
|
940
|
+
//# sourceMappingURL=temporal-presets-DMRKrfIa-HElHwGB2.mjs.map
|