@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
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { VELAR_RUNTIME_REGISTRY_KEY, VELAR_RUNTIME_SCHEMA_VERSION } from "./runtime-abi.js";
|
|
2
|
+
export const VELAR_REACTIVE_BRIDGE_MODULE = "velar/compiler-runtime-reactive-v1";
|
|
3
|
+
/** Compiler-owned late-binding bridge to an optional immutable reactive runtime provider. */
|
|
4
|
+
export const VELAR_REACTIVE_BRIDGE_RUNTIME = String.raw `
|
|
5
|
+
const __velarReactiveBridgeGlobal = globalThis;
|
|
6
|
+
const __velarReactiveBridgeNativeObject = globalThis.Object;
|
|
7
|
+
const __velarReactiveBridgeNativeSymbol = globalThis.Symbol;
|
|
8
|
+
const __velarReactiveBridgeNativeTypeError = globalThis.TypeError;
|
|
9
|
+
const __velarReactiveBridgeGetOwnPropertyDescriptor = __velarReactiveBridgeNativeObject.getOwnPropertyDescriptor;
|
|
10
|
+
const __velarReactiveBridgeGetPrototypeOf = __velarReactiveBridgeGetOwnPropertyDescriptor(__velarReactiveBridgeNativeObject, "getPrototypeOf")?.value;
|
|
11
|
+
const __velarReactiveBridgeIsExtensible = __velarReactiveBridgeGetOwnPropertyDescriptor(__velarReactiveBridgeNativeObject, "isExtensible")?.value;
|
|
12
|
+
const __velarReactiveBridgeOwnSymbols = __velarReactiveBridgeGetOwnPropertyDescriptor(__velarReactiveBridgeNativeObject, "getOwnPropertySymbols")?.value;
|
|
13
|
+
const __velarReactiveBridgeSymbolFor = __velarReactiveBridgeGetOwnPropertyDescriptor(__velarReactiveBridgeNativeSymbol, "for")?.value;
|
|
14
|
+
if (typeof __velarReactiveBridgeGetOwnPropertyDescriptor !== "function" || typeof __velarReactiveBridgeGetPrototypeOf !== "function"
|
|
15
|
+
|| typeof __velarReactiveBridgeIsExtensible !== "function" || typeof __velarReactiveBridgeOwnSymbols !== "function"
|
|
16
|
+
|| typeof __velarReactiveBridgeSymbolFor !== "function") throw new __velarReactiveBridgeNativeTypeError("The JavaScript reactive bridge runtime is unavailable");
|
|
17
|
+
const __velarReactiveRuntimeKey = __velarReactiveBridgeSymbolFor(${JSON.stringify(VELAR_RUNTIME_REGISTRY_KEY)});
|
|
18
|
+
const __velarReactiveIterateKey = __velarReactiveBridgeSymbolFor("velar.reactive.iterate.v1");
|
|
19
|
+
const __velarReactiveStructureKey = __velarReactiveBridgeSymbolFor("velar.reactive.structure.v1");
|
|
20
|
+
let __velarReactiveBridge = null;
|
|
21
|
+
function __velarReactiveBridgeField(runtime, name) {
|
|
22
|
+
const descriptor = __velarReactiveBridgeGetOwnPropertyDescriptor(runtime, name);
|
|
23
|
+
if (!descriptor || !("value" in descriptor) || descriptor.enumerable || descriptor.configurable || descriptor.writable) {
|
|
24
|
+
throw new __velarReactiveBridgeNativeTypeError("VelarScript reactive runtime field '" + name + "' is invalid");
|
|
25
|
+
}
|
|
26
|
+
return descriptor.value;
|
|
27
|
+
}
|
|
28
|
+
function __velarResolveReactiveBridge() {
|
|
29
|
+
if (__velarReactiveBridge) return __velarReactiveBridge;
|
|
30
|
+
const descriptor = __velarReactiveBridgeGetOwnPropertyDescriptor(__velarReactiveBridgeGlobal, __velarReactiveRuntimeKey);
|
|
31
|
+
if (!descriptor) return null;
|
|
32
|
+
if (!("value" in descriptor) || descriptor.enumerable || descriptor.configurable || descriptor.writable) {
|
|
33
|
+
throw new __velarReactiveBridgeNativeTypeError("VelarScript reactive runtime registry ownership is invalid");
|
|
34
|
+
}
|
|
35
|
+
const runtime = descriptor.value;
|
|
36
|
+
if (!runtime || typeof runtime !== "object"
|
|
37
|
+
|| __velarReactiveBridgeGetPrototypeOf(runtime) !== null
|
|
38
|
+
|| __velarReactiveBridgeIsExtensible(runtime)
|
|
39
|
+
|| __velarReactiveBridgeOwnSymbols(runtime).length > 0) {
|
|
40
|
+
throw new __velarReactiveBridgeNativeTypeError("VelarScript reactive runtime ownership is invalid");
|
|
41
|
+
}
|
|
42
|
+
const version = __velarReactiveBridgeField(runtime, "version");
|
|
43
|
+
const toRaw = __velarReactiveBridgeField(runtime, "toRaw");
|
|
44
|
+
if (version !== ${JSON.stringify(VELAR_RUNTIME_SCHEMA_VERSION)} || typeof toRaw !== "function") {
|
|
45
|
+
throw new __velarReactiveBridgeNativeTypeError("VelarScript reactive runtime values are invalid");
|
|
46
|
+
}
|
|
47
|
+
__velarReactiveBridge = { runtime, toRaw };
|
|
48
|
+
return __velarReactiveBridge;
|
|
49
|
+
}
|
|
50
|
+
function __velarReactiveRaw(value) {
|
|
51
|
+
const bridge = __velarResolveReactiveBridge();
|
|
52
|
+
return bridge ? bridge.toRaw(value) : value;
|
|
53
|
+
}
|
|
54
|
+
function __velarHostRaw(value) { return __velarReactiveRaw(value); }
|
|
55
|
+
`.trimStart();
|
|
56
|
+
/** Collection-only extension of the base reactive bridge. */
|
|
57
|
+
export const VELAR_REACTIVE_COLLECTION_BRIDGE_RUNTIME = String.raw `
|
|
58
|
+
let __velarReactiveCollectionBridge = null;
|
|
59
|
+
function __velarResolveReactiveCollectionBridge() {
|
|
60
|
+
if (__velarReactiveCollectionBridge) return __velarReactiveCollectionBridge;
|
|
61
|
+
const bridge = __velarResolveReactiveBridge();
|
|
62
|
+
if (!bridge) return null;
|
|
63
|
+
const collectionRead = __velarReactiveBridgeField(bridge.runtime, "collectionRead");
|
|
64
|
+
const collectionTrigger = __velarReactiveBridgeField(bridge.runtime, "collectionTrigger");
|
|
65
|
+
const collectionUnlink = __velarReactiveBridgeField(bridge.runtime, "collectionUnlink");
|
|
66
|
+
const reactive = __velarReactiveBridgeField(bridge.runtime, "reactive");
|
|
67
|
+
const track = __velarReactiveBridgeField(bridge.runtime, "track");
|
|
68
|
+
if (typeof collectionRead !== "function" || typeof collectionTrigger !== "function"
|
|
69
|
+
|| typeof collectionUnlink !== "function" || typeof reactive !== "function" || typeof track !== "function") {
|
|
70
|
+
throw new __velarReactiveBridgeNativeTypeError("VelarScript reactive collection runtime values are invalid");
|
|
71
|
+
}
|
|
72
|
+
__velarReactiveCollectionBridge = { runtime: bridge.runtime, toRaw: bridge.toRaw, collectionRead, collectionTrigger, collectionUnlink, reactive, track };
|
|
73
|
+
return __velarReactiveCollectionBridge;
|
|
74
|
+
}
|
|
75
|
+
function __velarReactiveCollectionRead(value, key, child) {
|
|
76
|
+
if (child === undefined) child = null;
|
|
77
|
+
const bridge = __velarResolveReactiveCollectionBridge();
|
|
78
|
+
return bridge ? bridge.collectionRead(value, key, child) : child;
|
|
79
|
+
}
|
|
80
|
+
function __velarReactiveCollectionTrack(value, key = __velarReactiveIterateKey) {
|
|
81
|
+
const bridge = __velarResolveReactiveCollectionBridge();
|
|
82
|
+
if (bridge) bridge.track(bridge.toRaw(value), key);
|
|
83
|
+
}
|
|
84
|
+
function __velarReactiveCollectionLink(value, child) {
|
|
85
|
+
const bridge = __velarResolveReactiveCollectionBridge();
|
|
86
|
+
if (bridge) bridge.reactive(child, bridge.toRaw(value));
|
|
87
|
+
}
|
|
88
|
+
function __velarReactiveCollectionTrigger(value, key, iterate = true, structure = false, indexFrom = null, allKeys = false) {
|
|
89
|
+
const bridge = __velarResolveReactiveCollectionBridge();
|
|
90
|
+
if (bridge) bridge.collectionTrigger(value, key, iterate, structure, indexFrom, allKeys);
|
|
91
|
+
}
|
|
92
|
+
function __velarReactiveCollectionUnlink(value, child) {
|
|
93
|
+
const bridge = __velarResolveReactiveCollectionBridge();
|
|
94
|
+
if (bridge) bridge.collectionUnlink(value, child);
|
|
95
|
+
}
|
|
96
|
+
`.trimStart();
|
|
97
|
+
export const VELAR_REACTIVE_BRIDGE_MODULE_SOURCE = String.raw `
|
|
98
|
+
${VELAR_REACTIVE_BRIDGE_RUNTIME}
|
|
99
|
+
${VELAR_REACTIVE_COLLECTION_BRIDGE_RUNTIME}
|
|
100
|
+
export {
|
|
101
|
+
__velarReactiveIterateKey as reactiveIterateKey,
|
|
102
|
+
__velarReactiveStructureKey as reactiveStructureKey,
|
|
103
|
+
__velarReactiveRaw as reactiveRaw,
|
|
104
|
+
__velarHostRaw as hostRaw,
|
|
105
|
+
__velarReactiveCollectionRead as reactiveCollectionRead,
|
|
106
|
+
__velarReactiveCollectionTrack as reactiveCollectionTrack,
|
|
107
|
+
__velarReactiveCollectionLink as reactiveCollectionLink,
|
|
108
|
+
__velarReactiveCollectionTrigger as reactiveCollectionTrigger,
|
|
109
|
+
__velarReactiveCollectionUnlink as reactiveCollectionUnlink,
|
|
110
|
+
};
|
|
111
|
+
`.trimStart();
|
|
112
|
+
//# sourceMappingURL=reactive-bridge-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactive-bridge-runtime.js","sourceRoot":"","sources":["../src/reactive-bridge-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAE5F,MAAM,CAAC,MAAM,4BAA4B,GAAG,oCAAoC,CAAC;AAEjF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;mEAaY,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA2BzF,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC;;;;;;;;;;;CAW/D,CAAC,SAAS,EAAE,CAAC;AAEd,6DAA6D;AAC7D,MAAM,CAAC,MAAM,wCAAwC,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCjE,CAAC,SAAS,EAAE,CAAC;AAEd,MAAM,CAAC,MAAM,mCAAmC,GAAG,MAAM,CAAC,GAAG,CAAA;EAC3D,6BAA6B;EAC7B,wCAAwC;;;;;;;;;;;;CAYzC,CAAC,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global registry identity shared by generated Core helpers and optional
|
|
3
|
+
* runtime-providing extensions. Change this key only when two runtime
|
|
4
|
+
* generations must never share one registry value.
|
|
5
|
+
*/
|
|
6
|
+
export declare const VELAR_RUNTIME_REGISTRY_KEY = "velar.runtime.v1";
|
|
7
|
+
/**
|
|
8
|
+
* Shape and semantic contract implemented by the value stored in the global
|
|
9
|
+
* registry. This version is independent from npm package and language versions.
|
|
10
|
+
*/
|
|
11
|
+
export declare const VELAR_RUNTIME_SCHEMA_VERSION = "0.12";
|
|
12
|
+
/**
|
|
13
|
+
* Global identity for compiler-known runtime Type objects. The registry is
|
|
14
|
+
* separate from the reactive runtime schema because Type identity is shared by
|
|
15
|
+
* Core and every extension, including targets with no Web runtime.
|
|
16
|
+
*/
|
|
17
|
+
export declare const VELAR_TYPE_REGISTRY_KEY = "velar.type.registry.v1";
|
|
18
|
+
/**
|
|
19
|
+
* Global identity for Promise values already normalized at a checked
|
|
20
|
+
* JavaScript boundary. Multiple generated modules must converge on one cache
|
|
21
|
+
* without exposing it as a language-level registry.
|
|
22
|
+
*/
|
|
23
|
+
export declare const VELAR_PROMISE_NORMALIZATION_REGISTRY_KEY = "velar.promise.normalization.v1";
|
|
24
|
+
//# sourceMappingURL=runtime-abi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-abi.d.ts","sourceRoot":"","sources":["../src/runtime-abi.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,4BAA4B,SAAS,CAAC;AAEnD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,wCAAwC,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global registry identity shared by generated Core helpers and optional
|
|
3
|
+
* runtime-providing extensions. Change this key only when two runtime
|
|
4
|
+
* generations must never share one registry value.
|
|
5
|
+
*/
|
|
6
|
+
export const VELAR_RUNTIME_REGISTRY_KEY = "velar.runtime.v1";
|
|
7
|
+
/**
|
|
8
|
+
* Shape and semantic contract implemented by the value stored in the global
|
|
9
|
+
* registry. This version is independent from npm package and language versions.
|
|
10
|
+
*/
|
|
11
|
+
export const VELAR_RUNTIME_SCHEMA_VERSION = "0.12";
|
|
12
|
+
/**
|
|
13
|
+
* Global identity for compiler-known runtime Type objects. The registry is
|
|
14
|
+
* separate from the reactive runtime schema because Type identity is shared by
|
|
15
|
+
* Core and every extension, including targets with no Web runtime.
|
|
16
|
+
*/
|
|
17
|
+
export const VELAR_TYPE_REGISTRY_KEY = "velar.type.registry.v1";
|
|
18
|
+
/**
|
|
19
|
+
* Global identity for Promise values already normalized at a checked
|
|
20
|
+
* JavaScript boundary. Multiple generated modules must converge on one cache
|
|
21
|
+
* without exposing it as a language-level registry.
|
|
22
|
+
*/
|
|
23
|
+
export const VELAR_PROMISE_NORMALIZATION_REGISTRY_KEY = "velar.promise.normalization.v1";
|
|
24
|
+
//# sourceMappingURL=runtime-abi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-abi.js","sourceRoot":"","sources":["../src/runtime-abi.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAAC;AAE7D;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAEnD;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAEhE;;;;GAIG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import type { Expression, FunctionDeclaration, Program, Statement, TypeReference } from "./ast.ts";
|
|
2
|
+
import { type SourceText, type Span } from "./source.ts";
|
|
3
|
+
import { type ValueType } from "./types.ts";
|
|
4
|
+
export type SemanticSymbolKind = "import" | "type" | "enum" | "enum-member" | "class" | "function" | "variable" | "parameter" | "field" | "method" | "catch" | `extension:${"type" | "class" | "function" | "variable" | "parameter"}:${string}`;
|
|
5
|
+
export interface SemanticSymbol {
|
|
6
|
+
readonly id: string;
|
|
7
|
+
readonly name: string;
|
|
8
|
+
readonly kind: SemanticSymbolKind;
|
|
9
|
+
readonly path: string;
|
|
10
|
+
readonly span: Span;
|
|
11
|
+
readonly selectionSpan: Span;
|
|
12
|
+
readonly scopeId: number;
|
|
13
|
+
readonly exported: boolean;
|
|
14
|
+
readonly mutable: boolean;
|
|
15
|
+
readonly private: boolean;
|
|
16
|
+
readonly type: string | null;
|
|
17
|
+
readonly documentation: string | null;
|
|
18
|
+
readonly members: readonly SemanticMember[];
|
|
19
|
+
readonly callable?: true;
|
|
20
|
+
readonly typeTarget?: string;
|
|
21
|
+
readonly container?: string;
|
|
22
|
+
readonly static?: boolean;
|
|
23
|
+
readonly sourceTypeHint?: true;
|
|
24
|
+
readonly presentationKind?: "type" | "class" | "function" | "variable" | "parameter";
|
|
25
|
+
}
|
|
26
|
+
export interface SemanticMember {
|
|
27
|
+
readonly name: string;
|
|
28
|
+
readonly kind: "field" | "method";
|
|
29
|
+
readonly type: string;
|
|
30
|
+
}
|
|
31
|
+
export interface SemanticExpression {
|
|
32
|
+
readonly span: Span;
|
|
33
|
+
readonly type: string;
|
|
34
|
+
readonly members: readonly SemanticMember[];
|
|
35
|
+
readonly callable?: true;
|
|
36
|
+
readonly memberName?: string;
|
|
37
|
+
readonly selectionSpan?: Span;
|
|
38
|
+
readonly ownerType?: string;
|
|
39
|
+
readonly ownerKind?: ValueType["kind"];
|
|
40
|
+
readonly ownerIdentity?: string;
|
|
41
|
+
readonly ownerSymbolKind?: SemanticSymbolKind;
|
|
42
|
+
readonly contextType?: string;
|
|
43
|
+
readonly contextMembers?: readonly SemanticMember[];
|
|
44
|
+
}
|
|
45
|
+
export interface SemanticReference {
|
|
46
|
+
readonly name: string;
|
|
47
|
+
readonly path: string;
|
|
48
|
+
readonly span: Span;
|
|
49
|
+
readonly symbolId: string | null;
|
|
50
|
+
readonly write: boolean;
|
|
51
|
+
/** The reference is the direct callee of a parsed CallExpression. */
|
|
52
|
+
readonly call?: true;
|
|
53
|
+
}
|
|
54
|
+
export interface SemanticMemberReference {
|
|
55
|
+
readonly name: string;
|
|
56
|
+
readonly path: string;
|
|
57
|
+
readonly span: Span;
|
|
58
|
+
readonly ownerType: string;
|
|
59
|
+
readonly ownerKind: ValueType["kind"];
|
|
60
|
+
readonly ownerIdentity?: string;
|
|
61
|
+
readonly ownerSymbolKind?: SemanticSymbolKind;
|
|
62
|
+
readonly syntax: "access" | "object-key" | "binding-key" | "extension-property";
|
|
63
|
+
readonly shorthand: boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface SemanticImport {
|
|
66
|
+
readonly source: string;
|
|
67
|
+
readonly imported: string;
|
|
68
|
+
readonly importedSpan: Span;
|
|
69
|
+
readonly local: string;
|
|
70
|
+
readonly localSpan: Span;
|
|
71
|
+
readonly localSymbolId: string;
|
|
72
|
+
readonly namespace: boolean;
|
|
73
|
+
}
|
|
74
|
+
export interface SemanticModuleReference {
|
|
75
|
+
readonly source: string;
|
|
76
|
+
readonly span: Span;
|
|
77
|
+
readonly dynamic: boolean;
|
|
78
|
+
}
|
|
79
|
+
export interface SemanticScope {
|
|
80
|
+
readonly id: number;
|
|
81
|
+
readonly parentId: number | null;
|
|
82
|
+
readonly span: Span;
|
|
83
|
+
}
|
|
84
|
+
export interface SemanticIndex {
|
|
85
|
+
readonly path: string;
|
|
86
|
+
readonly symbols: readonly SemanticSymbol[];
|
|
87
|
+
readonly references: readonly SemanticReference[];
|
|
88
|
+
readonly memberReferences: readonly SemanticMemberReference[];
|
|
89
|
+
readonly imports: readonly SemanticImport[];
|
|
90
|
+
readonly moduleReferences: readonly SemanticModuleReference[];
|
|
91
|
+
readonly scopes: readonly SemanticScope[];
|
|
92
|
+
readonly expressions: readonly SemanticExpression[];
|
|
93
|
+
}
|
|
94
|
+
export interface SemanticDeclareOptions {
|
|
95
|
+
readonly exported?: boolean;
|
|
96
|
+
readonly mutable?: boolean;
|
|
97
|
+
readonly lexical?: boolean;
|
|
98
|
+
readonly container?: string;
|
|
99
|
+
readonly explicitType?: string;
|
|
100
|
+
readonly typeTarget?: string;
|
|
101
|
+
readonly static?: boolean;
|
|
102
|
+
readonly documentationStart?: number;
|
|
103
|
+
readonly private?: boolean;
|
|
104
|
+
/** The declared runtime type is also a valid source annotation for editor hints. */
|
|
105
|
+
readonly sourceTypeHint?: boolean;
|
|
106
|
+
/** Optional editor presentation when an extension symbol has a richer role than its semantic category. */
|
|
107
|
+
readonly presentationKind?: SemanticSymbol["presentationKind"];
|
|
108
|
+
}
|
|
109
|
+
export interface SemanticFunctionLike {
|
|
110
|
+
readonly name: string;
|
|
111
|
+
readonly parameters: FunctionDeclaration["parameters"];
|
|
112
|
+
readonly returnType: FunctionDeclaration["returnType"];
|
|
113
|
+
readonly body: FunctionDeclaration["body"];
|
|
114
|
+
readonly span: Span;
|
|
115
|
+
}
|
|
116
|
+
export interface SemanticExtensionContext {
|
|
117
|
+
readonly declare: (owner: object, name: string, kind: SemanticSymbolKind, declarationSpan: Span, selectionSpan: Span, options?: SemanticDeclareOptions) => SemanticSymbol;
|
|
118
|
+
readonly hasDeclaration: (owner: object) => boolean;
|
|
119
|
+
readonly nameSpan: (span: Span, name: string, from?: number) => Span;
|
|
120
|
+
readonly typeReferences: (type: TypeReference | null) => void;
|
|
121
|
+
readonly reference: (name: string, span: Span, write?: boolean) => void;
|
|
122
|
+
readonly recordMemberReference: (name: string, span: Span, owner: ValueType, syntax: SemanticMemberReference["syntax"], shorthand?: boolean) => void;
|
|
123
|
+
readonly jsxAttributeOwner: (span: Span, name: string) => ValueType | undefined;
|
|
124
|
+
readonly enterScope: (span: Span) => void;
|
|
125
|
+
readonly exitScope: () => void;
|
|
126
|
+
readonly visitExpression: (expression: Expression) => void;
|
|
127
|
+
readonly visitStatement: (statement: Statement) => void;
|
|
128
|
+
readonly visitBlock: (body: readonly Statement[], fallbackSpan: Span) => void;
|
|
129
|
+
readonly visitFunction: (statement: SemanticFunctionLike) => void;
|
|
130
|
+
}
|
|
131
|
+
export interface CompilerSemanticExtension {
|
|
132
|
+
readonly predeclare?: (statement: Statement, context: SemanticExtensionContext) => boolean;
|
|
133
|
+
readonly visitExpression?: (expression: Expression, context: SemanticExtensionContext) => boolean;
|
|
134
|
+
readonly visitStatement?: (statement: Statement, context: SemanticExtensionContext) => boolean;
|
|
135
|
+
}
|
|
136
|
+
export declare function semanticBindingKey(span: Span, name: string): string;
|
|
137
|
+
export declare function buildSemanticIndex(program: Program, source: SourceText, bindingTypes?: ReadonlyMap<string, ValueType>, bindingMembers?: ReadonlyMap<string, ReadonlyMap<string, ValueType>>, expressionTypes?: ReadonlyMap<string, ValueType>, expressionMembers?: ReadonlyMap<string, ReadonlyMap<string, ValueType>>, expressionOwners?: ReadonlyMap<string, ValueType>, objectPropertyOwners?: ReadonlyMap<string, ValueType>, bindingEntryOwners?: ReadonlyMap<string, ValueType>, jsxAttributeOwners?: ReadonlyMap<string, ValueType>, expressionContexts?: ReadonlyMap<string, ValueType>, expressionContextMembers?: ReadonlyMap<string, ReadonlyMap<string, ValueType>>, semanticExtensions?: readonly CompilerSemanticExtension[]): SemanticIndex;
|
|
138
|
+
export declare function semanticVisibleSymbolsAt(index: SemanticIndex, offset: number): readonly SemanticSymbol[];
|
|
139
|
+
export declare function semanticSymbolAt(index: SemanticIndex, offset: number): SemanticSymbol | null;
|
|
140
|
+
export declare function semanticImportAt(index: SemanticIndex, offset: number): SemanticImport | null;
|
|
141
|
+
export declare function semanticModuleReferenceAt(index: SemanticIndex, offset: number): SemanticModuleReference | null;
|
|
142
|
+
//# sourceMappingURL=semantic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../src/semantic.ts"],"names":[],"mappings":"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"}
|