@velarscript/compiler 0.10.1
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 +201 -0
- package/README.md +70 -0
- package/dist/analyzer.d.ts +1175 -0
- package/dist/analyzer.d.ts.map +1 -0
- package/dist/analyzer.js +12130 -0
- package/dist/analyzer.js.map +1 -0
- package/dist/application-package-host.d.ts +28 -0
- package/dist/application-package-host.d.ts.map +1 -0
- package/dist/application-package-host.js +2 -0
- package/dist/application-package-host.js.map +1 -0
- package/dist/ast.d.ts +853 -0
- package/dist/ast.d.ts.map +1 -0
- package/dist/ast.js +245 -0
- package/dist/ast.js.map +1 -0
- package/dist/class-runtime.d.ts +6 -0
- package/dist/class-runtime.d.ts.map +1 -0
- package/dist/class-runtime.js +45 -0
- package/dist/class-runtime.js.map +1 -0
- package/dist/collection-lowering-runtime.d.ts +7 -0
- package/dist/collection-lowering-runtime.d.ts.map +1 -0
- package/dist/collection-lowering-runtime.js +952 -0
- package/dist/collection-lowering-runtime.js.map +1 -0
- package/dist/collection-runtime.d.ts +16 -0
- package/dist/collection-runtime.d.ts.map +1 -0
- package/dist/collection-runtime.js +231 -0
- package/dist/collection-runtime.js.map +1 -0
- package/dist/core-vocabulary.d.ts +141 -0
- package/dist/core-vocabulary.d.ts.map +1 -0
- package/dist/core-vocabulary.js +88 -0
- package/dist/core-vocabulary.js.map +1 -0
- package/dist/diagnostic.d.ts +42 -0
- package/dist/diagnostic.d.ts.map +1 -0
- package/dist/diagnostic.js +66 -0
- package/dist/diagnostic.js.map +1 -0
- package/dist/embedded-javascript.d.ts +74 -0
- package/dist/embedded-javascript.d.ts.map +1 -0
- package/dist/embedded-javascript.js +341 -0
- package/dist/embedded-javascript.js.map +1 -0
- package/dist/embedded-module.d.ts +11 -0
- package/dist/embedded-module.d.ts.map +1 -0
- package/dist/embedded-module.js +67 -0
- package/dist/embedded-module.js.map +1 -0
- package/dist/embedded-source.d.ts +19 -0
- package/dist/embedded-source.d.ts.map +1 -0
- package/dist/embedded-source.js +61 -0
- package/dist/embedded-source.js.map +1 -0
- package/dist/emitter.d.ts +188 -0
- package/dist/emitter.d.ts.map +1 -0
- package/dist/emitter.js +3254 -0
- package/dist/emitter.js.map +1 -0
- package/dist/error-runtime.d.ts +17 -0
- package/dist/error-runtime.d.ts.map +1 -0
- package/dist/error-runtime.js +109 -0
- package/dist/error-runtime.js.map +1 -0
- package/dist/extension.d.ts +373 -0
- package/dist/extension.d.ts.map +1 -0
- package/dist/extension.js +25 -0
- package/dist/extension.js.map +1 -0
- package/dist/formatter.d.ts +13 -0
- package/dist/formatter.d.ts.map +1 -0
- package/dist/formatter.js +1440 -0
- package/dist/formatter.js.map +1 -0
- package/dist/framework-host.d.ts +87 -0
- package/dist/framework-host.d.ts.map +1 -0
- package/dist/framework-host.js +2 -0
- package/dist/framework-host.js.map +1 -0
- package/dist/index.d.ts +75 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +932 -0
- package/dist/index.js.map +1 -0
- package/dist/interpolated-string.d.ts +47 -0
- package/dist/interpolated-string.d.ts.map +1 -0
- package/dist/interpolated-string.js +344 -0
- package/dist/interpolated-string.js.map +1 -0
- package/dist/json-runtime.d.ts +2 -0
- package/dist/json-runtime.d.ts.map +1 -0
- package/dist/json-runtime.js +193 -0
- package/dist/json-runtime.js.map +1 -0
- package/dist/language-guidance.d.ts +31 -0
- package/dist/language-guidance.d.ts.map +1 -0
- package/dist/language-guidance.js +187 -0
- package/dist/language-guidance.js.map +1 -0
- package/dist/lexer.d.ts +85 -0
- package/dist/lexer.d.ts.map +1 -0
- package/dist/lexer.js +1004 -0
- package/dist/lexer.js.map +1 -0
- package/dist/limits.d.ts +2 -0
- package/dist/limits.d.ts.map +1 -0
- package/dist/limits.js +2 -0
- package/dist/limits.js.map +1 -0
- package/dist/mechanical-fix.d.ts +26 -0
- package/dist/mechanical-fix.d.ts.map +1 -0
- package/dist/mechanical-fix.js +61 -0
- package/dist/mechanical-fix.js.map +1 -0
- package/dist/narrowing-runtime.d.ts +5 -0
- package/dist/narrowing-runtime.d.ts.map +1 -0
- package/dist/narrowing-runtime.js +27 -0
- package/dist/narrowing-runtime.js.map +1 -0
- package/dist/number-runtime.d.ts +3 -0
- package/dist/number-runtime.d.ts.map +1 -0
- package/dist/number-runtime.js +37 -0
- package/dist/number-runtime.js.map +1 -0
- package/dist/parser.d.ts +245 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +3582 -0
- package/dist/parser.js.map +1 -0
- package/dist/primitive-runtime.d.ts +4 -0
- package/dist/primitive-runtime.d.ts.map +1 -0
- package/dist/primitive-runtime.js +39 -0
- package/dist/primitive-runtime.js.map +1 -0
- package/dist/promise-runtime.d.ts +6 -0
- package/dist/promise-runtime.d.ts.map +1 -0
- package/dist/promise-runtime.js +86 -0
- package/dist/promise-runtime.js.map +1 -0
- package/dist/reactive-bridge-runtime.d.ts +7 -0
- package/dist/reactive-bridge-runtime.d.ts.map +1 -0
- package/dist/reactive-bridge-runtime.js +112 -0
- package/dist/reactive-bridge-runtime.js.map +1 -0
- package/dist/runtime-abi.d.ts +24 -0
- package/dist/runtime-abi.d.ts.map +1 -0
- package/dist/runtime-abi.js +24 -0
- package/dist/runtime-abi.js.map +1 -0
- package/dist/semantic.d.ts +142 -0
- package/dist/semantic.d.ts.map +1 -0
- package/dist/semantic.js +845 -0
- package/dist/semantic.js.map +1 -0
- package/dist/source-names.d.ts +32 -0
- package/dist/source-names.d.ts.map +1 -0
- package/dist/source-names.js +101 -0
- package/dist/source-names.js.map +1 -0
- package/dist/source.d.ts +19 -0
- package/dist/source.d.ts.map +1 -0
- package/dist/source.js +64 -0
- package/dist/source.js.map +1 -0
- package/dist/text-runtime.d.ts +2 -0
- package/dist/text-runtime.d.ts.map +1 -0
- package/dist/text-runtime.js +285 -0
- package/dist/text-runtime.js.map +1 -0
- package/dist/token.d.ts +19 -0
- package/dist/token.d.ts.map +1 -0
- package/dist/token.js +51 -0
- package/dist/token.js.map +1 -0
- package/dist/type-registry-runtime.d.ts +7 -0
- package/dist/type-registry-runtime.d.ts.map +1 -0
- package/dist/type-registry-runtime.js +51 -0
- package/dist/type-registry-runtime.js.map +1 -0
- package/dist/type-validation-runtime.d.ts +17 -0
- package/dist/type-validation-runtime.d.ts.map +1 -0
- package/dist/type-validation-runtime.js +150 -0
- package/dist/type-validation-runtime.js.map +1 -0
- package/dist/types.d.ts +356 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1170 -0
- package/dist/types.js.map +1 -0
- package/dist/utf8-runtime.d.ts +7 -0
- package/dist/utf8-runtime.d.ts.map +1 -0
- package/dist/utf8-runtime.js +43 -0
- package/dist/utf8-runtime.js.map +1 -0
- package/package.json +48 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
import type { TypeReference, TypeSyntax } from "./ast.ts";
|
|
2
|
+
export interface EnumInfo {
|
|
3
|
+
readonly identity: string;
|
|
4
|
+
readonly members: ReadonlySet<string>;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* D55 rule 120: a generic record declaration, in the form every later stage
|
|
8
|
+
* needs it — the identity its instantiations are keyed under, the parameter
|
|
9
|
+
* names and their bounds, and the field table with the `parameter` types still
|
|
10
|
+
* standing in it. This is the shape that crosses a module interface, so a
|
|
11
|
+
* dependent can write `Box<its own record>` without the declaring module ever
|
|
12
|
+
* having anticipated that argument.
|
|
13
|
+
*/
|
|
14
|
+
export interface GenericTypeInfo {
|
|
15
|
+
readonly identity: string;
|
|
16
|
+
readonly name: string;
|
|
17
|
+
readonly parameterNames: readonly string[];
|
|
18
|
+
readonly parameterBounds: readonly (TypeParameterBound | null)[];
|
|
19
|
+
readonly fields: ReadonlyMap<string, ValueType>;
|
|
20
|
+
readonly readonlyFields?: ReadonlySet<string>;
|
|
21
|
+
}
|
|
22
|
+
export type ExtensionTypeDisplay = {
|
|
23
|
+
readonly kind: "named";
|
|
24
|
+
readonly name: string;
|
|
25
|
+
} | {
|
|
26
|
+
readonly kind: "constructor";
|
|
27
|
+
readonly prefix: string;
|
|
28
|
+
readonly name: string;
|
|
29
|
+
} | {
|
|
30
|
+
readonly kind: "properties";
|
|
31
|
+
readonly name: string;
|
|
32
|
+
readonly result: string;
|
|
33
|
+
readonly hiddenOptionalProperties?: ReadonlyMap<string, string>;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* A target-owned type family. Core traverses its nested types and owns stable
|
|
37
|
+
* identity, while the active language extension owns semantic compatibility
|
|
38
|
+
* between roles in the family (for example a framework constructor satisfying
|
|
39
|
+
* a framework contract).
|
|
40
|
+
*/
|
|
41
|
+
export interface ExtensionValueType {
|
|
42
|
+
readonly kind: "extension";
|
|
43
|
+
readonly extensionId: string;
|
|
44
|
+
readonly family: string;
|
|
45
|
+
readonly role: string;
|
|
46
|
+
readonly nominal?: string;
|
|
47
|
+
readonly properties: ReadonlyMap<string, ValueType>;
|
|
48
|
+
readonly requiredProperties: ReadonlySet<string>;
|
|
49
|
+
readonly arguments: readonly ValueType[];
|
|
50
|
+
readonly metadata?: Readonly<Record<string, string>>;
|
|
51
|
+
readonly display: ExtensionTypeDisplay;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* D55 rule 121: a generic record applied to arguments — `Box<string>`. The
|
|
55
|
+
* arguments ride on the application rather than inside the `parameter` kind,
|
|
56
|
+
* which keeps that kind's De Bruijn contract literal; this is D41 item 61's own
|
|
57
|
+
* precedent for bounds, applied to the other piece of discriminating
|
|
58
|
+
* information. The canonical instantiation identity is a pure function of
|
|
59
|
+
* `declaration` and `arguments` (`genericApplicationIdentity`), so every stage
|
|
60
|
+
* that rebuilds an application — the analyzer, a module interface, generic
|
|
61
|
+
* `def` substitution — computes the same string without agreeing on anything
|
|
62
|
+
* else. `fieldsOf` is untouched: the identity keys an already-substituted field
|
|
63
|
+
* table, so no call site of it ever substitutes.
|
|
64
|
+
*/
|
|
65
|
+
export interface GenericApplication {
|
|
66
|
+
/** The declaration's identity once nominals are resolved; its source name before that. */
|
|
67
|
+
readonly declaration: string;
|
|
68
|
+
/** The declaration's display name (`Box`), so substitution can rebuild the display text. */
|
|
69
|
+
readonly name: string;
|
|
70
|
+
readonly arguments: readonly ValueType[];
|
|
71
|
+
}
|
|
72
|
+
export type ValueType = {
|
|
73
|
+
readonly kind: "unknown";
|
|
74
|
+
readonly restricted?: boolean;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* `textConvertible` marks the compiler-owned text-conversion domain (charter
|
|
78
|
+
* section 14). It is not spellable in source: only the built-in `str`
|
|
79
|
+
* declares it, so a bare `str` stays a first-class value while assignability
|
|
80
|
+
* still admits exactly the conversion whitelist at every call site.
|
|
81
|
+
*/
|
|
82
|
+
| {
|
|
83
|
+
readonly kind: "any";
|
|
84
|
+
readonly textConvertible?: true;
|
|
85
|
+
} | {
|
|
86
|
+
readonly kind: "null";
|
|
87
|
+
} | {
|
|
88
|
+
readonly kind: "string";
|
|
89
|
+
} | {
|
|
90
|
+
readonly kind: "number";
|
|
91
|
+
} | {
|
|
92
|
+
readonly kind: "bool";
|
|
93
|
+
} | {
|
|
94
|
+
readonly kind: "optional";
|
|
95
|
+
readonly inner: ValueType;
|
|
96
|
+
} | {
|
|
97
|
+
readonly kind: "list";
|
|
98
|
+
readonly element: ValueType;
|
|
99
|
+
readonly readonlyView?: true;
|
|
100
|
+
} | {
|
|
101
|
+
readonly kind: "set";
|
|
102
|
+
readonly element: ValueType;
|
|
103
|
+
readonly readonlyView?: true;
|
|
104
|
+
} | {
|
|
105
|
+
readonly kind: "map";
|
|
106
|
+
readonly key: ValueType;
|
|
107
|
+
readonly value: ValueType;
|
|
108
|
+
readonly readonlyView?: true;
|
|
109
|
+
} | {
|
|
110
|
+
readonly kind: "record";
|
|
111
|
+
readonly value: ValueType;
|
|
112
|
+
readonly readonlyView?: true;
|
|
113
|
+
} | {
|
|
114
|
+
readonly kind: "promise";
|
|
115
|
+
readonly value: ValueType;
|
|
116
|
+
} | {
|
|
117
|
+
readonly kind: "object";
|
|
118
|
+
readonly fields: ReadonlyMap<string, ValueType>;
|
|
119
|
+
readonly readonlyFields?: ReadonlySet<string>;
|
|
120
|
+
readonly optionalFields?: ReadonlySet<string>;
|
|
121
|
+
readonly readonlyView?: true;
|
|
122
|
+
/**
|
|
123
|
+
* D51 (audit 12): a standard capability handle a target declares
|
|
124
|
+
* structurally rather than as a named type — a socket, an event stream, a
|
|
125
|
+
* terminal. `using` supplies the contract for capability handles (charter
|
|
126
|
+
* section 16), and only a compiler extension can set this flag, so a user
|
|
127
|
+
* record with a `close()` is still never auto-detected as ownable.
|
|
128
|
+
*/
|
|
129
|
+
readonly capabilityHandle?: true;
|
|
130
|
+
} | {
|
|
131
|
+
readonly kind: "parameter";
|
|
132
|
+
readonly name: string;
|
|
133
|
+
readonly index: number;
|
|
134
|
+
} | {
|
|
135
|
+
readonly kind: "named";
|
|
136
|
+
readonly name: string;
|
|
137
|
+
readonly identity?: string;
|
|
138
|
+
readonly readonlyView?: true;
|
|
139
|
+
readonly application?: GenericApplication;
|
|
140
|
+
} | {
|
|
141
|
+
readonly kind: "class";
|
|
142
|
+
readonly name: string;
|
|
143
|
+
readonly identity?: string;
|
|
144
|
+
} | {
|
|
145
|
+
readonly kind: "enum";
|
|
146
|
+
readonly name: string;
|
|
147
|
+
readonly identity: string;
|
|
148
|
+
} | {
|
|
149
|
+
readonly kind: "enumMember";
|
|
150
|
+
readonly name: string;
|
|
151
|
+
readonly identity: string;
|
|
152
|
+
readonly member: string;
|
|
153
|
+
} | {
|
|
154
|
+
readonly kind: "enumObject";
|
|
155
|
+
readonly name: string;
|
|
156
|
+
readonly identity: string;
|
|
157
|
+
readonly members: ReadonlySet<string>;
|
|
158
|
+
} | {
|
|
159
|
+
readonly kind: "typeObject";
|
|
160
|
+
readonly name: string;
|
|
161
|
+
readonly value?: ValueType;
|
|
162
|
+
} | {
|
|
163
|
+
readonly kind: "runtimeType";
|
|
164
|
+
readonly value: ValueType;
|
|
165
|
+
} | {
|
|
166
|
+
readonly kind: "classConstructor";
|
|
167
|
+
readonly name: string;
|
|
168
|
+
readonly identity?: string;
|
|
169
|
+
} | ExtensionValueType | {
|
|
170
|
+
readonly kind: "function";
|
|
171
|
+
readonly typeParameterNames?: readonly string[];
|
|
172
|
+
readonly typeParameterBounds?: readonly (TypeParameterBound | null)[];
|
|
173
|
+
readonly parameters: readonly ValueType[];
|
|
174
|
+
readonly parameterNames?: readonly string[];
|
|
175
|
+
readonly requiredParameters: number;
|
|
176
|
+
readonly rest?: ValueType;
|
|
177
|
+
readonly result: ValueType;
|
|
178
|
+
} | {
|
|
179
|
+
readonly kind: "action";
|
|
180
|
+
readonly typeParameterNames?: readonly string[];
|
|
181
|
+
readonly typeParameterBounds?: readonly (TypeParameterBound | null)[];
|
|
182
|
+
readonly parameters: readonly ValueType[];
|
|
183
|
+
readonly parameterNames?: readonly string[];
|
|
184
|
+
readonly requiredParameters: number;
|
|
185
|
+
readonly rest?: ValueType;
|
|
186
|
+
readonly result: ValueType;
|
|
187
|
+
} | {
|
|
188
|
+
readonly kind: "intrinsic";
|
|
189
|
+
readonly name: string;
|
|
190
|
+
readonly typeParameterNames?: readonly string[];
|
|
191
|
+
readonly typeParameterBounds?: readonly (TypeParameterBound | null)[];
|
|
192
|
+
readonly parameters: readonly ValueType[];
|
|
193
|
+
readonly parameterNames?: readonly string[];
|
|
194
|
+
readonly requiredParameters: number;
|
|
195
|
+
readonly rest?: ValueType;
|
|
196
|
+
readonly result: ValueType;
|
|
197
|
+
} | {
|
|
198
|
+
readonly kind: "union";
|
|
199
|
+
readonly members: readonly ValueType[];
|
|
200
|
+
};
|
|
201
|
+
/** Canonical identities for Core's cross-runtime binary storage types. */
|
|
202
|
+
export declare const VELAR_BYTES_TYPE_IDENTITY = "velar/binary#type:Bytes";
|
|
203
|
+
export declare const VELAR_UINT8_BUFFER_TYPE_IDENTITY = "velar/binary#type:UInt8Buffer";
|
|
204
|
+
export declare const VELAR_UINT16_BUFFER_TYPE_IDENTITY = "velar/binary#type:UInt16Buffer";
|
|
205
|
+
export declare const VELAR_UINT32_BUFFER_TYPE_IDENTITY = "velar/binary#type:UInt32Buffer";
|
|
206
|
+
export declare const VELAR_FLOAT32_BUFFER_TYPE_IDENTITY = "velar/binary#type:Float32Buffer";
|
|
207
|
+
export type BinaryStorageKind = "bytes" | "uint8" | "uint16" | "uint32" | "float32";
|
|
208
|
+
/**
|
|
209
|
+
* Binary storage stays nominal even though its JavaScript representation is a
|
|
210
|
+
* typed array. This keeps Buffer's accidental surface out of source while
|
|
211
|
+
* giving the analyzer and emitter one exact fast-path discriminator.
|
|
212
|
+
*/
|
|
213
|
+
export declare function binaryStorageKind(type: ValueType): BinaryStorageKind | null;
|
|
214
|
+
export declare const unknownType: ValueType;
|
|
215
|
+
export declare const invalidType: ValueType;
|
|
216
|
+
export declare const anyType: ValueType;
|
|
217
|
+
/** The declared parameter domain of the built-in `str`; see `isTextConvertibleType`. */
|
|
218
|
+
export declare const textConvertibleType: ValueType;
|
|
219
|
+
export declare const nullType: ValueType;
|
|
220
|
+
export declare const stringType: ValueType;
|
|
221
|
+
export declare const numberType: ValueType;
|
|
222
|
+
export declare const boolType: ValueType;
|
|
223
|
+
/**
|
|
224
|
+
* D41 item 61: the complete, closed bound vocabulary. A bound is a name the
|
|
225
|
+
* compiler owns; users cannot define one, and there is no syntax for combining
|
|
226
|
+
* two — D51 rule 110: not because the three form a containment chain (they do
|
|
227
|
+
* not: a Web text-shaped value satisfies Text and is refused by Data), but
|
|
228
|
+
* because no real function demands two at once. The grant table below is the
|
|
229
|
+
* whole definition; nothing computes a relation between two bounds.
|
|
230
|
+
*/
|
|
231
|
+
export declare const typeParameterBoundNames: readonly ["Comparable", "Text", "Data"];
|
|
232
|
+
export type TypeParameterBound = (typeof typeParameterBoundNames)[number];
|
|
233
|
+
/** The capabilities a bound unlocks inside the declaring body. */
|
|
234
|
+
export type BoundCapability = "text" | "order" | "data";
|
|
235
|
+
export declare function isTypeParameterBound(name: string): name is TypeParameterBound;
|
|
236
|
+
/** Reads the grant table. An unbounded parameter (`null`) grants nothing. */
|
|
237
|
+
export declare function boundGrants(bound: TypeParameterBound | null | undefined, capability: BoundCapability): boolean;
|
|
238
|
+
/**
|
|
239
|
+
* A callable carrying `actual` bounds may stand where `expected` bounds are
|
|
240
|
+
* declared only when it demands no capability the target does not promise —
|
|
241
|
+
* decided by the same grant table, one capability at a time.
|
|
242
|
+
*/
|
|
243
|
+
export declare function boundAccepts(actual: TypeParameterBound | null, expected: TypeParameterBound | null): boolean;
|
|
244
|
+
export interface TypeEnvironment {
|
|
245
|
+
fieldsOf(identity: string): ReadonlyMap<string, ValueType> | null;
|
|
246
|
+
readonlyFieldsOf?(identity: string): ReadonlySet<string> | null;
|
|
247
|
+
isSubclassOf(actual: string, expected: string): boolean;
|
|
248
|
+
isPrimitiveType(name: string): boolean;
|
|
249
|
+
isPrimitiveSubtype(actual: string, expected: string): boolean;
|
|
250
|
+
isExtensionTypeAssignable?(actual: ExtensionValueType, expected: ExtensionValueType, assign: (actual: ValueType, expected: ValueType) => boolean): boolean | undefined;
|
|
251
|
+
/** Target-owned total text forms used by f-strings and the built-in `str`. */
|
|
252
|
+
extensionTextForm?(type: ValueType): boolean | undefined;
|
|
253
|
+
/** Expands declared type aliases; the text-conversion domain checks the expanded shape. */
|
|
254
|
+
expandTypeAliases?(type: ValueType): ValueType;
|
|
255
|
+
/**
|
|
256
|
+
* D41 item 61 risk 2: the declared bound of a type parameter in scope. The
|
|
257
|
+
* bound deliberately lives outside the `parameter` type kind (whose identity
|
|
258
|
+
* encodes only its De Bruijn index), so the environment answers it from the
|
|
259
|
+
* declaration frame the annotation was resolved in.
|
|
260
|
+
*/
|
|
261
|
+
boundOf?(type: Extract<ValueType, {
|
|
262
|
+
kind: "parameter";
|
|
263
|
+
}>): TypeParameterBound | null;
|
|
264
|
+
/** Decides whether a solved type argument satisfies a declared bound. */
|
|
265
|
+
satisfiesBound?(type: ValueType, bound: TypeParameterBound): boolean;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* The text-conversion whitelist (charter section 14): values whose text form is
|
|
269
|
+
* total and hook-free. This is the single authority behind both the direct
|
|
270
|
+
* `str(value)` / f-string check and the assignability of the `textConvertible`
|
|
271
|
+
* parameter domain, so `str` used as a value cannot admit anything a direct
|
|
272
|
+
* call rejects.
|
|
273
|
+
*/
|
|
274
|
+
export declare function isTextConvertibleType(type: ValueType, environment: TypeEnvironment): boolean;
|
|
275
|
+
export type ExtensionTypeSyntaxResolver = (syntax: TypeSyntax, resolve: (syntax: TypeSyntax) => ValueType) => ValueType | undefined;
|
|
276
|
+
export declare function resolveTypeReference(reference: TypeReference, extension?: ExtensionTypeSyntaxResolver): ValueType;
|
|
277
|
+
export declare function typeFromSyntax(syntax: TypeSyntax, extension?: ExtensionTypeSyntaxResolver): ValueType;
|
|
278
|
+
/**
|
|
279
|
+
* The canonical identity of one instantiation. D55 rule 121 puts the arguments
|
|
280
|
+
* in the identity string rather than adding a field `typeIdentity` would have
|
|
281
|
+
* to learn, so `Box<string>` and `Box<number>` are two identities and
|
|
282
|
+
* `typeIdentity`'s `named` branch is unchanged. Arguments are keyed by their
|
|
283
|
+
* own identities, which is what makes `Box<Id>` and `Box<string>` one type when
|
|
284
|
+
* `Id` is an alias of `string`.
|
|
285
|
+
*/
|
|
286
|
+
export declare function genericApplicationIdentity(declaration: string, arguments_: readonly ValueType[]): string;
|
|
287
|
+
/** The display text of one instantiation — `Box<string>`. */
|
|
288
|
+
export declare function genericApplicationName(name: string, arguments_: readonly ValueType[]): string;
|
|
289
|
+
/** The one constructor for a resolved application, so identity and text never diverge. */
|
|
290
|
+
export declare function genericApplicationType(declaration: string, name: string, arguments_: readonly ValueType[], readonlyView?: boolean): Extract<ValueType, {
|
|
291
|
+
kind: "named";
|
|
292
|
+
}>;
|
|
293
|
+
/**
|
|
294
|
+
* Rebuilds a type with `map` applied to each type it directly contains. The
|
|
295
|
+
* nested positions are exactly the ones `substituteTypeParameters` walks, kept
|
|
296
|
+
* in one place so a traversal added by a caller cannot miss one of them.
|
|
297
|
+
*/
|
|
298
|
+
export declare function mapNestedTypes(type: ValueType, map: (nested: ValueType) => ValueType): ValueType;
|
|
299
|
+
export declare function formatTypeReference(reference: TypeReference): string;
|
|
300
|
+
export declare function formatTypeSyntax(syntax: TypeSyntax): string;
|
|
301
|
+
export declare function isReadonlyView(type: ValueType): boolean;
|
|
302
|
+
export declare function readonlyViewOf(type: ValueType): ValueType;
|
|
303
|
+
export declare function mutableViewOf(type: ValueType): ValueType;
|
|
304
|
+
export declare function optionalOf(type: ValueType): ValueType;
|
|
305
|
+
export declare function nonOptional(type: ValueType): ValueType;
|
|
306
|
+
export declare function unionOf(types: readonly ValueType[]): ValueType;
|
|
307
|
+
export declare function mergeTypes(left: ValueType, right: ValueType): ValueType;
|
|
308
|
+
export declare function resolvedAsyncType(type: ValueType): ValueType;
|
|
309
|
+
export declare function sameType(left: ValueType, right: ValueType): boolean;
|
|
310
|
+
export declare function sameTypeIgnoringCallableParameterNames(left: ValueType, right: ValueType): boolean;
|
|
311
|
+
export declare function isAssignable(actual: ValueType, expected: ValueType, environment: TypeEnvironment, seen?: Set<string>): boolean;
|
|
312
|
+
export declare function semanticTypeIdentity(type: ValueType): string;
|
|
313
|
+
export declare const analysisTypeIdentity: typeof semanticTypeIdentity;
|
|
314
|
+
export declare function isInvalidType(type: ValueType): boolean;
|
|
315
|
+
export declare function describeType(type: ValueType): string;
|
|
316
|
+
type CallableType = Extract<ValueType, {
|
|
317
|
+
readonly kind: "function" | "action" | "intrinsic";
|
|
318
|
+
}>;
|
|
319
|
+
export declare function typeContainsParameter(type: ValueType, matches?: (parameter: Extract<ValueType, {
|
|
320
|
+
kind: "parameter";
|
|
321
|
+
}>) => boolean): boolean;
|
|
322
|
+
export declare function typeContainsRuntimeTypeCheck(type: ValueType): boolean;
|
|
323
|
+
export declare function substituteTypeParameters(type: ValueType, bindings: readonly (ValueType | null)[]): ValueType;
|
|
324
|
+
export declare function bindNamedTypeParameters(type: ValueType, parameters: ReadonlyMap<string, ValueType>): ValueType;
|
|
325
|
+
/**
|
|
326
|
+
* D51 item NEW-D3: `unknown` never *binds* a parameter — merging it would erase
|
|
327
|
+
* every concrete actual at the other positions — but the site must still be
|
|
328
|
+
* remembered. A bounded parameter that only `unknown` ever reached is solved to
|
|
329
|
+
* `unknown`, which satisfies no bound; dropping the site silently let `unknown`
|
|
330
|
+
* through every bound and on into the implicit-conversion the bound forbids.
|
|
331
|
+
* Callers that check bounds pass this sink; the rest may ignore it.
|
|
332
|
+
*/
|
|
333
|
+
export declare function unifyTypeParameters(pattern: ValueType, actual: ValueType, bindings: (ValueType | null)[], fieldsOf?: (identity: string) => ReadonlyMap<string, ValueType> | null, unknownParameters?: Set<number>): void;
|
|
334
|
+
/** A type argument solved for a bounded parameter that the bound rejects. */
|
|
335
|
+
export interface GenericBoundViolation {
|
|
336
|
+
readonly index: number;
|
|
337
|
+
readonly name: string;
|
|
338
|
+
readonly bound: TypeParameterBound;
|
|
339
|
+
readonly solved: ValueType;
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Reports every solved binding its declared bound rejects. `satisfiesBound` is
|
|
343
|
+
* the environment's decision procedure, so the three predicates that answer a
|
|
344
|
+
* bound live in exactly one place (the analyzer).
|
|
345
|
+
*/
|
|
346
|
+
export declare function collectGenericBoundViolations(callable: CallableType, bindings: readonly (ValueType | null)[], satisfiesBound: (type: ValueType, bound: TypeParameterBound) => boolean, unknownParameters?: ReadonlySet<number>): readonly GenericBoundViolation[];
|
|
347
|
+
/**
|
|
348
|
+
* D55 rule 124: the same judgment for a declaration that is not a callable —
|
|
349
|
+
* `type Box<T: Data>` applied to an argument. The callable form above is now a
|
|
350
|
+
* thin caller, so a bound is decided in exactly one place no matter which
|
|
351
|
+
* declaration form carries it.
|
|
352
|
+
*/
|
|
353
|
+
export declare function collectTypeArgumentBoundViolations(names: readonly string[] | undefined, bounds: readonly (TypeParameterBound | null)[] | undefined, bindings: readonly (ValueType | null)[], satisfiesBound: (type: ValueType, bound: TypeParameterBound) => boolean, unknownParameters?: ReadonlySet<number>): readonly GenericBoundViolation[];
|
|
354
|
+
export declare function instantiateGenericCallable(actual: CallableType, expected: CallableType, environment: TypeEnvironment, violations?: GenericBoundViolation[]): CallableType;
|
|
355
|
+
export {};
|
|
356
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|