@prisma-next/psl-parser 0.14.0-dev.6 → 0.14.0-dev.60

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 (57) 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 +95 -112
  6. package/dist/index.d.mts.map +1 -1
  7. package/dist/index.mjs +373 -60
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/interpret.d.mts +29 -0
  10. package/dist/interpret.d.mts.map +1 -0
  11. package/dist/interpret.mjs +9 -0
  12. package/dist/interpret.mjs.map +1 -0
  13. package/dist/{parse-DhEV6av6.mjs → parse-3-vr14ej.mjs} +26 -5
  14. package/dist/parse-3-vr14ej.mjs.map +1 -0
  15. package/dist/{parse-BjZ1LPe6.d.mts → parse-BazJr7Ye.d.mts} +128 -51
  16. package/dist/parse-BazJr7Ye.d.mts.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 +7 -5
  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/identifier.ts +16 -0
  29. package/src/attribute-spec/combinators/int.ts +19 -0
  30. package/src/attribute-spec/combinators/list.ts +43 -0
  31. package/src/attribute-spec/combinators/one-of.ts +29 -0
  32. package/src/attribute-spec/combinators/record.ts +43 -0
  33. package/src/attribute-spec/combinators/str.ts +19 -0
  34. package/src/attribute-spec/field-attribute.ts +27 -0
  35. package/src/attribute-spec/interpret.ts +154 -0
  36. package/src/attribute-spec/model-attribute.ts +27 -0
  37. package/src/attribute-spec/optional.ts +8 -0
  38. package/src/attribute-spec/types.ts +72 -0
  39. package/src/exports/index.ts +30 -0
  40. package/src/exports/interpret.ts +2 -0
  41. package/src/exports/syntax.ts +25 -5
  42. package/src/interpret.ts +40 -0
  43. package/src/parse.ts +23 -5
  44. package/src/resolve.ts +4 -1
  45. package/src/source-file.ts +25 -0
  46. package/src/syntax/ast/attributes.ts +5 -6
  47. package/src/syntax/ast/declarations.ts +51 -26
  48. package/src/syntax/ast/expressions.ts +12 -13
  49. package/src/syntax/ast/identifier.ts +2 -3
  50. package/src/syntax/ast/qualified-name.ts +28 -19
  51. package/src/syntax/ast/type-annotation.ts +4 -5
  52. package/src/syntax/ast-helpers.ts +27 -3
  53. package/src/syntax/navigation.ts +55 -0
  54. package/src/syntax/red.ts +317 -42
  55. package/dist/declarations-D9h_ihD3.mjs.map +0 -1
  56. package/dist/parse-BjZ1LPe6.d.mts.map +0 -1
  57. package/dist/parse-DhEV6av6.mjs.map +0 -1
package/dist/index.d.mts CHANGED
@@ -1,131 +1,114 @@
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 { 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, 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;
26
- }
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;
38
- }
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>;
46
- }
47
- interface NamespaceSymbol {
48
- readonly kind: 'namespace';
49
- 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>;
55
- }
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[];
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;
63
28
  }
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[];
29
+ interface OptionalArgType<T> extends ArgType<T> {
30
+ readonly optional: true;
31
+ readonly hasDefault: boolean;
32
+ readonly defaultValue?: T;
71
33
  }
