@prisma-next/psl-parser 0.14.0-dev.9 → 0.14.0-dev.90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/{declarations-D9h_ihD3.mjs → declarations-DR6To8_k.mjs} +295 -55
  2. package/dist/declarations-DR6To8_k.mjs.map +1 -0
  3. package/dist/format.d.mts +1 -1
  4. package/dist/format.mjs +2 -2
  5. package/dist/index.d.mts +115 -107
  6. package/dist/index.d.mts.map +1 -1
  7. package/dist/index.mjs +437 -60
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/interpret.d.mts +39 -0
  10. package/dist/interpret.d.mts.map +1 -0
  11. package/dist/interpret.mjs +25 -0
  12. package/dist/interpret.mjs.map +1 -0
  13. package/dist/{parse-BjZ1LPe6.d.mts → parse-BazJr7Ye.d.mts} +128 -51
  14. package/dist/parse-BazJr7Ye.d.mts.map +1 -0
  15. package/dist/{parse-DhEV6av6.mjs → parse-CdeXr0T3.mjs} +28 -7
  16. package/dist/parse-CdeXr0T3.mjs.map +1 -0
  17. package/dist/symbol-table-C-AH04Ug.d.mts +127 -0
  18. package/dist/symbol-table-C-AH04Ug.d.mts.map +1 -0
  19. package/dist/syntax.d.mts +20 -2
  20. package/dist/syntax.d.mts.map +1 -1
  21. package/dist/syntax.mjs +43 -3
  22. package/dist/syntax.mjs.map +1 -0
  23. package/package.json +10 -7
  24. package/src/attribute-spec/combinators/bool.ts +19 -0
  25. package/src/attribute-spec/combinators/diagnostic.ts +15 -0
  26. package/src/attribute-spec/combinators/entity-ref.ts +24 -0
  27. package/src/attribute-spec/combinators/field-ref.ts +36 -0
  28. package/src/attribute-spec/combinators/func-call.ts +65 -0
  29. package/src/attribute-spec/combinators/identifier.ts +16 -0
  30. package/src/attribute-spec/combinators/int.ts +35 -0
  31. package/src/attribute-spec/combinators/list.ts +43 -0
  32. package/src/attribute-spec/combinators/num.ts +26 -0
  33. package/src/attribute-spec/combinators/one-of.ts +29 -0
  34. package/src/attribute-spec/combinators/record.ts +43 -0
  35. package/src/attribute-spec/combinators/str.ts +19 -0
  36. package/src/attribute-spec/field-attribute.ts +27 -0
  37. package/src/attribute-spec/interpret.ts +177 -0
  38. package/src/attribute-spec/model-attribute.ts +27 -0
  39. package/src/attribute-spec/optional.ts +8 -0
  40. package/src/attribute-spec/types.ts +72 -0
  41. package/src/block-reconstruction.ts +1 -0
  42. package/src/exports/index.ts +34 -0
  43. package/src/exports/interpret.ts +2 -0
  44. package/src/exports/syntax.ts +25 -5
  45. package/src/interpret.ts +67 -0
  46. package/src/parse.ts +23 -5
  47. package/src/resolve.ts +4 -1
  48. package/src/source-file.ts +25 -0
  49. package/src/syntax/ast/attributes.ts +5 -6
  50. package/src/syntax/ast/declarations.ts +51 -26
  51. package/src/syntax/ast/expressions.ts +12 -13
  52. package/src/syntax/ast/identifier.ts +2 -3
  53. package/src/syntax/ast/qualified-name.ts +28 -19
  54. package/src/syntax/ast/type-annotation.ts +4 -5
  55. package/src/syntax/ast-helpers.ts +27 -3
  56. package/src/syntax/navigation.ts +55 -0
  57. package/src/syntax/red.ts +317 -42
  58. package/dist/declarations-D9h_ihD3.mjs.map +0 -1
  59. package/dist/parse-BjZ1LPe6.d.mts.map +0 -1
  60. package/dist/parse-DhEV6av6.mjs.map +0 -1
