@ibyar/expressions 1.1.0 → 1.2.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/api/abstract.js.map +1 -1
- package/api/class/class.js.map +1 -1
- package/api/computing/call.js.map +1 -1
- package/api/computing/new.js.map +1 -1
- package/api/computing/spread.js.map +1 -1
- package/api/computing/throw.js.map +1 -1
- package/api/computing/yield.js.map +1 -1
- package/api/definition/array.js.map +1 -1
- package/api/definition/bind.js.map +1 -1
- package/api/definition/function.js.map +1 -1
- package/api/definition/member.js.map +1 -1
- package/api/definition/object.js.map +1 -1
- package/api/definition/values.js.map +1 -1
- package/api/deserialize/deserialize.js.map +1 -1
- package/api/expression.d.ts +3 -0
- package/api/expression.d.ts.map +1 -1
- package/api/expression.js.map +1 -1
- package/api/module/export.js.map +1 -1
- package/api/module/import.js.map +1 -1
- package/api/operators/assignment.js.map +1 -1
- package/api/operators/binary.js.map +1 -1
- package/api/operators/logical.js.map +1 -1
- package/api/operators/pipeline.js.map +1 -1
- package/api/operators/unary.js.map +1 -1
- package/api/operators/update.js.map +1 -1
- package/api/statement/control/block.js.map +1 -1
- package/api/statement/control/if.js.map +1 -1
- package/api/statement/control/switch.js.map +1 -1
- package/api/statement/control/with.js.map +1 -1
- package/api/statement/declarations/declares.js.map +1 -1
- package/api/statement/iterations/for.js.map +1 -1
- package/api/statement/iterations/while.js.map +1 -1
- package/bin/cli.d.ts +3 -0
- package/bin/cli.d.ts.map +1 -0
- package/bin/cli.js +73 -0
- package/bin/cli.js.map +1 -0
- package/package.json +7 -4
- package/scope/event.js.map +1 -1
- package/scope/finalizer.js.map +1 -1
- package/scope/index.d.ts +1 -0
- package/scope/index.d.ts.map +1 -1
- package/scope/index.js +1 -0
- package/scope/index.js.map +1 -1
- package/scope/pool.js.map +1 -1
- package/scope/proxy.js.map +1 -1
- package/scope/scope.d.ts.map +1 -1
- package/scope/scope.js +4 -3
- package/scope/scope.js.map +1 -1
- package/scope/signal.d.ts +75 -0
- package/scope/signal.d.ts.map +1 -0
- package/scope/signal.js +226 -0
- package/scope/signal.js.map +1 -0
- package/scope/stack.d.ts +1 -1
- package/scope/stack.d.ts.map +1 -1
- package/scope/stack.js.map +1 -1
- package/scope/variable.d.ts +1 -0
- package/scope/variable.d.ts.map +1 -0
- package/scope/variable.js +2 -0
- package/scope/variable.js.map +1 -0
- package/scope/variables.d.ts +66 -0
- package/scope/variables.d.ts.map +1 -0
- package/scope/variables.js +214 -0
- package/scope/variables.js.map +1 -0
- package/v8/enums.d.ts +5 -5
- package/v8/enums.d.ts.map +1 -1
- package/v8/enums.js.map +1 -1
- package/v8/factory.js.map +1 -1
- package/v8/inline.js.map +1 -1
- package/v8/parser.js.map +1 -1
- package/v8/stream.js.map +1 -1
- package/v8/token.js.map +1 -1
- package/visit/visitor.js.map +1 -1
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import { ReactiveScope } from './scope.js';
|
|
2
|
+
function compute(updateFn) {
|
|
3
|
+
try {
|
|
4
|
+
return updateFn();
|
|
5
|
+
}
|
|
6
|
+
catch (error) {
|
|
7
|
+
return error;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export class SignalScope extends ReactiveScope {
|
|
11
|
+
state = [];
|
|
12
|
+
watch = true;
|
|
13
|
+
constructor() {
|
|
14
|
+
super([]);
|
|
15
|
+
}
|
|
16
|
+
createSignal(initValue) {
|
|
17
|
+
const signal = new Signal(this, this.getContext().length, initValue);
|
|
18
|
+
Signal.bindFn(signal);
|
|
19
|
+
return signal;
|
|
20
|
+
}
|
|
21
|
+
createSignalFn(initValue) {
|
|
22
|
+
const signal = new Signal(this, this.getContext().length, initValue);
|
|
23
|
+
return Signal.writable(signal);
|
|
24
|
+
}
|
|
25
|
+
createLazy(updateFn) {
|
|
26
|
+
const lazy = new Lazy(this, this.getContext().length, updateFn);
|
|
27
|
+
Lazy.bindFn(lazy);
|
|
28
|
+
return lazy;
|
|
29
|
+
}
|
|
30
|
+
createLazyFn(updateFn) {
|
|
31
|
+
const lazy = new Lazy(this, this.getContext().length, updateFn);
|
|
32
|
+
return Lazy.lazy(lazy);
|
|
33
|
+
}
|
|
34
|
+
createComputed(updateFn) {
|
|
35
|
+
const index = this.getContext().length;
|
|
36
|
+
this.watchState();
|
|
37
|
+
const value = compute(updateFn);
|
|
38
|
+
const computed = new Computed(this, index, value);
|
|
39
|
+
Computed.bindFn(computed);
|
|
40
|
+
const observeComputed = () => {
|
|
41
|
+
this.watchState();
|
|
42
|
+
const value = compute(updateFn);
|
|
43
|
+
const state = this.readState();
|
|
44
|
+
this.restoreState();
|
|
45
|
+
Object.keys(subscriptions)
|
|
46
|
+
.filter(index => !state.includes(+index))
|
|
47
|
+
.forEach(index => subscriptions[index].pause());
|
|
48
|
+
state.forEach(index => {
|
|
49
|
+
subscriptions[index]?.resume();
|
|
50
|
+
subscriptions[index] ??= this.subscribe(index, observeComputed);
|
|
51
|
+
});
|
|
52
|
+
this.set(index, value);
|
|
53
|
+
};
|
|
54
|
+
const subscriptions = this.observeState(observeComputed);
|
|
55
|
+
this.restoreState();
|
|
56
|
+
return computed;
|
|
57
|
+
}
|
|
58
|
+
createComputedFn(updateFn) {
|
|
59
|
+
const computed = this.createComputed(updateFn);
|
|
60
|
+
return Computed.computed(computed);
|
|
61
|
+
}
|
|
62
|
+
createEffect(effectFn) {
|
|
63
|
+
let cleanupFn;
|
|
64
|
+
let isCleanupRegistered = false;
|
|
65
|
+
const cleanupRegister = onClean => {
|
|
66
|
+
cleanupFn = onClean;
|
|
67
|
+
isCleanupRegistered = true;
|
|
68
|
+
};
|
|
69
|
+
const callback = () => {
|
|
70
|
+
isCleanupRegistered = false;
|
|
71
|
+
const error = compute(() => effectFn(cleanupRegister));
|
|
72
|
+
if (error instanceof Error) {
|
|
73
|
+
console.error(error);
|
|
74
|
+
}
|
|
75
|
+
if (!isCleanupRegistered) {
|
|
76
|
+
cleanupFn = undefined;
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
this.watchState();
|
|
80
|
+
callback();
|
|
81
|
+
const observeComputed = () => {
|
|
82
|
+
cleanupFn?.();
|
|
83
|
+
this.watchState();
|
|
84
|
+
callback();
|
|
85
|
+
const state = this.readState();
|
|
86
|
+
this.restoreState();
|
|
87
|
+
Object.keys(subscriptions)
|
|
88
|
+
.filter(index => !state.includes(+index))
|
|
89
|
+
.forEach(index => subscriptions[index].pause());
|
|
90
|
+
state.forEach(index => {
|
|
91
|
+
subscriptions[index]?.resume();
|
|
92
|
+
subscriptions[index] ??= this.subscribe(index, observeComputed);
|
|
93
|
+
});
|
|
94
|
+
};
|
|
95
|
+
const subscriptions = this.observeState(observeComputed);
|
|
96
|
+
this.restoreState();
|
|
97
|
+
return {
|
|
98
|
+
destroy: () => {
|
|
99
|
+
Object.values(subscriptions).forEach(sub => sub.unsubscribe());
|
|
100
|
+
cleanupFn?.();
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
watchState() {
|
|
105
|
+
this.state.push([]);
|
|
106
|
+
}
|
|
107
|
+
untrack() {
|
|
108
|
+
this.watch = false;
|
|
109
|
+
}
|
|
110
|
+
observeIndex(index) {
|
|
111
|
+
if (this.watch) {
|
|
112
|
+
this.state.at(-1)?.push(index);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
track() {
|
|
116
|
+
this.watch = true;
|
|
117
|
+
}
|
|
118
|
+
readState() {
|
|
119
|
+
return this.state.at(-1) ?? [];
|
|
120
|
+
}
|
|
121
|
+
observeState(updateFn) {
|
|
122
|
+
return Object.fromEntries(this.readState().map(index => [index, this.subscribe(index, updateFn)]));
|
|
123
|
+
}
|
|
124
|
+
restoreState() {
|
|
125
|
+
this.state.pop();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
export class ReactiveNode {
|
|
129
|
+
}
|
|
130
|
+
const SIGNAL = Symbol('Signal');
|
|
131
|
+
export function isReactive(value) {
|
|
132
|
+
return value[SIGNAL] !== undefined;
|
|
133
|
+
}
|
|
134
|
+
export class Computed extends ReactiveNode {
|
|
135
|
+
static bindFn(instance) {
|
|
136
|
+
instance.get = instance.get.bind(instance);
|
|
137
|
+
}
|
|
138
|
+
static computed(instance) {
|
|
139
|
+
const fn = () => instance.get();
|
|
140
|
+
fn[SIGNAL] = instance;
|
|
141
|
+
return fn;
|
|
142
|
+
}
|
|
143
|
+
#index;
|
|
144
|
+
#scope;
|
|
145
|
+
constructor(scope, index, initValue) {
|
|
146
|
+
super();
|
|
147
|
+
this.#scope = scope;
|
|
148
|
+
this.#index = index;
|
|
149
|
+
scope.set(index, initValue);
|
|
150
|
+
}
|
|
151
|
+
get() {
|
|
152
|
+
this.#scope.observeIndex(this.#index);
|
|
153
|
+
return this.#scope.get(this.#index);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
export class Lazy extends ReactiveNode {
|
|
157
|
+
static bindFn(instance) {
|
|
158
|
+
instance.get = instance.get.bind(instance);
|
|
159
|
+
}
|
|
160
|
+
static lazy(instance) {
|
|
161
|
+
const fn = () => instance.get();
|
|
162
|
+
fn[SIGNAL] = instance;
|
|
163
|
+
return fn;
|
|
164
|
+
}
|
|
165
|
+
#index;
|
|
166
|
+
#scope;
|
|
167
|
+
#updateFn;
|
|
168
|
+
constructor(scope, index, updateFn) {
|
|
169
|
+
super();
|
|
170
|
+
this.#scope = scope;
|
|
171
|
+
this.#index = index;
|
|
172
|
+
this.#updateFn = updateFn;
|
|
173
|
+
scope.set(index, compute(updateFn));
|
|
174
|
+
}
|
|
175
|
+
get() {
|
|
176
|
+
const value = compute(this.#updateFn);
|
|
177
|
+
this.#scope.set(this.#index, value);
|
|
178
|
+
this.#scope.observeIndex(this.#index);
|
|
179
|
+
return this.#scope.get(this.#index);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
export class Signal extends ReactiveNode {
|
|
183
|
+
static bindFn(instance) {
|
|
184
|
+
instance.get = instance.get.bind(instance);
|
|
185
|
+
instance.set = instance.set.bind(instance);
|
|
186
|
+
instance.update = instance.update.bind(instance);
|
|
187
|
+
}
|
|
188
|
+
static writable(instance) {
|
|
189
|
+
const fn = () => instance.get();
|
|
190
|
+
fn.set = (value) => instance.set(value);
|
|
191
|
+
fn.update = (updateFn) => instance.update(updateFn);
|
|
192
|
+
fn[SIGNAL] = instance;
|
|
193
|
+
return fn;
|
|
194
|
+
}
|
|
195
|
+
#index;
|
|
196
|
+
#scope;
|
|
197
|
+
constructor(scope, index, initValue) {
|
|
198
|
+
super();
|
|
199
|
+
this.#scope = scope;
|
|
200
|
+
this.#index = index;
|
|
201
|
+
scope.set(index, initValue);
|
|
202
|
+
}
|
|
203
|
+
get() {
|
|
204
|
+
this.#scope.observeIndex(this.#index);
|
|
205
|
+
return this.#scope.get(this.#index);
|
|
206
|
+
}
|
|
207
|
+
set(value) {
|
|
208
|
+
this.#scope.set(this.#index, value);
|
|
209
|
+
}
|
|
210
|
+
update(updateFn) {
|
|
211
|
+
this.set(updateFn(this.get()));
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=variables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/expressions/scope/variables.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReactiveScope } from './scope.js';\n\ntype CleanupFn = () => void;\ntype CleanupRegister = (cleanupFn?: CleanupFn) => void;\n\nfunction compute<T>(updateFn: () => T): T | unknown {\n\ttry {\n\t\treturn updateFn();\n\t} catch (error) {\n\t\treturn error;\n\t}\n}\n\nexport class SignalScope extends ReactiveScope<Array<any>> {\n\n\tprivate state: number[][] = [];\n\tprivate watch = true;\n\n\tconstructor() {\n\t\tsuper([]);\n\t}\n\n\tcreateSignal<T>(initValue: T): Signal<T> {\n\t\tconst signal = new Signal<T>(this, this.getContext().length, initValue);\n\t\tSignal.bindFn(signal);\n\t\treturn signal;\n\t}\n\tcreateSignalFn<T>(initValue: T) {\n\t\tconst signal = new Signal<T>(this, this.getContext().length, initValue);\n\t\treturn Signal.writable(signal);\n\t}\n\n\tcreateLazy<T>(updateFn: () => T): Lazy<T> {\n\t\tconst lazy = new Lazy<T>(this, this.getContext().length, updateFn);\n\t\tLazy.bindFn(lazy);\n\t\treturn lazy;\n\t}\n\n\tcreateLazyFn<T>(updateFn: () => T) {\n\t\tconst lazy = new Lazy<T>(this, this.getContext().length, updateFn);\n\t\treturn Lazy.lazy(lazy);\n\t}\n\n\tcreateComputed<T>(updateFn: () => T): Computed<T> {\n\t\tconst index = this.getContext().length;\n\t\tthis.watchState();\n\t\tconst value = compute(updateFn);\n\t\tconst computed = new Computed<T>(this, index, value as T);\n\t\tComputed.bindFn(computed);\n\t\tconst observeComputed = () => {\n\t\t\tthis.watchState();\n\t\t\tconst value = compute(updateFn);\n\t\t\tconst state = this.readState();\n\t\t\tthis.restoreState();\n\t\t\tObject.keys(subscriptions)\n\t\t\t\t.filter(index => !state.includes(+index))\n\t\t\t\t.forEach(index => subscriptions[index].pause());\n\t\t\tstate.forEach(index => {\n\t\t\t\tsubscriptions[index]?.resume();\n\t\t\t\tsubscriptions[index] ??= this.subscribe(index, observeComputed);\n\t\t\t});\n\t\t\tthis.set(index, value);\n\t\t};\n\t\tconst subscriptions = this.observeState(observeComputed);\n\t\tthis.restoreState();\n\t\treturn computed;\n\t}\n\n\tcreateComputedFn<T>(updateFn: () => T) {\n\t\tconst computed = this.createComputed(updateFn);\n\t\treturn Computed.computed(computed);\n\t}\n\n\tcreateEffect(effectFn: (onCleanup?: CleanupFn) => void): { destroy(): void } {\n\t\tlet cleanupFn: (() => void) | undefined;\n\t\tlet isCleanupRegistered = false;\n\t\tconst cleanupRegister: CleanupRegister = onClean => {\n\t\t\tcleanupFn = onClean;\n\t\t\tisCleanupRegistered = true;\n\t\t};\n\t\tconst callback = () => {\n\t\t\tisCleanupRegistered = false;\n\t\t\tconst error = compute(() => effectFn(cleanupRegister)) as any;\n\t\t\tif (error instanceof Error) {\n\t\t\t\tconsole.error(error);\n\t\t\t}\n\t\t\tif (!isCleanupRegistered) {\n\t\t\t\tcleanupFn = undefined;\n\t\t\t}\n\t\t};\n\t\tthis.watchState();\n\t\tcallback();\n\t\tconst observeComputed = () => {\n\t\t\tcleanupFn?.();\n\t\t\tthis.watchState();\n\t\t\tcallback();\n\t\t\tconst state = this.readState();\n\t\t\tthis.restoreState();\n\t\t\tObject.keys(subscriptions)\n\t\t\t\t.filter(index => !state.includes(+index))\n\t\t\t\t.forEach(index => subscriptions[index].pause());\n\t\t\tstate.forEach(index => {\n\t\t\t\tsubscriptions[index]?.resume();\n\t\t\t\tsubscriptions[index] ??= this.subscribe(index, observeComputed);\n\t\t\t});\n\t\t};\n\t\tconst subscriptions = this.observeState(observeComputed);\n\t\tthis.restoreState();\n\t\treturn {\n\t\t\tdestroy: () => {\n\t\t\t\tObject.values(subscriptions).forEach(sub => sub.unsubscribe());\n\t\t\t\tcleanupFn?.();\n\t\t\t},\n\t\t};\n\t}\n\n\twatchState() {\n\t\tthis.state.push([]);\n\t}\n\n\tuntrack() {\n\t\tthis.watch = false;\n\t}\n\n\tobserveIndex(index: number) {\n\t\tif (this.watch) {\n\t\t\tthis.state.at(-1)?.push(index);\n\t\t}\n\t}\n\n\ttrack() {\n\t\tthis.watch = true;\n\t}\n\n\treadState() {\n\t\treturn this.state.at(-1) ?? [];\n\t}\n\n\tobserveState(updateFn: () => void) {\n\t\treturn Object.fromEntries(this.readState().map(index => [index, this.subscribe(index, updateFn)]));\n\t}\n\n\trestoreState() {\n\t\tthis.state.pop();\n\t}\n\n}\n\nexport abstract class ReactiveNode<T> {\n\tabstract get(): T;\n}\n\nconst SIGNAL = Symbol('Signal');\n\nexport interface Reactive<T> {\n\t[SIGNAL]: ReactiveNode<T>;\n}\n\nexport function isReactive<T = any>(value: unknown): value is Reactive<T> {\n\treturn (value as Partial<Reactive<T>>)[SIGNAL] !== undefined;\n}\n\n\nexport class Computed<T> extends ReactiveNode<T> {\n\n\tstatic bindFn<T>(instance: Computed<T>) {\n\t\tinstance.get = instance.get.bind(instance);\n\t}\n\n\tstatic computed<T>(instance: Computed<T>) {\n\t\tconst fn = () => instance.get();\n\t\t(fn as any)[SIGNAL] = instance;\n\t\treturn fn;\n\t}\n\n\t#index: number;\n\t#scope: SignalScope;\n\n\tconstructor(scope: SignalScope, index: number, initValue: T) {\n\t\tsuper();\n\t\tthis.#scope = scope;\n\t\tthis.#index = index;\n\t\tscope.set(index, initValue);\n\t}\n\n\tget(): T {\n\t\tthis.#scope.observeIndex(this.#index);\n\t\treturn this.#scope.get(this.#index);\n\t}\n\n}\n\nexport class Lazy<T> extends ReactiveNode<T> {\n\n\tstatic bindFn<T>(instance: Lazy<T>) {\n\t\tinstance.get = instance.get.bind(instance);\n\t}\n\n\tstatic lazy<T>(instance: Lazy<T>) {\n\t\tconst fn = () => instance.get();\n\t\t(fn as any)[SIGNAL] = instance;\n\t\treturn fn;\n\t}\n\n\t#index: number;\n\t#scope: SignalScope;\n\t#updateFn: () => T;\n\n\tconstructor(scope: SignalScope, index: number, updateFn: () => T) {\n\t\tsuper();\n\t\tthis.#scope = scope;\n\t\tthis.#index = index;\n\t\tthis.#updateFn = updateFn;\n\t\tscope.set(index, compute(updateFn) as T);\n\t}\n\n\toverride get(): T {\n\t\tconst value = compute(this.#updateFn);\n\t\tthis.#scope.set(this.#index, value);\n\t\tthis.#scope.observeIndex(this.#index);\n\t\treturn this.#scope.get(this.#index);\n\t}\n\n}\n\nexport class Signal<T> extends ReactiveNode<T> {\n\n\tstatic bindFn<T>(instance: Signal<T>) {\n\t\tinstance.get = instance.get.bind(instance);\n\t\tinstance.set = instance.set.bind(instance);\n\t\tinstance.update = instance.update.bind(instance);\n\t}\n\n\tstatic writable<T>(instance: Signal<T>) {\n\t\tconst fn = () => instance.get();\n\t\tfn.set = (value: T) => instance.set(value);\n\t\tfn.update = (updateFn: (value: T) => T) => instance.update(updateFn);\n\t\t(fn as any)[SIGNAL] = instance;\n\t\treturn fn;\n\t}\n\n\t#index: number;\n\t#scope: SignalScope;\n\n\tconstructor(scope: SignalScope, index: number, initValue: T) {\n\t\tsuper();\n\t\tthis.#scope = scope;\n\t\tthis.#index = index;\n\t\tscope.set(index, initValue);\n\t}\n\n\tget(): T {\n\t\tthis.#scope.observeIndex(this.#index);\n\t\treturn this.#scope.get(this.#index);\n\t}\n\n\tset(value: T) {\n\t\tthis.#scope.set(this.#index, value);\n\t}\n\n\tupdate(updateFn: (value: T) => T): void {\n\t\tthis.set(updateFn(this.get()));\n\t}\n\n}\n"]}
|
package/v8/enums.d.ts
CHANGED
|
@@ -160,12 +160,12 @@ export declare enum FunctionNameValidity {
|
|
|
160
160
|
FunctionNameValidityUnknown = "FunctionNameValidityUnknown"
|
|
161
161
|
}
|
|
162
162
|
export declare enum ObjectLiteralPropertyKind {
|
|
163
|
-
CONSTANT = "CONSTANT"
|
|
164
|
-
COMPUTED = "COMPUTED"
|
|
165
|
-
MATERIALIZED_LITERAL = "MATERIALIZED_LITERAL"
|
|
163
|
+
CONSTANT = "CONSTANT",// Property with constant value (compile time).
|
|
164
|
+
COMPUTED = "COMPUTED",// Property with computed value (execution time).
|
|
165
|
+
MATERIALIZED_LITERAL = "MATERIALIZED_LITERAL",// Property value is a materialized literal.
|
|
166
166
|
GETTER = "GETTER",
|
|
167
|
-
SETTER = "SETTER"
|
|
168
|
-
PROTOTYPE = "PROTOTYPE"
|
|
167
|
+
SETTER = "SETTER",// Property is an accessor function.
|
|
168
|
+
PROTOTYPE = "PROTOTYPE",// Property is __proto__.
|
|
169
169
|
SPREAD = "SPREAD"
|
|
170
170
|
}
|
|
171
171
|
export declare class ObjectLiteralProperty {
|
package/v8/enums.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/expressions/v8/enums.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/expressions/v8/enums.ts"],"names":[],"mappings":"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"}
|
package/v8/enums.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/expressions/v8/enums.ts"],"names":[],"mappings":"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","sourcesContent":["import { AccessorProperty, MethodDefinition, PropertyDefinition, StaticBlock } from '../api/class/class.js';\nimport { ExpressionNode } from '../api/expression.js';\nimport { VariableDeclarator } from '../api/statement/declarations/declares.js';\nimport { PositionMark } from './inline.js';\nimport { Token } from './token.js';\n\nexport function isInRange(num: number, start: number, end: number) {\n\treturn num >= start && num <= end;\n}\n\nexport enum ParsingArrowHeadFlag { CertainlyNotArrowHead, MaybeArrowHead, AsyncArrowFunction }\nexport enum PropertyKind {\n\tValue, Shorthand, ShorthandOrClassField,\n\tAssign, Method, ClassField, AccessorGetter, AccessorSetter,\n\tSpread, NotSet\n}\nexport function isAccessor(kind: PropertyKind) {\n\treturn kind === PropertyKind.AccessorGetter || kind === PropertyKind.AccessorSetter;\n}\n\nexport enum PropertyPosition {\n\tObjectLiteral,\n\tClassLiteral\n}\n\nexport class PropertyKindInfo {\n\tname: string;\n\tposition = PropertyPosition.ClassLiteral;\n\tfuncFlag = ParseFunctionFlag.IsNormal;\n\tkind = PropertyKind.NotSet;\n\tisComputedName = false;\n\tisPrivate = false;\n\tisStatic = false;\n\tisRest = false;\n\n\trangeStart: PositionMark;\n\n\tparsePropertyKindFromToken(token: Token): boolean {\n\t\t// This returns true, setting the property kind, iff the given token is\n\t\t// one which must occur after a property name, indicating that the\n\t\t// previous token was in fact a name and not a modifier (like the \"get\" in\n\t\t// \"get x\").\n\t\tswitch (token) {\n\t\t\tcase Token.COLON:\n\t\t\t\tthis.kind = PropertyKind.Value;\n\t\t\t\treturn true;\n\t\t\tcase Token.COMMA:\n\t\t\t\tthis.kind = PropertyKind.Shorthand;\n\t\t\t\treturn true;\n\t\t\tcase Token.RBRACE:\n\t\t\t\tthis.kind = PropertyKind.ShorthandOrClassField;\n\t\t\t\treturn true;\n\t\t\tcase Token.ASSIGN:\n\t\t\t\tthis.kind = PropertyKind.Assign;\n\t\t\t\treturn true;\n\t\t\tcase Token.LPAREN:\n\t\t\t\tthis.kind = PropertyKind.Method;\n\t\t\t\treturn true;\n\t\t\tcase Token.MUL:\n\t\t\tcase Token.SEMICOLON:\n\t\t\t\tthis.kind = PropertyKind.ClassField;\n\t\t\t\treturn true;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t\treturn false;\n\t}\n\n}\n\nexport type FunctionInfo = { rest?: boolean };\n\nexport enum PreParserIdentifierType {\n\tNullIdentifier,\n\tUnknownIdentifier,\n\tEvalIdentifier,\n\tArgumentsIdentifier,\n\tConstructorIdentifier,\n\tAwaitIdentifier,\n\tAsyncIdentifier,\n\tNameIdentifier,\n\tPrivateNameIdentifier\n}\n\nexport enum FunctionBodyType {\n\tEXPRESSION,\n\tBLOCK,\n}\n\nexport enum ParseFunctionFlag {\n\tIsNormal = 0,\n\tIsGenerator = 1 << 0,\n\tIsAsync = 1 << 1\n}\n\nexport enum FunctionKind {\n\n\t// BEGIN constructable functions\n\tNormalFunction,\n\tModule,\n\tAsyncModule,\n\t// BEGIN class constructors\n\t// BEGIN base constructors\n\tBaseConstructor,\n\t// BEGIN default constructors\n\tDefaultBaseConstructor,\n\t// END base constructors\n\t// BEGIN derived constructors\n\tDefaultDerivedConstructor,\n\t// END default constructors\n\tDerivedConstructor,\n\t// END derived constructors\n\t// END class constructors\n\t// END constructable functions.\n\t// BEGIN accessors\n\tGetterFunction,\n\tStaticGetterFunction,\n\tSetterFunction,\n\tStaticSetterFunction,\n\t// END accessors\n\t// BEGIN arrow functions\n\tArrowFunction,\n\t// BEGIN async functions\n\tAsyncArrowFunction,\n\t// END arrow functions\n\tAsyncFunction,\n\t// BEGIN concise methods 1\n\tAsyncConciseMethod,\n\tStaticAsyncConciseMethod,\n\t// BEGIN generators\n\tAsyncConciseGeneratorMethod,\n\tStaticAsyncConciseGeneratorMethod,\n\t// END concise methods 1\n\tAsyncGeneratorFunction,\n\t// END async functions\n\tGeneratorFunction,\n\t// BEGIN concise methods 2\n\tConciseGeneratorMethod,\n\tStaticConciseGeneratorMethod,\n\t// END generators\n\tConciseMethod,\n\tStaticConciseMethod,\n\tClassMembersInitializerFunction,\n\tClassStaticInitializerFunction,\n\t// END concise methods 2\n\tInvalid,\n\n\tLastFunctionKind = ClassStaticInitializerFunction,\n}\n\nconst FUNCTIONS_TYPES: FunctionKind[][][] = [\n\t[\n\t\t// SubFunctionKind::kNormalFunction\n\t\t[// is_generator=false\n\t\t\tFunctionKind.NormalFunction,\n\t\t\tFunctionKind.AsyncFunction\n\t\t],\n\t\t[// is_generator=true\n\t\t\tFunctionKind.GeneratorFunction,\n\t\t\tFunctionKind.AsyncGeneratorFunction\n\t\t],\n\t],\n\t[\n\t\t// SubFunctionKind::kNonStaticMethod\n\t\t[// is_generator=false\n\t\t\tFunctionKind.ConciseMethod,\n\t\t\tFunctionKind.AsyncConciseMethod\n\t\t],\n\t\t[// is_generator=true\n\t\t\tFunctionKind.ConciseGeneratorMethod,\n\t\t\tFunctionKind.AsyncConciseGeneratorMethod\n\t\t],\n\t],\n\t[\n\t\t// SubFunctionKind::kStaticMethod\n\t\t[// is_generator=false\n\t\t\tFunctionKind.StaticConciseMethod,\n\t\t\tFunctionKind.StaticAsyncConciseMethod\n\t\t],\n\t\t[// is_generator=true\n\t\t\tFunctionKind.StaticConciseGeneratorMethod,\n\t\t\tFunctionKind.StaticAsyncConciseGeneratorMethod\n\t\t],\n\t]\n];\n\nexport enum SubFunctionKind {\n\tNormalFunction,\n\tNonStaticMethod,\n\tStaticMethod,\n}\n\nexport enum StaticFlag {\n\tNotStatic,\n\tStatic\n};\n\n\nexport function functionKindForImpl(subFunctionKind: SubFunctionKind, flags: ParseFunctionFlag): FunctionKind {\n\treturn FUNCTIONS_TYPES[subFunctionKind]\n\t[(flags & ParseFunctionFlag.IsGenerator) != 0 ? 1 : 0]\n\t[(flags & ParseFunctionFlag.IsAsync) != 0 ? 1 : 0];\n}\n\nexport function functionKindFor(isGenerator: boolean, isAsync: boolean): FunctionKind {\n\treturn FUNCTIONS_TYPES[SubFunctionKind.NormalFunction][isGenerator ? 1 : 0][isAsync ? 1 : 0];\n}\n\nexport function methodKindFor(isStatic: boolean, isGenerator: boolean, isAsync: boolean): FunctionKind {\n\treturn FUNCTIONS_TYPES[isStatic ? SubFunctionKind.StaticMethod : SubFunctionKind.NonStaticMethod][isGenerator ? 1 : 0][isAsync ? 1 : 0];\n}\n\nexport enum FunctionSyntaxKind {\n\tAnonymousExpression,\n\tNamedExpression,\n\tDeclaration,\n\tAccessorOrMethod,\n\tWrapped,\n\n\tLastFunctionSyntaxKind = Wrapped,\n};\n\n\n\nexport function isArrowFunction(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.ArrowFunction, FunctionKind.AsyncArrowFunction);\n}\n\nexport function isModule(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.Module, FunctionKind.AsyncModule);\n}\n\nexport function isAsyncModule(kind: FunctionKind) {\n\treturn kind == FunctionKind.AsyncModule;\n}\n\nexport function isAsyncGeneratorFunction(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.AsyncConciseGeneratorMethod, FunctionKind.AsyncGeneratorFunction);\n}\n\nexport function isGeneratorFunction(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.AsyncConciseGeneratorMethod, FunctionKind.StaticConciseGeneratorMethod);\n}\n\nexport function isAsyncFunction(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.AsyncArrowFunction, FunctionKind.AsyncGeneratorFunction);\n}\n\nexport function isResumableFunction(kind: FunctionKind) {\n\treturn isGeneratorFunction(kind) || isAsyncFunction(kind) || isModule(kind);\n}\n\nexport function isConciseMethod(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.AsyncConciseMethod, FunctionKind.StaticAsyncConciseGeneratorMethod)\n\t\t|| isInRange(kind, FunctionKind.ConciseGeneratorMethod, FunctionKind.ClassStaticInitializerFunction);\n}\n\nexport function isStrictFunctionWithoutPrototype(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.GetterFunction, FunctionKind.AsyncArrowFunction)\n\t\t|| isInRange(kind, FunctionKind.AsyncConciseMethod, FunctionKind.StaticAsyncConciseGeneratorMethod)\n\t\t|| isInRange(kind, FunctionKind.ConciseGeneratorMethod, FunctionKind.ClassStaticInitializerFunction);\n}\n\nexport function isGetterFunction(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.GetterFunction, FunctionKind.StaticGetterFunction);\n}\n\nexport function isSetterFunction(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.SetterFunction, FunctionKind.StaticSetterFunction);\n}\n\nexport function isAccessorFunction(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.GetterFunction, FunctionKind.StaticSetterFunction);\n}\n\nexport function isDefaultConstructor(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.DefaultBaseConstructor, FunctionKind.DefaultDerivedConstructor);\n}\n\nexport function isBaseConstructor(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.BaseConstructor, FunctionKind.DefaultBaseConstructor);\n}\n\nexport function isDerivedConstructor(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.DefaultDerivedConstructor, FunctionKind.DerivedConstructor);\n}\n\nexport function isClassConstructor(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.BaseConstructor, FunctionKind.DerivedConstructor);\n}\n\nexport function isClassMembersInitializerFunction(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.ClassMembersInitializerFunction, FunctionKind.ClassStaticInitializerFunction);\n}\n\nexport function isConstructable(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.NormalFunction, FunctionKind.DerivedConstructor);\n}\n\nexport function isStatic(kind: FunctionKind) {\n\tswitch (kind) {\n\t\tcase FunctionKind.StaticGetterFunction:\n\t\tcase FunctionKind.StaticSetterFunction:\n\t\tcase FunctionKind.StaticConciseMethod:\n\t\tcase FunctionKind.StaticConciseGeneratorMethod:\n\t\tcase FunctionKind.StaticAsyncConciseMethod:\n\t\tcase FunctionKind.StaticAsyncConciseGeneratorMethod:\n\t\tcase FunctionKind.ClassStaticInitializerFunction:\n\t\t\treturn true;\n\t\tdefault:\n\t\t\treturn false;\n\t}\n}\n\nexport function bindsSuper(kind: FunctionKind) {\n\treturn isConciseMethod(kind) || isAccessorFunction(kind) || isClassConstructor(kind);\n}\n\nexport function isAwaitAsIdentifierDisallowed(kind: FunctionKind) {\n\t// 'await' is always disallowed as an identifier in module contexts. Callers\n\t// should short-circuit the module case instead of calling this.\n\treturn !isModule(kind) && (isAsyncFunction(kind) || kind == FunctionKind.ClassStaticInitializerFunction);\n}\n\nexport function functionKind2String(kind: FunctionKind): string {\n\treturn FunctionKind[kind];\n}\n\nexport type ClassInfo = {\n\textends?: ExpressionNode;\n\tpublicMembers: (MethodDefinition | PropertyDefinition)[],\n\tprivateMembers: (MethodDefinition | PropertyDefinition)[],\n\tstaticElements: (MethodDefinition | PropertyDefinition | AccessorProperty | StaticBlock)[],\n\tinstanceFields: (MethodDefinition | PropertyDefinition | AccessorProperty)[],\n\tconstructor: MethodDefinition | undefined,\n\n\thasSeenConstructor: boolean;\n\thasStaticComputedNames: boolean;\n\thasStaticElements: boolean;\n\thasStaticPrivateMethods: boolean;\n\thasStaticBlocks: boolean;\n\thasInstanceMembers: boolean;\n\trequiresBrand: boolean;\n\tisAnonymous: boolean;\n\thasPrivateMethods: boolean,\n\n\tcomputedFieldCount: number;\n\n\thomeObjectVariable?: VariableDeclarator;\n\tstaticHomeObjectVariable?: VariableDeclarator;\n};\n\nexport function createClassInfo(): ClassInfo {\n\treturn {\n\t\tpublicMembers: [],\n\t\tprivateMembers: [],\n\t\tstaticElements: [],\n\t\tinstanceFields: [],\n\t\t'constructor': undefined,\n\n\t\thasSeenConstructor: false,\n\t\thasStaticComputedNames: false,\n\t\thasStaticElements: false,\n\t\thasStaticPrivateMethods: false,\n\t\thasStaticBlocks: false,\n\t\thasInstanceMembers: false,\n\t\trequiresBrand: false,\n\t\tisAnonymous: false,\n\t\thasPrivateMethods: false,\n\n\t\tcomputedFieldCount: 0,\n\t};\n}\n\nexport enum FunctionNameValidity {\n\tFunctionNameIsStrictReserved = 'FunctionNameIsStrictReserved',\n\tSkipFunctionNameCheck = 'SkipFunctionNameCheck',\n\tFunctionNameValidityUnknown = 'FunctionNameValidityUnknown'\n};\n\nexport enum ObjectLiteralPropertyKind {\n\tCONSTANT = 'CONSTANT',\t// Property with constant value (compile time).\n\tCOMPUTED = 'COMPUTED',\t// Property with computed value (execution time).\n\tMATERIALIZED_LITERAL = 'MATERIALIZED_LITERAL', // Property value is a materialized literal.\n\tGETTER = 'GETTER',\n\tSETTER = 'SETTER',\t\t// Property is an accessor function.\n\tPROTOTYPE = 'PROTOTYPE',\t// Property is __proto__.\n\tSPREAD = 'SPREAD'\n}\nexport class ObjectLiteralProperty {\n\tstatic Kind = ObjectLiteralPropertyKind;\n}\n\nexport enum ClassLiteralPropertyKind {\n\tMETHOD = 'METHOD',\n\tGETTER = 'GETTER',\n\tSETTER = 'SETTER',\n\tFIELD = 'FIELD'\n}\n\nexport class ClassLiteralProperty {\n\tstatic Kind = ClassLiteralPropertyKind;\n}\n\nexport function classPropertyKindFor(kind: PropertyKind): ClassLiteralPropertyKind {\n\tswitch (kind) {\n\t\tcase PropertyKind.AccessorGetter:\n\t\t\treturn ClassLiteralPropertyKind.GETTER;\n\t\tcase PropertyKind.AccessorSetter:\n\t\t\treturn ClassLiteralPropertyKind.SETTER;\n\t\tcase PropertyKind.Method:\n\t\t\treturn ClassLiteralPropertyKind.METHOD;\n\t\tcase PropertyKind.ClassField:\n\t\t\treturn ClassLiteralPropertyKind.FIELD;\n\t}\n\tthrow new Error(`unexpected property kind: ${kind}`);\n}\n\nexport enum VariableMode {\n\tConst = 'Const',\n\tPrivateMethod = 'PrivateMethod',\n\tPrivateGetterOnly = 'PrivateGetterOnly',\n\tPrivateSetterOnly = 'PrivateSetterOnly'\n}\n\nexport function getVariableMode(kind: ClassLiteralPropertyKind): VariableMode {\n\tswitch (kind) {\n\t\tcase ClassLiteralPropertyKind.FIELD:\n\t\t\treturn VariableMode.Const;\n\t\tcase ClassLiteralPropertyKind.METHOD:\n\t\t\treturn VariableMode.PrivateMethod;\n\t\tcase ClassLiteralPropertyKind.GETTER:\n\t\t\treturn VariableMode.PrivateGetterOnly;\n\t\tcase ClassLiteralPropertyKind.SETTER:\n\t\t\treturn VariableMode.PrivateSetterOnly;\n\t}\n}\n\nexport enum VariableDeclarationContext {\n\tStatementListItem,\n\tStatement,\n\tForStatement\n};\n\nexport enum AllowLabelledFunctionStatement {\n\tAllowLabelledFunctionStatement,\n\tDisallowLabelledFunctionStatement,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/expressions/v8/enums.ts"],"names":[],"mappings":"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","sourcesContent":["import { AccessorProperty, MethodDefinition, PropertyDefinition, StaticBlock } from '../api/class/class.js';\nimport { ExpressionNode } from '../api/expression.js';\nimport { VariableDeclarator } from '../api/statement/declarations/declares.js';\nimport { PositionMark } from './inline.js';\nimport { Token } from './token.js';\n\nexport function isInRange(num: number, start: number, end: number) {\n\treturn num >= start && num <= end;\n}\n\nexport enum ParsingArrowHeadFlag { CertainlyNotArrowHead, MaybeArrowHead, AsyncArrowFunction }\nexport enum PropertyKind {\n\tValue, Shorthand, ShorthandOrClassField,\n\tAssign, Method, ClassField, AccessorGetter, AccessorSetter,\n\tSpread, NotSet\n}\nexport function isAccessor(kind: PropertyKind) {\n\treturn kind === PropertyKind.AccessorGetter || kind === PropertyKind.AccessorSetter;\n}\n\nexport enum PropertyPosition {\n\tObjectLiteral,\n\tClassLiteral\n}\n\nexport class PropertyKindInfo {\n\tname: string;\n\tposition = PropertyPosition.ClassLiteral;\n\tfuncFlag = ParseFunctionFlag.IsNormal;\n\tkind = PropertyKind.NotSet;\n\tisComputedName = false;\n\tisPrivate = false;\n\tisStatic = false;\n\tisRest = false;\n\n\trangeStart: PositionMark;\n\n\tparsePropertyKindFromToken(token: Token): boolean {\n\t\t// This returns true, setting the property kind, iff the given token is\n\t\t// one which must occur after a property name, indicating that the\n\t\t// previous token was in fact a name and not a modifier (like the \"get\" in\n\t\t// \"get x\").\n\t\tswitch (token) {\n\t\t\tcase Token.COLON:\n\t\t\t\tthis.kind = PropertyKind.Value;\n\t\t\t\treturn true;\n\t\t\tcase Token.COMMA:\n\t\t\t\tthis.kind = PropertyKind.Shorthand;\n\t\t\t\treturn true;\n\t\t\tcase Token.RBRACE:\n\t\t\t\tthis.kind = PropertyKind.ShorthandOrClassField;\n\t\t\t\treturn true;\n\t\t\tcase Token.ASSIGN:\n\t\t\t\tthis.kind = PropertyKind.Assign;\n\t\t\t\treturn true;\n\t\t\tcase Token.LPAREN:\n\t\t\t\tthis.kind = PropertyKind.Method;\n\t\t\t\treturn true;\n\t\t\tcase Token.MUL:\n\t\t\tcase Token.SEMICOLON:\n\t\t\t\tthis.kind = PropertyKind.ClassField;\n\t\t\t\treturn true;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t\treturn false;\n\t}\n\n}\n\nexport type FunctionInfo = { rest?: boolean };\n\nexport enum PreParserIdentifierType {\n\tNullIdentifier,\n\tUnknownIdentifier,\n\tEvalIdentifier,\n\tArgumentsIdentifier,\n\tConstructorIdentifier,\n\tAwaitIdentifier,\n\tAsyncIdentifier,\n\tNameIdentifier,\n\tPrivateNameIdentifier\n}\n\nexport enum FunctionBodyType {\n\tEXPRESSION,\n\tBLOCK,\n}\n\nexport enum ParseFunctionFlag {\n\tIsNormal = 0,\n\tIsGenerator = 1 << 0,\n\tIsAsync = 1 << 1\n}\n\nexport enum FunctionKind {\n\n\t// BEGIN constructable functions\n\tNormalFunction,\n\tModule,\n\tAsyncModule,\n\t// BEGIN class constructors\n\t// BEGIN base constructors\n\tBaseConstructor,\n\t// BEGIN default constructors\n\tDefaultBaseConstructor,\n\t// END base constructors\n\t// BEGIN derived constructors\n\tDefaultDerivedConstructor,\n\t// END default constructors\n\tDerivedConstructor,\n\t// END derived constructors\n\t// END class constructors\n\t// END constructable functions.\n\t// BEGIN accessors\n\tGetterFunction,\n\tStaticGetterFunction,\n\tSetterFunction,\n\tStaticSetterFunction,\n\t// END accessors\n\t// BEGIN arrow functions\n\tArrowFunction,\n\t// BEGIN async functions\n\tAsyncArrowFunction,\n\t// END arrow functions\n\tAsyncFunction,\n\t// BEGIN concise methods 1\n\tAsyncConciseMethod,\n\tStaticAsyncConciseMethod,\n\t// BEGIN generators\n\tAsyncConciseGeneratorMethod,\n\tStaticAsyncConciseGeneratorMethod,\n\t// END concise methods 1\n\tAsyncGeneratorFunction,\n\t// END async functions\n\tGeneratorFunction,\n\t// BEGIN concise methods 2\n\tConciseGeneratorMethod,\n\tStaticConciseGeneratorMethod,\n\t// END generators\n\tConciseMethod,\n\tStaticConciseMethod,\n\tClassMembersInitializerFunction,\n\tClassStaticInitializerFunction,\n\t// END concise methods 2\n\tInvalid,\n\n\tLastFunctionKind = ClassStaticInitializerFunction,\n}\n\nconst FUNCTIONS_TYPES: FunctionKind[][][] = [\n\t[\n\t\t// SubFunctionKind::kNormalFunction\n\t\t[// is_generator=false\n\t\t\tFunctionKind.NormalFunction,\n\t\t\tFunctionKind.AsyncFunction\n\t\t],\n\t\t[// is_generator=true\n\t\t\tFunctionKind.GeneratorFunction,\n\t\t\tFunctionKind.AsyncGeneratorFunction\n\t\t],\n\t],\n\t[\n\t\t// SubFunctionKind::kNonStaticMethod\n\t\t[// is_generator=false\n\t\t\tFunctionKind.ConciseMethod,\n\t\t\tFunctionKind.AsyncConciseMethod\n\t\t],\n\t\t[// is_generator=true\n\t\t\tFunctionKind.ConciseGeneratorMethod,\n\t\t\tFunctionKind.AsyncConciseGeneratorMethod\n\t\t],\n\t],\n\t[\n\t\t// SubFunctionKind::kStaticMethod\n\t\t[// is_generator=false\n\t\t\tFunctionKind.StaticConciseMethod,\n\t\t\tFunctionKind.StaticAsyncConciseMethod\n\t\t],\n\t\t[// is_generator=true\n\t\t\tFunctionKind.StaticConciseGeneratorMethod,\n\t\t\tFunctionKind.StaticAsyncConciseGeneratorMethod\n\t\t],\n\t]\n];\n\nexport enum SubFunctionKind {\n\tNormalFunction,\n\tNonStaticMethod,\n\tStaticMethod,\n}\n\nexport enum StaticFlag {\n\tNotStatic,\n\tStatic\n};\n\n\nexport function functionKindForImpl(subFunctionKind: SubFunctionKind, flags: ParseFunctionFlag): FunctionKind {\n\treturn FUNCTIONS_TYPES[subFunctionKind]\n\t[(flags & ParseFunctionFlag.IsGenerator) != 0 ? 1 : 0]\n\t[(flags & ParseFunctionFlag.IsAsync) != 0 ? 1 : 0];\n}\n\nexport function functionKindFor(isGenerator: boolean, isAsync: boolean): FunctionKind {\n\treturn FUNCTIONS_TYPES[SubFunctionKind.NormalFunction][isGenerator ? 1 : 0][isAsync ? 1 : 0];\n}\n\nexport function methodKindFor(isStatic: boolean, isGenerator: boolean, isAsync: boolean): FunctionKind {\n\treturn FUNCTIONS_TYPES[isStatic ? SubFunctionKind.StaticMethod : SubFunctionKind.NonStaticMethod][isGenerator ? 1 : 0][isAsync ? 1 : 0];\n}\n\nexport enum FunctionSyntaxKind {\n\tAnonymousExpression,\n\tNamedExpression,\n\tDeclaration,\n\tAccessorOrMethod,\n\tWrapped,\n\n\tLastFunctionSyntaxKind = Wrapped,\n};\n\n\n\nexport function isArrowFunction(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.ArrowFunction, FunctionKind.AsyncArrowFunction);\n}\n\nexport function isModule(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.Module, FunctionKind.AsyncModule);\n}\n\nexport function isAsyncModule(kind: FunctionKind) {\n\treturn kind == FunctionKind.AsyncModule;\n}\n\nexport function isAsyncGeneratorFunction(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.AsyncConciseGeneratorMethod, FunctionKind.AsyncGeneratorFunction);\n}\n\nexport function isGeneratorFunction(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.AsyncConciseGeneratorMethod, FunctionKind.StaticConciseGeneratorMethod);\n}\n\nexport function isAsyncFunction(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.AsyncArrowFunction, FunctionKind.AsyncGeneratorFunction);\n}\n\nexport function isResumableFunction(kind: FunctionKind) {\n\treturn isGeneratorFunction(kind) || isAsyncFunction(kind) || isModule(kind);\n}\n\nexport function isConciseMethod(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.AsyncConciseMethod, FunctionKind.StaticAsyncConciseGeneratorMethod)\n\t\t|| isInRange(kind, FunctionKind.ConciseGeneratorMethod, FunctionKind.ClassStaticInitializerFunction);\n}\n\nexport function isStrictFunctionWithoutPrototype(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.GetterFunction, FunctionKind.AsyncArrowFunction)\n\t\t|| isInRange(kind, FunctionKind.AsyncConciseMethod, FunctionKind.StaticAsyncConciseGeneratorMethod)\n\t\t|| isInRange(kind, FunctionKind.ConciseGeneratorMethod, FunctionKind.ClassStaticInitializerFunction);\n}\n\nexport function isGetterFunction(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.GetterFunction, FunctionKind.StaticGetterFunction);\n}\n\nexport function isSetterFunction(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.SetterFunction, FunctionKind.StaticSetterFunction);\n}\n\nexport function isAccessorFunction(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.GetterFunction, FunctionKind.StaticSetterFunction);\n}\n\nexport function isDefaultConstructor(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.DefaultBaseConstructor, FunctionKind.DefaultDerivedConstructor);\n}\n\nexport function isBaseConstructor(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.BaseConstructor, FunctionKind.DefaultBaseConstructor);\n}\n\nexport function isDerivedConstructor(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.DefaultDerivedConstructor, FunctionKind.DerivedConstructor);\n}\n\nexport function isClassConstructor(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.BaseConstructor, FunctionKind.DerivedConstructor);\n}\n\nexport function isClassMembersInitializerFunction(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.ClassMembersInitializerFunction, FunctionKind.ClassStaticInitializerFunction);\n}\n\nexport function isConstructable(kind: FunctionKind) {\n\treturn isInRange(kind, FunctionKind.NormalFunction, FunctionKind.DerivedConstructor);\n}\n\nexport function isStatic(kind: FunctionKind) {\n\tswitch (kind) {\n\t\tcase FunctionKind.StaticGetterFunction:\n\t\tcase FunctionKind.StaticSetterFunction:\n\t\tcase FunctionKind.StaticConciseMethod:\n\t\tcase FunctionKind.StaticConciseGeneratorMethod:\n\t\tcase FunctionKind.StaticAsyncConciseMethod:\n\t\tcase FunctionKind.StaticAsyncConciseGeneratorMethod:\n\t\tcase FunctionKind.ClassStaticInitializerFunction:\n\t\t\treturn true;\n\t\tdefault:\n\t\t\treturn false;\n\t}\n}\n\nexport function bindsSuper(kind: FunctionKind) {\n\treturn isConciseMethod(kind) || isAccessorFunction(kind) || isClassConstructor(kind);\n}\n\nexport function isAwaitAsIdentifierDisallowed(kind: FunctionKind) {\n\t// 'await' is always disallowed as an identifier in module contexts. Callers\n\t// should short-circuit the module case instead of calling this.\n\treturn !isModule(kind) && (isAsyncFunction(kind) || kind == FunctionKind.ClassStaticInitializerFunction);\n}\n\nexport function functionKind2String(kind: FunctionKind): string {\n\treturn FunctionKind[kind];\n}\n\nexport type ClassInfo = {\n\textends?: ExpressionNode;\n\tpublicMembers: (MethodDefinition | PropertyDefinition)[],\n\tprivateMembers: (MethodDefinition | PropertyDefinition)[],\n\tstaticElements: (MethodDefinition | PropertyDefinition | AccessorProperty | StaticBlock)[],\n\tinstanceFields: (MethodDefinition | PropertyDefinition | AccessorProperty)[],\n\tconstructor: MethodDefinition | undefined,\n\n\thasSeenConstructor: boolean;\n\thasStaticComputedNames: boolean;\n\thasStaticElements: boolean;\n\thasStaticPrivateMethods: boolean;\n\thasStaticBlocks: boolean;\n\thasInstanceMembers: boolean;\n\trequiresBrand: boolean;\n\tisAnonymous: boolean;\n\thasPrivateMethods: boolean,\n\n\tcomputedFieldCount: number;\n\n\thomeObjectVariable?: VariableDeclarator;\n\tstaticHomeObjectVariable?: VariableDeclarator;\n};\n\nexport function createClassInfo(): ClassInfo {\n\treturn {\n\t\tpublicMembers: [],\n\t\tprivateMembers: [],\n\t\tstaticElements: [],\n\t\tinstanceFields: [],\n\t\t'constructor': undefined,\n\n\t\thasSeenConstructor: false,\n\t\thasStaticComputedNames: false,\n\t\thasStaticElements: false,\n\t\thasStaticPrivateMethods: false,\n\t\thasStaticBlocks: false,\n\t\thasInstanceMembers: false,\n\t\trequiresBrand: false,\n\t\tisAnonymous: false,\n\t\thasPrivateMethods: false,\n\n\t\tcomputedFieldCount: 0,\n\t};\n}\n\nexport enum FunctionNameValidity {\n\tFunctionNameIsStrictReserved = 'FunctionNameIsStrictReserved',\n\tSkipFunctionNameCheck = 'SkipFunctionNameCheck',\n\tFunctionNameValidityUnknown = 'FunctionNameValidityUnknown'\n};\n\nexport enum ObjectLiteralPropertyKind {\n\tCONSTANT = 'CONSTANT',\t// Property with constant value (compile time).\n\tCOMPUTED = 'COMPUTED',\t// Property with computed value (execution time).\n\tMATERIALIZED_LITERAL = 'MATERIALIZED_LITERAL', // Property value is a materialized literal.\n\tGETTER = 'GETTER',\n\tSETTER = 'SETTER',\t\t// Property is an accessor function.\n\tPROTOTYPE = 'PROTOTYPE',\t// Property is __proto__.\n\tSPREAD = 'SPREAD'\n}\nexport class ObjectLiteralProperty {\n\tstatic Kind = ObjectLiteralPropertyKind;\n}\n\nexport enum ClassLiteralPropertyKind {\n\tMETHOD = 'METHOD',\n\tGETTER = 'GETTER',\n\tSETTER = 'SETTER',\n\tFIELD = 'FIELD'\n}\n\nexport class ClassLiteralProperty {\n\tstatic Kind = ClassLiteralPropertyKind;\n}\n\nexport function classPropertyKindFor(kind: PropertyKind): ClassLiteralPropertyKind {\n\tswitch (kind) {\n\t\tcase PropertyKind.AccessorGetter:\n\t\t\treturn ClassLiteralPropertyKind.GETTER;\n\t\tcase PropertyKind.AccessorSetter:\n\t\t\treturn ClassLiteralPropertyKind.SETTER;\n\t\tcase PropertyKind.Method:\n\t\t\treturn ClassLiteralPropertyKind.METHOD;\n\t\tcase PropertyKind.ClassField:\n\t\t\treturn ClassLiteralPropertyKind.FIELD;\n\t}\n\tthrow new Error(`unexpected property kind: ${kind}`);\n}\n\nexport enum VariableMode {\n\tConst = 'Const',\n\tPrivateMethod = 'PrivateMethod',\n\tPrivateGetterOnly = 'PrivateGetterOnly',\n\tPrivateSetterOnly = 'PrivateSetterOnly'\n}\n\nexport function getVariableMode(kind: ClassLiteralPropertyKind): VariableMode {\n\tswitch (kind) {\n\t\tcase ClassLiteralPropertyKind.FIELD:\n\t\t\treturn VariableMode.Const;\n\t\tcase ClassLiteralPropertyKind.METHOD:\n\t\t\treturn VariableMode.PrivateMethod;\n\t\tcase ClassLiteralPropertyKind.GETTER:\n\t\t\treturn VariableMode.PrivateGetterOnly;\n\t\tcase ClassLiteralPropertyKind.SETTER:\n\t\t\treturn VariableMode.PrivateSetterOnly;\n\t}\n}\n\nexport enum VariableDeclarationContext {\n\tStatementListItem,\n\tStatement,\n\tForStatement\n};\n\nexport enum AllowLabelledFunctionStatement {\n\tAllowLabelledFunctionStatement,\n\tDisallowLabelledFunctionStatement,\n};\n"]}
|