@varavel/vdl-plugin-sdk 0.0.0
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/LICENSE +21 -0
- package/dist/ir.cjs +420 -0
- package/dist/ir.cjs.map +1 -0
- package/dist/ir.d.cts +213 -0
- package/dist/ir.d.cts.map +1 -0
- package/dist/ir.d.ts +213 -0
- package/dist/ir.d.ts.map +1 -0
- package/dist/ir.js +388 -0
- package/dist/ir.js.map +1 -0
- package/package.json +55 -0
- package/src/ir.ts +978 -0
package/dist/ir.d.cts
ADDED
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
//#region src/ir.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Underlying storage kind used by an enum
|
|
4
|
+
*/
|
|
5
|
+
type EnumValueType = "string" | "int";
|
|
6
|
+
declare const EnumValueTypeList: EnumValueType[];
|
|
7
|
+
declare function isEnumValueType(value: unknown): value is EnumValueType;
|
|
8
|
+
/**
|
|
9
|
+
* Kind discriminator for LiteralValue.
|
|
10
|
+
*
|
|
11
|
+
* LiteralValue is used for fully resolved literal data in:
|
|
12
|
+
*
|
|
13
|
+
* - constant values
|
|
14
|
+
* - annotation arguments
|
|
15
|
+
*/
|
|
16
|
+
type LiteralKind = "string" | "int" | "float" | "bool" | "object" | "array";
|
|
17
|
+
declare const LiteralKindList: LiteralKind[];
|
|
18
|
+
declare function isLiteralKind(value: unknown): value is LiteralKind;
|
|
19
|
+
/**
|
|
20
|
+
* Primitive scalar type names
|
|
21
|
+
*/
|
|
22
|
+
type PrimitiveType = "string" | "int" | "float" | "bool" | "datetime";
|
|
23
|
+
declare const PrimitiveTypeList: PrimitiveType[];
|
|
24
|
+
declare function isPrimitiveType(value: unknown): value is PrimitiveType;
|
|
25
|
+
/**
|
|
26
|
+
* Kind discriminator for TypeRef
|
|
27
|
+
*/
|
|
28
|
+
type TypeKind = "primitive" | "type" | "enum" | "array" | "map" | "object";
|
|
29
|
+
declare const TypeKindList: TypeKind[];
|
|
30
|
+
declare function isTypeKind(value: unknown): value is TypeKind;
|
|
31
|
+
/**
|
|
32
|
+
* Annotation Annotation metadata preserved in IR.
|
|
33
|
+
*
|
|
34
|
+
* `name` is the annotation identifier without the `@` prefix.
|
|
35
|
+
* `argument`, when present, is fully resolved as a LiteralValue.
|
|
36
|
+
*/
|
|
37
|
+
type Annotation = {
|
|
38
|
+
position: Position;
|
|
39
|
+
name: string;
|
|
40
|
+
argument?: LiteralValue;
|
|
41
|
+
};
|
|
42
|
+
declare function hydrateAnnotation(input: Annotation): Annotation;
|
|
43
|
+
declare function validateAnnotation(input: unknown, path?: string): string | null;
|
|
44
|
+
/**
|
|
45
|
+
* ConstantDef Fully resolved constant definition.
|
|
46
|
+
*
|
|
47
|
+
* `typeRef` is explicit or inferred by analysis.
|
|
48
|
+
* `value` contains the fully resolved literal payload.
|
|
49
|
+
*/
|
|
50
|
+
type ConstantDef = {
|
|
51
|
+
position: Position;
|
|
52
|
+
name: string;
|
|
53
|
+
doc?: string;
|
|
54
|
+
annotations: Annotation[];
|
|
55
|
+
typeRef: TypeRef;
|
|
56
|
+
value: LiteralValue;
|
|
57
|
+
};
|
|
58
|
+
declare function hydrateConstantDef(input: ConstantDef): ConstantDef;
|
|
59
|
+
declare function validateConstantDef(input: unknown, path?: string): string | null;
|
|
60
|
+
/**
|
|
61
|
+
* EnumDef Flattened enum definition.
|
|
62
|
+
*
|
|
63
|
+
* All enum spreads are already expanded into `members`.
|
|
64
|
+
*/
|
|
65
|
+
type EnumDef = {
|
|
66
|
+
position: Position;
|
|
67
|
+
name: string;
|
|
68
|
+
doc?: string;
|
|
69
|
+
annotations: Annotation[];
|
|
70
|
+
enumType: EnumValueType;
|
|
71
|
+
members: EnumMember[];
|
|
72
|
+
};
|
|
73
|
+
declare function hydrateEnumDef(input: EnumDef): EnumDef;
|
|
74
|
+
declare function validateEnumDef(input: unknown, path?: string): string | null;
|
|
75
|
+
/**
|
|
76
|
+
* EnumMember Enum member definition
|
|
77
|
+
*/
|
|
78
|
+
type EnumMember = {
|
|
79
|
+
position: Position;
|
|
80
|
+
name: string;
|
|
81
|
+
value: LiteralValue;
|
|
82
|
+
doc?: string;
|
|
83
|
+
annotations: Annotation[];
|
|
84
|
+
};
|
|
85
|
+
declare function hydrateEnumMember(input: EnumMember): EnumMember;
|
|
86
|
+
declare function validateEnumMember(input: unknown, path?: string): string | null;
|
|
87
|
+
/**
|
|
88
|
+
* Field Flattened object/type field definition
|
|
89
|
+
*/
|
|
90
|
+
type Field = {
|
|
91
|
+
position: Position;
|
|
92
|
+
name: string;
|
|
93
|
+
doc?: string;
|
|
94
|
+
optional: boolean;
|
|
95
|
+
annotations: Annotation[];
|
|
96
|
+
typeRef: TypeRef;
|
|
97
|
+
};
|
|
98
|
+
declare function hydrateField(input: Field): Field;
|
|
99
|
+
declare function validateField(input: unknown, path?: string): string | null;
|
|
100
|
+
/**
|
|
101
|
+
* IrSchema IrSchema is the generator-facing representation of a VDL program.
|
|
102
|
+
*
|
|
103
|
+
* This model is intentionally "flat" and "resolved":
|
|
104
|
+
*
|
|
105
|
+
* - spreads are already expanded
|
|
106
|
+
* - references are already resolved
|
|
107
|
+
* - collections are in deterministic order
|
|
108
|
+
*
|
|
109
|
+
* A code generator should be able to consume IrSchema directly, without needing
|
|
110
|
+
* to re-run parser or semantic-analysis logic.
|
|
111
|
+
*/
|
|
112
|
+
type IrSchema = {
|
|
113
|
+
entryPoint: string;
|
|
114
|
+
constants: ConstantDef[];
|
|
115
|
+
enums: EnumDef[];
|
|
116
|
+
types: TypeDef[];
|
|
117
|
+
docs: TopLevelDoc[];
|
|
118
|
+
};
|
|
119
|
+
declare function hydrateIrSchema(input: IrSchema): IrSchema;
|
|
120
|
+
declare function validateIrSchema(input: unknown, path?: string): string | null;
|
|
121
|
+
/**
|
|
122
|
+
* LiteralValue Fully resolved literal value.
|
|
123
|
+
*
|
|
124
|
+
* The selected payload is determined by `kind`:
|
|
125
|
+
*
|
|
126
|
+
* - `string` -> `stringValue`
|
|
127
|
+
* - `int` -> `intValue`
|
|
128
|
+
* - `float` -> `floatValue`
|
|
129
|
+
* - `bool` -> `boolValue`
|
|
130
|
+
* - `object` -> `objectEntries`
|
|
131
|
+
* - `array` -> `arrayItems`
|
|
132
|
+
*/
|
|
133
|
+
type LiteralValue = {
|
|
134
|
+
position: Position;
|
|
135
|
+
kind: LiteralKind;
|
|
136
|
+
stringValue?: string;
|
|
137
|
+
intValue?: number;
|
|
138
|
+
floatValue?: number;
|
|
139
|
+
boolValue?: boolean;
|
|
140
|
+
objectEntries?: ObjectEntry[];
|
|
141
|
+
arrayItems?: LiteralValue[];
|
|
142
|
+
};
|
|
143
|
+
declare function hydrateLiteralValue(input: LiteralValue): LiteralValue;
|
|
144
|
+
declare function validateLiteralValue(input: unknown, path?: string): string | null;
|
|
145
|
+
/**
|
|
146
|
+
* ObjectEntry Key/value pair inside an object LiteralValue payload
|
|
147
|
+
*/
|
|
148
|
+
type ObjectEntry = {
|
|
149
|
+
position: Position;
|
|
150
|
+
key: string;
|
|
151
|
+
value: LiteralValue;
|
|
152
|
+
};
|
|
153
|
+
declare function hydrateObjectEntry(input: ObjectEntry): ObjectEntry;
|
|
154
|
+
declare function validateObjectEntry(input: unknown, path?: string): string | null;
|
|
155
|
+
/**
|
|
156
|
+
* Position It represents a position within a file and is used for error
|
|
157
|
+
* reporting, diagnostics, plugins, and tooling support.
|
|
158
|
+
*/
|
|
159
|
+
type Position = {
|
|
160
|
+
file: string;
|
|
161
|
+
line: number;
|
|
162
|
+
column: number;
|
|
163
|
+
};
|
|
164
|
+
declare function hydratePosition(input: Position): Position;
|
|
165
|
+
declare function validatePosition(_input: unknown, _path?: string): string | null;
|
|
166
|
+
/**
|
|
167
|
+
* TopLevelDoc Standalone documentation block.
|
|
168
|
+
*
|
|
169
|
+
* Used for top-level docstrings that are not attached to a type/enum/constant.
|
|
170
|
+
*/
|
|
171
|
+
type TopLevelDoc = {
|
|
172
|
+
position: Position;
|
|
173
|
+
content: string;
|
|
174
|
+
};
|
|
175
|
+
declare function hydrateTopLevelDoc(input: TopLevelDoc): TopLevelDoc;
|
|
176
|
+
declare function validateTopLevelDoc(input: unknown, path?: string): string | null;
|
|
177
|
+
/**
|
|
178
|
+
* TypeDef Flattened type definition.
|
|
179
|
+
*
|
|
180
|
+
* All spreads are already expanded. The unified `typeRef` describes what this
|
|
181
|
+
* type IS, a primitive, custom reference, map, array, or object with fields.
|
|
182
|
+
*/
|
|
183
|
+
type TypeDef = {
|
|
184
|
+
position: Position;
|
|
185
|
+
name: string;
|
|
186
|
+
doc?: string;
|
|
187
|
+
annotations: Annotation[];
|
|
188
|
+
typeRef: TypeRef;
|
|
189
|
+
};
|
|
190
|
+
declare function hydrateTypeDef(input: TypeDef): TypeDef;
|
|
191
|
+
declare function validateTypeDef(input: unknown, path?: string): string | null;
|
|
192
|
+
/**
|
|
193
|
+
* TypeRef Normalized type reference used by fields and constants.
|
|
194
|
+
*
|
|
195
|
+
* `kind` selects which payload fields are meaningful. Generators should inspect
|
|
196
|
+
* `kind` first, then read the related payload fields.
|
|
197
|
+
*/
|
|
198
|
+
type TypeRef = {
|
|
199
|
+
kind: TypeKind;
|
|
200
|
+
primitiveName?: PrimitiveType;
|
|
201
|
+
typeName?: string;
|
|
202
|
+
enumName?: string;
|
|
203
|
+
enumType?: EnumValueType;
|
|
204
|
+
arrayType?: TypeRef;
|
|
205
|
+
arrayDims?: number;
|
|
206
|
+
mapType?: TypeRef;
|
|
207
|
+
objectFields?: Field[];
|
|
208
|
+
};
|
|
209
|
+
declare function hydrateTypeRef(input: TypeRef): TypeRef;
|
|
210
|
+
declare function validateTypeRef(input: unknown, path?: string): string | null;
|
|
211
|
+
//#endregion
|
|
212
|
+
export { Annotation, ConstantDef, EnumDef, EnumMember, EnumValueType, EnumValueTypeList, Field, IrSchema, LiteralKind, LiteralKindList, LiteralValue, ObjectEntry, Position, PrimitiveType, PrimitiveTypeList, TopLevelDoc, TypeDef, TypeKind, TypeKindList, TypeRef, hydrateAnnotation, hydrateConstantDef, hydrateEnumDef, hydrateEnumMember, hydrateField, hydrateIrSchema, hydrateLiteralValue, hydrateObjectEntry, hydratePosition, hydrateTopLevelDoc, hydrateTypeDef, hydrateTypeRef, isEnumValueType, isLiteralKind, isPrimitiveType, isTypeKind, validateAnnotation, validateConstantDef, validateEnumDef, validateEnumMember, validateField, validateIrSchema, validateLiteralValue, validateObjectEntry, validatePosition, validateTopLevelDoc, validateTypeDef, validateTypeRef };
|
|
213
|
+
//# sourceMappingURL=ir.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ir.d.cts","names":[],"sources":["../src/ir.ts"],"mappings":"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"}
|
package/dist/ir.d.ts
ADDED
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
//#region src/ir.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Underlying storage kind used by an enum
|
|
4
|
+
*/
|
|
5
|
+
type EnumValueType = "string" | "int";
|
|
6
|
+
declare const EnumValueTypeList: EnumValueType[];
|
|
7
|
+
declare function isEnumValueType(value: unknown): value is EnumValueType;
|
|
8
|
+
/**
|
|
9
|
+
* Kind discriminator for LiteralValue.
|
|
10
|
+
*
|
|
11
|
+
* LiteralValue is used for fully resolved literal data in:
|
|
12
|
+
*
|
|
13
|
+
* - constant values
|
|
14
|
+
* - annotation arguments
|
|
15
|
+
*/
|
|
16
|
+
type LiteralKind = "string" | "int" | "float" | "bool" | "object" | "array";
|
|
17
|
+
declare const LiteralKindList: LiteralKind[];
|
|
18
|
+
declare function isLiteralKind(value: unknown): value is LiteralKind;
|
|
19
|
+
/**
|
|
20
|
+
* Primitive scalar type names
|
|
21
|
+
*/
|
|
22
|
+
type PrimitiveType = "string" | "int" | "float" | "bool" | "datetime";
|
|
23
|
+
declare const PrimitiveTypeList: PrimitiveType[];
|
|
24
|
+
declare function isPrimitiveType(value: unknown): value is PrimitiveType;
|
|
25
|
+
/**
|
|
26
|
+
* Kind discriminator for TypeRef
|
|
27
|
+
*/
|
|
28
|
+
type TypeKind = "primitive" | "type" | "enum" | "array" | "map" | "object";
|
|
29
|
+
declare const TypeKindList: TypeKind[];
|
|
30
|
+
declare function isTypeKind(value: unknown): value is TypeKind;
|
|
31
|
+
/**
|
|
32
|
+
* Annotation Annotation metadata preserved in IR.
|
|
33
|
+
*
|
|
34
|
+
* `name` is the annotation identifier without the `@` prefix.
|
|
35
|
+
* `argument`, when present, is fully resolved as a LiteralValue.
|
|
36
|
+
*/
|
|
37
|
+
type Annotation = {
|
|
38
|
+
position: Position;
|
|
39
|
+
name: string;
|
|
40
|
+
argument?: LiteralValue;
|
|
41
|
+
};
|
|
42
|
+
declare function hydrateAnnotation(input: Annotation): Annotation;
|
|
43
|
+
declare function validateAnnotation(input: unknown, path?: string): string | null;
|
|
44
|
+
/**
|
|
45
|
+
* ConstantDef Fully resolved constant definition.
|
|
46
|
+
*
|
|
47
|
+
* `typeRef` is explicit or inferred by analysis.
|
|
48
|
+
* `value` contains the fully resolved literal payload.
|
|
49
|
+
*/
|
|
50
|
+
type ConstantDef = {
|
|
51
|
+
position: Position;
|
|
52
|
+
name: string;
|
|
53
|
+
doc?: string;
|
|
54
|
+
annotations: Annotation[];
|
|
55
|
+
typeRef: TypeRef;
|
|
56
|
+
value: LiteralValue;
|
|
57
|
+
};
|
|
58
|
+
declare function hydrateConstantDef(input: ConstantDef): ConstantDef;
|
|
59
|
+
declare function validateConstantDef(input: unknown, path?: string): string | null;
|
|
60
|
+
/**
|
|
61
|
+
* EnumDef Flattened enum definition.
|
|
62
|
+
*
|
|
63
|
+
* All enum spreads are already expanded into `members`.
|
|
64
|
+
*/
|
|
65
|
+
type EnumDef = {
|
|
66
|
+
position: Position;
|
|
67
|
+
name: string;
|
|
68
|
+
doc?: string;
|
|
69
|
+
annotations: Annotation[];
|
|
70
|
+
enumType: EnumValueType;
|
|
71
|
+
members: EnumMember[];
|
|
72
|
+
};
|
|
73
|
+
declare function hydrateEnumDef(input: EnumDef): EnumDef;
|
|
74
|
+
declare function validateEnumDef(input: unknown, path?: string): string | null;
|
|
75
|
+
/**
|
|
76
|
+
* EnumMember Enum member definition
|
|
77
|
+
*/
|
|
78
|
+
type EnumMember = {
|
|
79
|
+
position: Position;
|
|
80
|
+
name: string;
|
|
81
|
+
value: LiteralValue;
|
|
82
|
+
doc?: string;
|
|
83
|
+
annotations: Annotation[];
|
|
84
|
+
};
|
|
85
|
+
declare function hydrateEnumMember(input: EnumMember): EnumMember;
|
|
86
|
+
declare function validateEnumMember(input: unknown, path?: string): string | null;
|
|
87
|
+
/**
|
|
88
|
+
* Field Flattened object/type field definition
|
|
89
|
+
*/
|
|
90
|
+
type Field = {
|
|
91
|
+
position: Position;
|
|
92
|
+
name: string;
|
|
93
|
+
doc?: string;
|
|
94
|
+
optional: boolean;
|
|
95
|
+
annotations: Annotation[];
|
|
96
|
+
typeRef: TypeRef;
|
|
97
|
+
};
|
|
98
|
+
declare function hydrateField(input: Field): Field;
|
|
99
|
+
declare function validateField(input: unknown, path?: string): string | null;
|
|
100
|
+
/**
|
|
101
|
+
* IrSchema IrSchema is the generator-facing representation of a VDL program.
|
|
102
|
+
*
|
|
103
|
+
* This model is intentionally "flat" and "resolved":
|
|
104
|
+
*
|
|
105
|
+
* - spreads are already expanded
|
|
106
|
+
* - references are already resolved
|
|
107
|
+
* - collections are in deterministic order
|
|
108
|
+
*
|
|
109
|
+
* A code generator should be able to consume IrSchema directly, without needing
|
|
110
|
+
* to re-run parser or semantic-analysis logic.
|
|
111
|
+
*/
|
|
112
|
+
type IrSchema = {
|
|
113
|
+
entryPoint: string;
|
|
114
|
+
constants: ConstantDef[];
|
|
115
|
+
enums: EnumDef[];
|
|
116
|
+
types: TypeDef[];
|
|
117
|
+
docs: TopLevelDoc[];
|
|
118
|
+
};
|
|
119
|
+
declare function hydrateIrSchema(input: IrSchema): IrSchema;
|
|
120
|
+
declare function validateIrSchema(input: unknown, path?: string): string | null;
|
|
121
|
+
/**
|
|
122
|
+
* LiteralValue Fully resolved literal value.
|
|
123
|
+
*
|
|
124
|
+
* The selected payload is determined by `kind`:
|
|
125
|
+
*
|
|
126
|
+
* - `string` -> `stringValue`
|
|
127
|
+
* - `int` -> `intValue`
|
|
128
|
+
* - `float` -> `floatValue`
|
|
129
|
+
* - `bool` -> `boolValue`
|
|
130
|
+
* - `object` -> `objectEntries`
|
|
131
|
+
* - `array` -> `arrayItems`
|
|
132
|
+
*/
|
|
133
|
+
type LiteralValue = {
|
|
134
|
+
position: Position;
|
|
135
|
+
kind: LiteralKind;
|
|
136
|
+
stringValue?: string;
|
|
137
|
+
intValue?: number;
|
|
138
|
+
floatValue?: number;
|
|
139
|
+
boolValue?: boolean;
|
|
140
|
+
objectEntries?: ObjectEntry[];
|
|
141
|
+
arrayItems?: LiteralValue[];
|
|
142
|
+
};
|
|
143
|
+
declare function hydrateLiteralValue(input: LiteralValue): LiteralValue;
|
|
144
|
+
declare function validateLiteralValue(input: unknown, path?: string): string | null;
|
|
145
|
+
/**
|
|
146
|
+
* ObjectEntry Key/value pair inside an object LiteralValue payload
|
|
147
|
+
*/
|
|
148
|
+
type ObjectEntry = {
|
|
149
|
+
position: Position;
|
|
150
|
+
key: string;
|
|
151
|
+
value: LiteralValue;
|
|
152
|
+
};
|
|
153
|
+
declare function hydrateObjectEntry(input: ObjectEntry): ObjectEntry;
|
|
154
|
+
declare function validateObjectEntry(input: unknown, path?: string): string | null;
|
|
155
|
+
/**
|
|
156
|
+
* Position It represents a position within a file and is used for error
|
|
157
|
+
* reporting, diagnostics, plugins, and tooling support.
|
|
158
|
+
*/
|
|
159
|
+
type Position = {
|
|
160
|
+
file: string;
|
|
161
|
+
line: number;
|
|
162
|
+
column: number;
|
|
163
|
+
};
|
|
164
|
+
declare function hydratePosition(input: Position): Position;
|
|
165
|
+
declare function validatePosition(_input: unknown, _path?: string): string | null;
|
|
166
|
+
/**
|
|
167
|
+
* TopLevelDoc Standalone documentation block.
|
|
168
|
+
*
|
|
169
|
+
* Used for top-level docstrings that are not attached to a type/enum/constant.
|
|
170
|
+
*/
|
|
171
|
+
type TopLevelDoc = {
|
|
172
|
+
position: Position;
|
|
173
|
+
content: string;
|
|
174
|
+
};
|
|
175
|
+
declare function hydrateTopLevelDoc(input: TopLevelDoc): TopLevelDoc;
|
|
176
|
+
declare function validateTopLevelDoc(input: unknown, path?: string): string | null;
|
|
177
|
+
/**
|
|
178
|
+
* TypeDef Flattened type definition.
|
|
179
|
+
*
|
|
180
|
+
* All spreads are already expanded. The unified `typeRef` describes what this
|
|
181
|
+
* type IS, a primitive, custom reference, map, array, or object with fields.
|
|
182
|
+
*/
|
|
183
|
+
type TypeDef = {
|
|
184
|
+
position: Position;
|
|
185
|
+
name: string;
|
|
186
|
+
doc?: string;
|
|
187
|
+
annotations: Annotation[];
|
|
188
|
+
typeRef: TypeRef;
|
|
189
|
+
};
|
|
190
|
+
declare function hydrateTypeDef(input: TypeDef): TypeDef;
|
|
191
|
+
declare function validateTypeDef(input: unknown, path?: string): string | null;
|
|
192
|
+
/**
|
|
193
|
+
* TypeRef Normalized type reference used by fields and constants.
|
|
194
|
+
*
|
|
195
|
+
* `kind` selects which payload fields are meaningful. Generators should inspect
|
|
196
|
+
* `kind` first, then read the related payload fields.
|
|
197
|
+
*/
|
|
198
|
+
type TypeRef = {
|
|
199
|
+
kind: TypeKind;
|
|
200
|
+
primitiveName?: PrimitiveType;
|
|
201
|
+
typeName?: string;
|
|
202
|
+
enumName?: string;
|
|
203
|
+
enumType?: EnumValueType;
|
|
204
|
+
arrayType?: TypeRef;
|
|
205
|
+
arrayDims?: number;
|
|
206
|
+
mapType?: TypeRef;
|
|
207
|
+
objectFields?: Field[];
|
|
208
|
+
};
|
|
209
|
+
declare function hydrateTypeRef(input: TypeRef): TypeRef;
|
|
210
|
+
declare function validateTypeRef(input: unknown, path?: string): string | null;
|
|
211
|
+
//#endregion
|
|
212
|
+
export { Annotation, ConstantDef, EnumDef, EnumMember, EnumValueType, EnumValueTypeList, Field, IrSchema, LiteralKind, LiteralKindList, LiteralValue, ObjectEntry, Position, PrimitiveType, PrimitiveTypeList, TopLevelDoc, TypeDef, TypeKind, TypeKindList, TypeRef, hydrateAnnotation, hydrateConstantDef, hydrateEnumDef, hydrateEnumMember, hydrateField, hydrateIrSchema, hydrateLiteralValue, hydrateObjectEntry, hydratePosition, hydrateTopLevelDoc, hydrateTypeDef, hydrateTypeRef, isEnumValueType, isLiteralKind, isPrimitiveType, isTypeKind, validateAnnotation, validateConstantDef, validateEnumDef, validateEnumMember, validateField, validateIrSchema, validateLiteralValue, validateObjectEntry, validatePosition, validateTopLevelDoc, validateTypeDef, validateTypeRef };
|
|
213
|
+
//# sourceMappingURL=ir.d.ts.map
|
package/dist/ir.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ir.d.ts","names":[],"sources":["../src/ir.ts"],"mappings":"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"}
|