package/dist/index.d.mts CHANGED
@@ -1,131 +1,139 @@
1
- import { I as SyntaxNode, K as Range, _ as ModelAttributeAst, a as DocumentAst, d as NamespaceDeclarationAst, g as FieldAttributeAst, i as CompositeTypeDeclarationAst, l as ModelDeclarationAst, m as TypeAnnotationAst, o as FieldDeclarationAst, q as SourceFile, s as GenericBlockDeclarationAst, t as ParseDiagnostic, u as NamedTypeDeclarationAst } from "./parse-BjZ1LPe6.mjs";
2
- import { PslAttribute, PslAttribute as PslAttribute$1, PslAttributeArgument, PslAttributeNamedArgument, PslAttributePositionalArgument, PslAttributeTarget, PslCompositeType, PslDefaultFunctionValue, PslDefaultLiteralValue, PslDefaultValue, PslDiagnostic, PslDiagnostic as PslDiagnostic$1, PslDiagnosticCode, PslDocumentAst, PslExtensionBlock, PslExtensionBlock as PslExtensionBlock$1, PslExtensionBlockAttribute, PslExtensionBlockAttributeArg, PslExtensionBlockParamBare, PslExtensionBlockParamList, PslExtensionBlockParamOption, PslExtensionBlockParamRef, PslExtensionBlockParamScalarValue, PslExtensionBlockParamValue, PslField, PslFieldAttribute, PslModel, PslModelAttribute, PslNamedTypeDeclaration, PslNamespace, PslPosition, PslSpan, PslSpan as PslSpan$1, PslTypeConstructorCall, PslTypesBlock, flatPslModels, namespacePslExtensionBlocks } from "@prisma-next/framework-components/psl-ast";
1
+ import { C as AttributeArgAst, P as AstNode, T as ExpressionAst, b as FieldAttributeAst, et as SourceFile, x as ModelAttributeAst } from "./parse-BazJr7Ye.mjs";
2
+ import { S as readResolvedConstructorCall, _ as keywordPslSpan, a as ModelSymbol, b as readResolvedAttribute, c as ScalarSymbol, d as TopLevelScope, f as TypeAliasSymbol, g as ResolvedTypeConstructorCall, h as ResolvedAttributeArg, i as FieldSymbol, l as SymbolTable, m as ResolvedAttribute, n as BuildSymbolTableOptions, o as NamespaceSymbol, p as buildSymbolTable, r as CompositeTypeSymbol, s as ResolvedNamedTypeBinding, t as BlockSymbol, u as SymbolTableResult, v as nodePslSpan, x as readResolvedAttributes, y as rangeToPslSpan } from "./symbol-table-C-AH04Ug.mjs";
3
+ import { PslAttribute, PslAttribute as PslAttribute$1, PslAttributeArgument, PslAttributeNamedArgument, PslAttributePositionalArgument, PslAttributeTarget, PslCompositeType, PslDefaultFunctionValue, PslDefaultLiteralValue, PslDefaultValue, PslDiagnostic, PslDiagnostic as PslDiagnostic$1, PslDiagnosticCode, PslDiagnosticCode as PslDiagnosticCode$1, PslDocumentAst, PslExtensionBlock, PslExtensionBlockAttribute, PslExtensionBlockAttributeArg, PslExtensionBlockParamBare, PslExtensionBlockParamList, PslExtensionBlockParamOption, PslExtensionBlockParamRef, PslExtensionBlockParamScalarValue, PslExtensionBlockParamValue, PslField, PslFieldAttribute, PslModel, PslModelAttribute, PslNamedTypeDeclaration, PslNamespace, PslPosition, PslSpan, PslSpan as PslSpan$1, PslTypeConstructorCall, PslTypesBlock, flatPslModels, namespacePslExtensionBlocks } from "@prisma-next/framework-components/psl-ast";
4
+ import { Result } from "@prisma-next/utils/result";
3
5
  import { AuthoringPslBlockDescriptor, AuthoringPslBlockDescriptorNamespace } from "@prisma-next/framework-components/authoring";
6
+ import { Simplify, UnionToIntersection } from "@prisma-next/utils/types";
4
7
  import { CodecLookup } from "@prisma-next/framework-components/codec";
5
8
 
6
9
  //#region src/attribute-helpers.d.ts
7
10
  declare function getPositionalArgument(attribute: PslAttribute$1, index?: number): string | undefined;
8
11
  declare function parseQuotedStringLiteral(value: string): string | undefined;
9
12
  //#endregion