72
- interface BlockSymbol {
73
- readonly kind: 'block';
74
- readonly name: string;
75
- readonly keyword: string;
76
- readonly node: GenericBlockDeclarationAst;
77
- readonly span: PslSpan$1;
78
- /** Resolved once so consumers do not independently classify block parameters. */
79
- readonly block: PslExtensionBlock$1;
34
+ type Param<T> = ArgType<T>;
35
+ interface PositionalParam<T = unknown> {
36
+ readonly key: string;
37
+ readonly type: Param<T>;
80
38
  }
81
- interface ResolvedNamedTypeBinding {
82
- readonly baseType?: string;
83
- readonly typeConstructor?: ResolvedTypeConstructorCall;
84
- readonly isConstructor: boolean;
85
- readonly attributes: readonly ResolvedAttribute[];
86
- }
87
- interface ScalarSymbol extends ResolvedNamedTypeBinding {
88
- readonly kind: 'scalar';
39
+ interface AttributeSpec<Out> {
40
+ readonly level: AttributeLevel;
89
41
  readonly name: string;
90
- readonly node: NamedTypeDeclarationAst;
91
- readonly span: PslSpan$1;
42
+ readonly positional: readonly PositionalParam[];
43
+ readonly named: Readonly<Record<string, Param<unknown>>>;
44
+ readonly refine?: (parsed: Out, ctx: InterpretCtx) => readonly PslDiagnostic$1[];
92
45
  }
93
- interface TypeAliasSymbol extends ResolvedNamedTypeBinding {
94
- readonly kind: 'typeAlias';
95
- readonly name: string;
96
- readonly node: NamedTypeDeclarationAst;
97
- readonly span: PslSpan$1;
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;
98
66
  }
99
- interface FieldSymbol {
100
- readonly kind: 'field';
101
- 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;
67
+ declare function fieldRef(scope: FieldRefScope): FieldRefArgType;
68
+ //#endregion
69
+ //#region src/attribute-spec/combinators/identifier.d.ts
70
+ declare function identifier<const N extends string>(name: N): ArgType<N>;
71
+ //#endregion
72
+ //#region src/attribute-spec/combinators/int.d.ts
73
+ declare function int(): ArgType<number>;
74
+ //#endregion
75
+ //#region src/attribute-spec/combinators/list.d.ts
76
+ interface ListOptions {
77
+ readonly nonEmpty?: boolean;
78
+ readonly unique?: boolean;
113
79
  }
114
- interface BuildSymbolTableOptions {
115
- readonly document: DocumentAst;
116
- readonly sourceFile: SourceFile;
117
- readonly scalarTypes: readonly string[];
118
- readonly pslBlockDescriptors: AuthoringPslBlockDescriptorNamespace;
80
+ declare function list<T>(of: ArgType<T>, opts?: ListOptions): ArgType<T[]>;
81
+ //#endregion
82
+ //#region src/attribute-spec/combinators/one-of.d.ts
83
+ declare function oneOf<Alts extends readonly [ArgType<unknown>, ...ArgType<unknown>[]]>(...alts: Alts): ArgType<OutOf<Alts[number]>>;
84
+ //#endregion
85
+ //#region src/attribute-spec/combinators/record.d.ts
86
+ declare function record<T>(of: ArgType<T>): ArgType<Record<string, T>>;
87
+ //#endregion
88
+ //#region src/attribute-spec/combinators/str.d.ts
89
+ declare function str(): ArgType<string>;
90
+ //#endregion
91
+ //#region src/attribute-spec/field-attribute.d.ts
92
+ interface FieldAttributeConfig<Pos extends readonly PositionalParam[], Named extends Record<string, Param<unknown>>> {
93
+ readonly positional?: Pos;
94
+ readonly named?: Named;
95
+ readonly refine?: (parsed: AttributeOut<Pos, Named>, ctx: InterpretCtx) => readonly PslDiagnostic$1[];
119
96
  }
120
- interface SymbolTableResult {
121
- readonly table: SymbolTable;
122
- readonly diagnostics: readonly ParseDiagnostic[];
97
+ 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>>;
98
+ //#endregion
99
+ //#region src/attribute-spec/interpret.d.ts
100
+ declare function interpretAttribute<Out>(attrNode: FieldAttributeAst | ModelAttributeAst, spec: AttributeSpec<Out>, ctx: InterpretCtx): Result<Out, readonly PslDiagnostic$1[]>;
101
+ //#endregion
102
+ //#region src/attribute-spec/model-attribute.d.ts
103
+ interface ModelAttributeConfig<Pos extends readonly PositionalParam[], Named extends Record<string, Param<unknown>>> {
104
+ readonly positional?: Pos;
105
+ readonly named?: Named;
106
+ readonly refine?: (parsed: AttributeOut<Pos, Named>, ctx: InterpretCtx) => readonly PslDiagnostic$1[];
123
107
  }
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;
108
+ 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>>;
109
+ //#endregion
110
+ //#region src/attribute-spec/optional.d.ts
111
+ declare function optional<T>(type: ArgType<T>, ...rest: [defaultValue: T] | []): OptionalArgType<T>;
129
112
  //#endregion
130
113
  //#region src/extension-block.d.ts
131
114
  declare function findBlockDescriptor(descriptors: AuthoringPslBlockDescriptorNamespace | undefined, keyword: string): AuthoringPslBlockDescriptor | undefined;
@@ -138,5 +121,5 @@ declare function validateExtensionBlockFromSymbol(input: {
138
121
  readonly codecLookup: CodecLookup;
139
122
  }): readonly PslDiagnostic$1[];
140
123
  //#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 };
124
+ export { type ArgType, type AttributeLevel, type AttributeOut, type AttributeSpec, type BlockSymbol, type BuildSymbolTableOptions, type CompositeTypeSymbol, type FieldRefArgType, type FieldRefScope, type FieldSymbol, 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, bool, buildSymbolTable, entityRef, fieldAttribute, fieldRef, findBlockDescriptor, flatPslModels, getPositionalArgument, identifier, int, interpretAttribute, keywordPslSpan, leafDiagnostic, list, modelAttribute, namespacePslExtensionBlocks, nodePslSpan, oneOf, optional, parseQuotedStringLiteral, rangeToPslSpan, readResolvedAttribute, readResolvedAttributes, readResolvedConstructorCall, record, str, validateExtensionBlockFromSymbol };
142
125
  //# 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":"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"}
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/identifier.ts","../src/attribute-spec/combinators/int.ts","../src/attribute-spec/combinators/list.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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"}