10
- //#region src/resolve.d.ts
11
- interface ResolvedAttributeArg {
12
- readonly kind: 'positional' | 'named';
13
- readonly name?: string;
14
- readonly value: string;
15
- readonly span: PslSpan$1;
13
+ //#region src/attribute-spec/types.d.ts
14
+ type AttributeLevel = 'field' | 'model' | 'block';
15
+ interface ArgType<T> {
16
+ readonly kind: string;
17
+ readonly label: string;
18
+ readonly _out?: T;
19
+ parse(arg: ExpressionAst, ctx: InterpretCtx): Result<T, readonly PslDiagnostic$1[]>;
16
20
  }
17
- interface ResolvedAttribute {
18
- readonly name: string;
19
- readonly args: readonly ResolvedAttributeArg[];
20
- readonly span: PslSpan$1;
21
- }
22
- interface ResolvedTypeConstructorCall {
23
- readonly path: readonly string[];
24
- readonly args: readonly ResolvedAttributeArg[];
25
- readonly span: PslSpan$1;
21
+ interface InterpretCtx {
22
+ readonly level: AttributeLevel;
23
+ readonly sourceId: string;
24
+ readonly sourceFile: SourceFile;
25
+ readonly selfModel: ModelSymbol;
26
+ resolveReferencedModel(): ModelSymbol | undefined;
27
+ readonly field?: FieldSymbol;
26
28
  }
27
- declare function readResolvedAttribute(attribute: FieldAttributeAst | ModelAttributeAst, sourceFile: SourceFile): ResolvedAttribute;
28
- declare function readResolvedAttributes(attributes: Iterable<FieldAttributeAst | ModelAttributeAst>, sourceFile: SourceFile): readonly ResolvedAttribute[];
29
- declare function readResolvedConstructorCall(annotation: TypeAnnotationAst | undefined, sourceFile: SourceFile): ResolvedTypeConstructorCall | undefined;
30
- declare function nodePslSpan(node: SyntaxNode, sourceFile: SourceFile): PslSpan$1;
31
- /** Unsupported-top-level-block diagnostics are anchored to the keyword token. */
32
- declare function keywordPslSpan(node: SyntaxNode, keyword: string, sourceFile: SourceFile): PslSpan$1;
33
- declare function rangeToPslSpan(range: Range, sourceFile: SourceFile): PslSpan$1;
34
- //#endregion
35
- //#region src/symbol-table.d.ts
36
- interface SymbolTable {
37
- readonly topLevel: TopLevelScope;
29
+ interface OptionalArgType<T> extends ArgType<T> {
30
+ readonly optional: true;
31
+ readonly hasDefault: boolean;
32
+ readonly defaultValue?: T;
38
33
  }
39
- interface TopLevelScope {
40
- readonly namespaces: Record<string, NamespaceSymbol>;
41
- readonly scalars: Record<string, ScalarSymbol>;
42
- readonly typeAliases: Record<string, TypeAliasSymbol>;
43
- readonly blocks: Record<string, BlockSymbol>;
44
- readonly models: Record<string, ModelSymbol>;
45
- readonly compositeTypes: Record<string, CompositeTypeSymbol>;
34
+ type Param<T> = ArgType<T>;
35
+ interface PositionalParam<T = unknown> {
36
+ readonly key: string;
37
+ readonly type: Param<T>;
46
38
  }
47
- interface NamespaceSymbol {
48
- readonly kind: 'namespace';
39
+ interface AttributeSpec<Out> {
40
+ readonly level: AttributeLevel;
49
41
  readonly name: string;
50
- readonly node: NamespaceDeclarationAst;
51
- readonly span: PslSpan$1;
52
- readonly models: Record<string, ModelSymbol>;
53
- readonly compositeTypes: Record<string, CompositeTypeSymbol>;
54
- readonly blocks: Record<string, BlockSymbol>;
42
+ readonly positional: readonly PositionalParam[];
43
+ readonly named: Readonly<Record<string, Param<unknown>>>;
44
+ readonly refine?: (parsed: Out, ctx: InterpretCtx) => readonly PslDiagnostic$1[];
55
45
  }
56
- interface ModelSymbol {
57
- readonly kind: 'model';
58
- readonly name: string;
59
- readonly node: ModelDeclarationAst;
60
- readonly span: PslSpan$1;
61
- readonly fields: Record<string, FieldSymbol>;
62
- readonly attributes: readonly ResolvedAttribute[];
46
+ type OutOf<P> = P extends ArgType<infer T> ? T : never;
47
+ type NamedOut<N extends Record<string, Param<unknown>>> = Simplify<{ [K in keyof N as N[K] extends OptionalArgType<unknown> ? never : K]: OutOf<N[K]> } & { [K in keyof N as N[K] extends OptionalArgType<unknown> ? K : never]?: OutOf<N[K]> }>;
48
+ type PosEntryObject<E extends PositionalParam> = E['type'] extends OptionalArgType<unknown> ? { [K in E['key']]?: OutOf<E['type']> } : { [K in E['key']]: OutOf<E['type']> };
49
+ type PosOut<Pos extends readonly PositionalParam[]> = Simplify<UnionToIntersection<{ [I in keyof Pos]: PosEntryObject<Pos[I]> }[number]>>;
50
+ type AttributeOut<Pos extends readonly PositionalParam[], Named extends Record<string, Param<unknown>>> = Simplify<PosOut<Pos> & NamedOut<Named>>;
51
+ type InferAttr<S> = S extends AttributeSpec<infer Out> ? Out : never;
52
+ //#endregion
53
+ //#region src/attribute-spec/combinators/bool.d.ts
54
+ declare function bool(): ArgType<boolean>;
55
+ //#endregion
56
+ //#region src/attribute-spec/combinators/diagnostic.d.ts
57
+ declare function leafDiagnostic(ctx: InterpretCtx, node: AstNode, message: string): PslDiagnostic$1;
58
+ //#endregion
59
+ //#region src/attribute-spec/combinators/entity-ref.d.ts
60
+ declare function entityRef(): ArgType<string>;
61
+ //#endregion
62
+ //#region src/attribute-spec/combinators/field-ref.d.ts
63
+ type FieldRefScope = 'self' | 'referenced';
64
+ interface FieldRefArgType extends ArgType<string> {
65
+ readonly scope: FieldRefScope;
63
66
  }
64
- interface CompositeTypeSymbol {
65
- readonly kind: 'compositeType';
66
- readonly name: string;
67
- readonly node: CompositeTypeDeclarationAst;
68
- readonly span: PslSpan$1;
69
- readonly fields: Record<string, FieldSymbol>;
70
- readonly attributes: readonly ResolvedAttribute[];
67
+ declare function fieldRef(scope: FieldRefScope): FieldRefArgType;
68
+ //#endregion
69
+ //#region src/attribute-spec/combinators/func-call.d.ts
70
+ interface FuncCallSig {
71
+ readonly positional?: readonly PositionalParam<unknown>[];
72
+ readonly named?: Readonly<Record<string, Param<unknown>>>;
71
73
  }
72
- interface BlockSymbol {
73
- readonly kind: 'block';
74
- readonly name: string;
75
- readonly keyword: string;
76
- readonly node: GenericBlockDeclarationAst;
74
+ interface TypedFuncCall {
75
+ readonly fn: string;
77
76
  readonly span: PslSpan$1;
78
- /** Resolved once so consumers do not independently classify block parameters. */
79
- readonly block: PslExtensionBlock$1;
80
- }
81
- interface ResolvedNamedTypeBinding {
82
- readonly baseType?: string;
83
- readonly typeConstructor?: ResolvedTypeConstructorCall;
84
- readonly isConstructor: boolean;
85
- readonly attributes: readonly ResolvedAttribute[];
77
+ readonly args: Readonly<Record<string, unknown>>;
86
78
  }
87
- interface ScalarSymbol extends ResolvedNamedTypeBinding {
88
- readonly kind: 'scalar';
89
- readonly name: string;
90
- readonly node: NamedTypeDeclarationAst;
91
- readonly span: PslSpan$1;
79
+ declare function funcCall(name: string, sig: FuncCallSig): ArgType<TypedFuncCall>;
80
+ //#endregion
81
+ //#region src/attribute-spec/combinators/identifier.d.ts
82
+ declare function identifier<const N extends string>(name: N): ArgType<N>;
83
+ //#endregion
84
+ //#region src/attribute-spec/combinators/int.d.ts
85
+ declare function int(opts?: {
86
+ min?: number;
87
+ max?: number;
88
+ }): ArgType<number>;
89
+ //#endregion
90
+ //#region src/attribute-spec/combinators/list.d.ts
91
+ interface ListOptions {
92
+ readonly nonEmpty?: boolean;
93
+ readonly unique?: boolean;
92
94
  }
93
- interface TypeAliasSymbol extends ResolvedNamedTypeBinding {
94
- readonly kind: 'typeAlias';
95
- readonly name: string;
96
- readonly node: NamedTypeDeclarationAst;
97
- readonly span: PslSpan$1;
95
+ declare function list<T>(of: ArgType<T>, opts?: ListOptions): ArgType<T[]>;
96
+ //#endregion
97
+ //#region src/attribute-spec/combinators/num.d.ts
98
+ declare function num(): ArgType<number>;
99
+ declare function num(value: number): ArgType<number>;
100
+ //#endregion
101
+ //#region src/attribute-spec/combinators/one-of.d.ts
102
+ declare function oneOf<Alts extends readonly [ArgType<unknown>, ...ArgType<unknown>[]]>(...alts: Alts): ArgType<OutOf<Alts[number]>>;
103
+ //#endregion
104
+ //#region src/attribute-spec/combinators/record.d.ts
105
+ declare function record<T>(of: ArgType<T>): ArgType<Record<string, T>>;
106
+ //#endregion
107
+ //#region src/attribute-spec/combinators/str.d.ts
108
+ declare function str(): ArgType<string>;
109
+ //#endregion
110
+ //#region src/attribute-spec/field-attribute.d.ts
111
+ interface FieldAttributeConfig<Pos extends readonly PositionalParam[], Named extends Record<string, Param<unknown>>> {
112
+ readonly positional?: Pos;
113
+ readonly named?: Named;
114
+ readonly refine?: (parsed: AttributeOut<Pos, Named>, ctx: InterpretCtx) => readonly PslDiagnostic$1[];
98
115
  }
99
- interface FieldSymbol {
100
- readonly kind: 'field';
116
+ declare function fieldAttribute<const Pos extends readonly PositionalParam[] = readonly [], const Named extends Record<string, Param<unknown>> = Record<never, never>>(name: string, config: FieldAttributeConfig<Pos, Named>): AttributeSpec<AttributeOut<Pos, Named>>;
117
+ //#endregion
118
+ //#region src/attribute-spec/interpret.d.ts
119
+ interface ArgBindingSpec {
101
120
  readonly name: string;
102
- readonly node: FieldDeclarationAst;
103
- readonly span: PslSpan$1;
104
- readonly typeName: string;
105
- readonly typeNamespaceId?: string;
106
- readonly typeContractSpaceId?: string;
107
- readonly optional: boolean;
108
- readonly list: boolean;
109
- readonly typeConstructor?: ResolvedTypeConstructorCall;
110
- readonly attributes: readonly ResolvedAttribute[];
111
- /** Prevents cascading unsupported-type diagnostics after invalid qualification. */
112
- readonly malformedType?: boolean;
121
+ readonly positional: readonly PositionalParam<unknown>[];
122
+ readonly named: Readonly<Record<string, Param<unknown>>>;
113
123
  }
114
- interface BuildSymbolTableOptions {
115
- readonly document: DocumentAst;
116
- readonly sourceFile: SourceFile;
117
- readonly scalarTypes: readonly string[];
118
- readonly pslBlockDescriptors: AuthoringPslBlockDescriptorNamespace;
119
- }
120
- interface SymbolTableResult {
121
- readonly table: SymbolTable;
122
- readonly diagnostics: readonly ParseDiagnostic[];
124
+ declare function interpretArgs(args: Iterable<AttributeArgAst>, spec: ArgBindingSpec, ctx: InterpretCtx, span: PslSpan$1): Result<Record<string, unknown>, readonly PslDiagnostic$1[]>;
125
+ declare function interpretAttribute<Out>(attrNode: FieldAttributeAst | ModelAttributeAst, spec: AttributeSpec<Out>, ctx: InterpretCtx): Result<Out, readonly PslDiagnostic$1[]>;
126
+ //#endregion
127
+ //#region src/attribute-spec/model-attribute.d.ts
128
+ interface ModelAttributeConfig<Pos extends readonly PositionalParam[], Named extends Record<string, Param<unknown>>> {
129
+ readonly positional?: Pos;
130
+ readonly named?: Named;
131
+ readonly refine?: (parsed: AttributeOut<Pos, Named>, ctx: InterpretCtx) => readonly PslDiagnostic$1[];
123
132
  }
124
- /**
125
- * Owns duplicate-declaration detection for all PSL scopes; downstream consumers
126
- * should consume first-wins symbols rather than re-emitting duplicate diagnostics.
127
- */
128
- declare function buildSymbolTable(options: BuildSymbolTableOptions): SymbolTableResult;
133
+ declare function modelAttribute<const Pos extends readonly PositionalParam[] = readonly [], const Named extends Record<string, Param<unknown>> = Record<never, never>>(name: string, config: ModelAttributeConfig<Pos, Named>): AttributeSpec<AttributeOut<Pos, Named>>;
134
+ //#endregion
135
+ //#region src/attribute-spec/optional.d.ts
136
+ declare function optional<T>(type: ArgType<T>, ...rest: [defaultValue: T] | []): OptionalArgType<T>;
129
137
  //#endregion
130
138
  //#region src/extension-block.d.ts
131
139
  declare function findBlockDescriptor(descriptors: AuthoringPslBlockDescriptorNamespace | undefined, keyword: string): AuthoringPslBlockDescriptor | undefined;
@@ -138,5 +146,5 @@ declare function validateExtensionBlockFromSymbol(input: {
138
146
  readonly codecLookup: CodecLookup;
139
147
  }): readonly PslDiagnostic$1[];
140
148
  //#endregion
141
- export { type BlockSymbol, type BuildSymbolTableOptions, type CompositeTypeSymbol, type FieldSymbol, type ModelSymbol, type NamespaceSymbol, type PslAttribute, type PslAttributeArgument, type PslAttributeNamedArgument, type PslAttributePositionalArgument, type PslAttributeTarget, type PslCompositeType, type PslDefaultFunctionValue, type PslDefaultLiteralValue, type PslDefaultValue, type PslDiagnostic, type PslDiagnosticCode, type PslDocumentAst, type PslExtensionBlock, type PslExtensionBlockAttribute, type PslExtensionBlockAttributeArg, type PslExtensionBlockParamBare, type PslExtensionBlockParamList, type PslExtensionBlockParamOption, type PslExtensionBlockParamRef, type PslExtensionBlockParamScalarValue, type PslExtensionBlockParamValue, type PslField, type PslFieldAttribute, type PslModel, type PslModelAttribute, type PslNamedTypeDeclaration, type PslNamespace, type PslPosition, type PslSpan, type PslTypeConstructorCall, type PslTypesBlock, type ResolvedAttribute, type ResolvedAttributeArg, type ResolvedNamedTypeBinding, type ResolvedTypeConstructorCall, type ScalarSymbol, type SymbolTable, type SymbolTableResult, type TopLevelScope, type TypeAliasSymbol, buildSymbolTable, findBlockDescriptor, flatPslModels, getPositionalArgument, keywordPslSpan, namespacePslExtensionBlocks, nodePslSpan, parseQuotedStringLiteral, rangeToPslSpan, readResolvedAttribute, readResolvedAttributes, readResolvedConstructorCall, validateExtensionBlockFromSymbol };
149
+ export { type ArgBindingSpec, type ArgType, type AttributeLevel, type AttributeOut, type AttributeSpec, type BlockSymbol, type BuildSymbolTableOptions, type CompositeTypeSymbol, type FieldRefArgType, type FieldRefScope, type FieldSymbol, type FuncCallSig, type InferAttr, type InterpretCtx, type ListOptions, type ModelSymbol, type NamedOut, type NamespaceSymbol, type OptionalArgType, type OutOf, type Param, type PosOut, type PositionalParam, type PslAttribute, type PslAttributeArgument, type PslAttributeNamedArgument, type PslAttributePositionalArgument, type PslAttributeTarget, type PslCompositeType, type PslDefaultFunctionValue, type PslDefaultLiteralValue, type PslDefaultValue, type PslDiagnostic, type PslDiagnosticCode, type PslDocumentAst, type PslExtensionBlock, type PslExtensionBlockAttribute, type PslExtensionBlockAttributeArg, type PslExtensionBlockParamBare, type PslExtensionBlockParamList, type PslExtensionBlockParamOption, type PslExtensionBlockParamRef, type PslExtensionBlockParamScalarValue, type PslExtensionBlockParamValue, type PslField, type PslFieldAttribute, type PslModel, type PslModelAttribute, type PslNamedTypeDeclaration, type PslNamespace, type PslPosition, type PslSpan, type PslTypeConstructorCall, type PslTypesBlock, type ResolvedAttribute, type ResolvedAttributeArg, type ResolvedNamedTypeBinding, type ResolvedTypeConstructorCall, type ScalarSymbol, type SymbolTable, type SymbolTableResult, type TopLevelScope, type TypeAliasSymbol, type TypedFuncCall, bool, buildSymbolTable, entityRef, fieldAttribute, fieldRef, findBlockDescriptor, flatPslModels, funcCall, getPositionalArgument, identifier, int, interpretArgs, interpretAttribute, keywordPslSpan, leafDiagnostic, list, modelAttribute, namespacePslExtensionBlocks, nodePslSpan, num, oneOf, optional, parseQuotedStringLiteral, rangeToPslSpan, readResolvedAttribute, readResolvedAttributes, readResolvedConstructorCall, record, str, validateExtensionBlockFromSymbol };
142
150
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/attribute-helpers.ts","../src/resolve.ts","../src/symbol-table.ts","../src/extension-block.ts"],"mappings":";;;;;;iBAEgB,qBAAA,CAAsB,SAAA,EAAW,cAAY,EAAE,KAAA;AAAA,iBAK/C,wBAAA,CAAyB,KAAa;;;UCMrC,oBAAA;EAAA,SACN,IAAA;EAAA,SACA,IAAA;EAAA,SACA,KAAA;EAAA,SACA,IAAA,EAAM,SAAO;AAAA;AAAA,UAGP,iBAAA;EAAA,SACN,IAAA;EAAA,SACA,IAAA,WAAe,oBAAA;EAAA,SACf,IAAA,EAAM,SAAO;AAAA;AAAA,UAGP,2BAAA;EAAA,SACN,IAAA;EAAA,SACA,IAAA,WAAe,oBAAA;EAAA,SACf,IAAA,EAAM,SAAO;AAAA;AAAA,iBAGR,qBAAA,CACd,SAAA,EAAW,iBAAA,GAAoB,iBAAA,EAC/B,UAAA,EAAY,UAAA,GACX,iBAAA;AAAA,iBAQa,sBAAA,CACd,UAAA,EAAY,QAAA,CAAS,iBAAA,GAAoB,iBAAA,GACzC,UAAA,EAAY,UAAA,YACF,iBAAA;AAAA,iBAII,2BAAA,CACd,UAAA,EAAY,iBAAA,cACZ,UAAA,EAAY,UAAA,GACX,2BAAA;AAAA,iBAqCa,WAAA,CAAY,IAAA,EAAM,UAAA,EAAY,UAAA,EAAY,UAAA,GAAa,SAAA;;iBAUvD,cAAA,CAAe,IAAA,EAAM,UAAA,EAAY,OAAA,UAAiB,UAAA,EAAY,UAAA,GAAa,SAAA;AAAA,iBAS3E,cAAA,CAAe,KAAA,EAAO,KAAA,EAAO,UAAA,EAAY,UAAA,GAAa,SAAA;;;UC7ErD,WAAA;EAAA,SACN,QAAA,EAAU,aAAa;AAAA;AAAA,UAGjB,aAAA;EAAA,SACN,UAAA,EAAY,MAAA,SAAe,eAAA;EAAA,SAC3B,OAAA,EAAS,MAAA,SAAe,YAAA;EAAA,SACxB,WAAA,EAAa,MAAA,SAAe,eAAA;EAAA,SAC5B,MAAA,EAAQ,MAAA,SAAe,WAAA;EAAA,SACvB,MAAA,EAAQ,MAAA,SAAe,WAAA;EAAA,SACvB,cAAA,EAAgB,MAAA,SAAe,mBAAA;AAAA;AAAA,UAGzB,eAAA;EAAA,SACN,IAAA;EAAA,SACA,IAAA;EAAA,SACA,IAAA,EAAM,uBAAA;EAAA,SACN,IAAA,EAAM,SAAA;EAAA,SACN,MAAA,EAAQ,MAAA,SAAe,WAAA;EAAA,SACvB,cAAA,EAAgB,MAAA,SAAe,mBAAA;EAAA,SAC/B,MAAA,EAAQ,MAAA,SAAe,WAAA;AAAA;AAAA,UAGjB,WAAA;EAAA,SACN,IAAA;EAAA,SACA,IAAA;EAAA,SACA,IAAA,EAAM,mBAAA;EAAA,SACN,IAAA,EAAM,SAAA;EAAA,SACN,MAAA,EAAQ,MAAA,SAAe,WAAA;EAAA,SACvB,UAAA,WAAqB,iBAAA;AAAA;AAAA,UAGf,mBAAA;EAAA,SACN,IAAA;EAAA,SACA,IAAA;EAAA,SACA,IAAA,EAAM,2BAAA;EAAA,SACN,IAAA,EAAM,SAAA;EAAA,SACN,MAAA,EAAQ,MAAA,SAAe,WAAA;EAAA,SACvB,UAAA,WAAqB,iBAAA;AAAA;AAAA,UAGf,WAAA;EAAA,SACN,IAAA;EAAA,SACA,IAAA;EAAA,SACA,OAAA;EAAA,SACA,IAAA,EAAM,0BAAA;EAAA,SACN,IAAA,EAAM,SAAA;EDnDN;EAAA,SCqDA,KAAA,EAAO,mBAAA;AAAA;AAAA,UAGD,wBAAA;EAAA,SACN,QAAA;EAAA,SACA,eAAA,GAAkB,2BAAA;EAAA,SAClB,aAAA;EAAA,SACA,UAAA,WAAqB,iBAAiB;AAAA;AAAA,UAGhC,YAAA,SAAqB,wBAAA;EAAA,SAC3B,IAAA;EAAA,SACA,IAAA;EAAA,SACA,IAAA,EAAM,uBAAA;EAAA,SACN,IAAA,EAAM,SAAA;AAAA;AAAA,UAGA,eAAA,SAAwB,wBAAA;EAAA,SAC9B,IAAA;EAAA,SACA,IAAA;EAAA,SACA,IAAA,EAAM,uBAAA;EAAA,SACN,IAAA,EAAM,SAAA;AAAA;AAAA,UAGA,WAAA;EAAA,SACN,IAAA;EAAA,SACA,IAAA;EAAA,SACA,IAAA,EAAM,mBAAA;EAAA,SACN,IAAA,EAAM,SAAA;EAAA,SACN,QAAA;EAAA,SACA,eAAA;EAAA,SACA,mBAAA;EAAA,SACA,QAAA;EAAA,SACA,IAAA;EAAA,SACA,eAAA,GAAkB,2BAAA;EAAA,SAClB,UAAA,WAAqB,iBAAA;EDrEH;EAAA,SCuElB,aAAA;AAAA;AAAA,UAGM,uBAAA;EAAA,SACN,QAAA,EAAU,WAAA;EAAA,SACV,UAAA,EAAY,UAAA;EAAA,SACZ,WAAA;EAAA,SACA,mBAAA,EAAqB,oCAAA;AAAA;AAAA,UAGf,iBAAA;EAAA,SACN,KAAA,EAAO,WAAA;EAAA,SACP,WAAA,WAAsB,eAAe;AAAA;;;;;iBAOhC,gBAAA,CAAiB,OAAA,EAAS,uBAAA,GAA0B,iBAAiB;;;iBCtHrE,mBAAA,CACd,WAAA,EAAa,oCAAA,cACb,OAAA,WACC,2BAA2B;AAAA,iBAcd,gCAAA,CAAiC,KAAA;EAAA,SACtC,KAAA,EAAO,WAAA;EAAA,SACP,UAAA,EAAY,2BAAA;EAAA,SACZ,WAAA,EAAa,WAAA;EAAA,SACb,UAAA,EAAY,UAAA;EAAA,SACZ,QAAA;EAAA,SACA,WAAA,EAAa,WAAA;AAAA,aACX,eAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/attribute-helpers.ts","../src/attribute-spec/types.ts","../src/attribute-spec/combinators/bool.ts","../src/attribute-spec/combinators/diagnostic.ts","../src/attribute-spec/combinators/entity-ref.ts","../src/attribute-spec/combinators/field-ref.ts","../src/attribute-spec/combinators/func-call.ts","../src/attribute-spec/combinators/identifier.ts","../src/attribute-spec/combinators/int.ts","../src/attribute-spec/combinators/list.ts","../src/attribute-spec/combinators/num.ts","../src/attribute-spec/combinators/one-of.ts","../src/attribute-spec/combinators/record.ts","../src/attribute-spec/combinators/str.ts","../src/attribute-spec/field-attribute.ts","../src/attribute-spec/interpret.ts","../src/attribute-spec/model-attribute.ts","../src/attribute-spec/optional.ts","../src/extension-block.ts"],"mappings":"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"}