@casual-simulation/js-interpreter 3.1.9-alpha.3340590989
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/Interpreter.d.ts +218 -0
- package/Interpreter.js +1066 -0
- package/Interpreter.js.map +1 -0
- package/InterpreterUtils.d.ts +61 -0
- package/InterpreterUtils.js +154 -0
- package/InterpreterUtils.js.map +1 -0
- package/LICENSE.txt +201 -0
- package/Marshalling.d.ts +20 -0
- package/Marshalling.js +207 -0
- package/Marshalling.js.map +1 -0
- package/README.md +3 -0
- package/index.d.ts +3 -0
- package/index.js +3 -0
- package/index.js.map +1 -0
- package/package.json +47 -0
- package/test/TestHelpers.d.ts +3 -0
- package/test/TestHelpers.js +22 -0
- package/test/TestHelpers.js.map +1 -0
package/Marshalling.js
ADDED
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { BooleanValue, Get, Type, Value, Set, NormalCompletion, OrdinaryObjectCreate, EnsureCompletion, Construct, CreateBuiltinFunction, Call, Invoke, CreateArrayFromList, } from '@casual-simulation/engine262';
|
|
2
|
+
import { INTERPRETER_OBJECT, markWithInterpretedObject, markWithRegularObject, unwind, } from './InterpreterUtils';
|
|
3
|
+
const copyPropertiesFromObject = (source, target, interpreter, transformObject, disallowedProps) => {
|
|
4
|
+
for (let [prop, val] of source.properties.entries()) {
|
|
5
|
+
let propName = interpreter.copyFromValue(prop);
|
|
6
|
+
if (typeof propName !== 'string' && typeof propName !== 'symbol') {
|
|
7
|
+
throw new Error('Unable to copy properties with non string or symbol names!');
|
|
8
|
+
}
|
|
9
|
+
if (disallowedProps && disallowedProps.has(propName)) {
|
|
10
|
+
continue;
|
|
11
|
+
}
|
|
12
|
+
const propValue = unwind(Get(source, prop));
|
|
13
|
+
if (propValue.Type !== 'normal') {
|
|
14
|
+
throw new Error('An error occurred while getting a property.');
|
|
15
|
+
}
|
|
16
|
+
target[propName] = interpreter.copyFromValue(propValue.Value, transformObject);
|
|
17
|
+
}
|
|
18
|
+
if (transformObject) {
|
|
19
|
+
transformObject(target);
|
|
20
|
+
}
|
|
21
|
+
Object.defineProperty(target, INTERPRETER_OBJECT, {
|
|
22
|
+
value: source,
|
|
23
|
+
enumerable: false,
|
|
24
|
+
configurable: false,
|
|
25
|
+
writable: false,
|
|
26
|
+
});
|
|
27
|
+
return target;
|
|
28
|
+
};
|
|
29
|
+
const copyPropertiesToObject = (source, target, interpreter, disallowedProps) => {
|
|
30
|
+
for (let prop of Object.getOwnPropertyNames(source)) {
|
|
31
|
+
if (disallowedProps && disallowedProps.has(prop)) {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
let propNameResult = interpreter.copyToValue(prop);
|
|
35
|
+
if (propNameResult.Type !== 'normal') {
|
|
36
|
+
return propNameResult;
|
|
37
|
+
}
|
|
38
|
+
let propName = propNameResult.Value;
|
|
39
|
+
if (Type(propName) !== 'String' && Type(propName) !== 'Symbol') {
|
|
40
|
+
throw new Error('Unable to copy properties with non string or symbol names!');
|
|
41
|
+
}
|
|
42
|
+
const propValue = source[prop];
|
|
43
|
+
const newValueResult = interpreter.copyToValue(propValue);
|
|
44
|
+
if (newValueResult.Type !== 'normal') {
|
|
45
|
+
return newValueResult;
|
|
46
|
+
}
|
|
47
|
+
unwind(Set(target, propName, newValueResult.Value, BooleanValue.true));
|
|
48
|
+
}
|
|
49
|
+
markWithRegularObject(target, source);
|
|
50
|
+
return NormalCompletion(target);
|
|
51
|
+
};
|
|
52
|
+
const copyFromObjectFunc = (disallowedProps) => {
|
|
53
|
+
return (value, proto, interpreter, transformObject) => {
|
|
54
|
+
const obj = Object.create(proto);
|
|
55
|
+
copyPropertiesFromObject(value, obj, interpreter, transformObject, disallowedProps);
|
|
56
|
+
return obj;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
const copyToObjectFunc = (disallowedProps) => {
|
|
60
|
+
return (value, proto, interpreter) => {
|
|
61
|
+
const obj = OrdinaryObjectCreate(proto, []);
|
|
62
|
+
return copyPropertiesToObject(value, obj, interpreter, disallowedProps);
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
const copyFromArrayFunc = (disallowedProps) => {
|
|
66
|
+
return (value, proto, interpreter, transformObject) => {
|
|
67
|
+
const obj = new Array();
|
|
68
|
+
copyPropertiesFromObject(value, obj, interpreter, transformObject, disallowedProps);
|
|
69
|
+
return obj;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
const copyToArrayFunc = (disallowedProps) => {
|
|
73
|
+
return (value, proto, interpreter) => {
|
|
74
|
+
const obj = CreateArrayFromList([]);
|
|
75
|
+
return copyPropertiesToObject(value, obj, interpreter, disallowedProps);
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
const copyFromError = copyFromObjectFunc();
|
|
79
|
+
const copyToErrorFunc = (intrinsic) => {
|
|
80
|
+
return (err, proto, interpreter) => {
|
|
81
|
+
const constructor = interpreter.realm.Intrinsics[intrinsic];
|
|
82
|
+
const result = EnsureCompletion(unwind(Construct(constructor, [])));
|
|
83
|
+
if (result.Type !== 'normal') {
|
|
84
|
+
return result;
|
|
85
|
+
}
|
|
86
|
+
const constructed = result.Value;
|
|
87
|
+
return copyPropertiesToObject(err, constructed, interpreter, new globalThis.Set(['stack']));
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
const copyFromPromise = (val, proto, interpreter) => {
|
|
91
|
+
return markWithInterpretedObject(new Promise((resolve, reject) => {
|
|
92
|
+
const bResolve = CreateBuiltinFunction((args) => {
|
|
93
|
+
const val = args[0];
|
|
94
|
+
resolve(interpreter.copyFromValue(val));
|
|
95
|
+
return Value.undefined;
|
|
96
|
+
}, 1, new Value('resolve'), [], interpreter.realm);
|
|
97
|
+
const bReject = CreateBuiltinFunction((args) => {
|
|
98
|
+
const val = args[0];
|
|
99
|
+
reject(interpreter.copyFromValue(val));
|
|
100
|
+
return Value.undefined;
|
|
101
|
+
}, 1, new Value('reject'), [], interpreter.realm);
|
|
102
|
+
unwind(Invoke(val, new Value('then'), [
|
|
103
|
+
bResolve,
|
|
104
|
+
bReject,
|
|
105
|
+
]));
|
|
106
|
+
}), val);
|
|
107
|
+
};
|
|
108
|
+
const copyToPromise = (val, proto, interpreter) => {
|
|
109
|
+
const executer = CreateBuiltinFunction((args) => {
|
|
110
|
+
const [resolve, reject] = args;
|
|
111
|
+
val.then((res) => {
|
|
112
|
+
let result = interpreter.copyToValue(res);
|
|
113
|
+
if (result.Type !== 'normal') {
|
|
114
|
+
unwind(Call(reject, Value.null, [result.Value]));
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
unwind(Call(resolve, Value.null, [result.Value]));
|
|
118
|
+
}
|
|
119
|
+
}, (err) => {
|
|
120
|
+
let result = interpreter.copyToValue(err);
|
|
121
|
+
unwind(Call(reject, Value.null, [result.Value]));
|
|
122
|
+
});
|
|
123
|
+
}, 2, new Value('executer'), [], interpreter.realm);
|
|
124
|
+
return EnsureCompletion(markWithRegularObject(unwind(Construct(interpreter.realm.Intrinsics['%Promise%'], [executer])), val));
|
|
125
|
+
};
|
|
126
|
+
const copyFromFunction = (val, proto, interpreter) => {
|
|
127
|
+
return interpreter.reverseProxyObject(val);
|
|
128
|
+
};
|
|
129
|
+
const copyToFunction = (val, proto, interpreter) => {
|
|
130
|
+
return interpreter.proxyObject(val);
|
|
131
|
+
};
|
|
132
|
+
const errorPrototypes = [
|
|
133
|
+
[
|
|
134
|
+
'%Error.prototype%',
|
|
135
|
+
Error.prototype,
|
|
136
|
+
copyToErrorFunc('%Error%'),
|
|
137
|
+
copyFromError,
|
|
138
|
+
],
|
|
139
|
+
[
|
|
140
|
+
'%EvalError.prototype%',
|
|
141
|
+
EvalError.prototype,
|
|
142
|
+
copyToErrorFunc('%EvalError%'),
|
|
143
|
+
copyFromError,
|
|
144
|
+
],
|
|
145
|
+
[
|
|
146
|
+
'%RangeError.prototype%',
|
|
147
|
+
RangeError.prototype,
|
|
148
|
+
copyToErrorFunc('%RangeError%'),
|
|
149
|
+
copyFromError,
|
|
150
|
+
],
|
|
151
|
+
[
|
|
152
|
+
'%ReferenceError.prototype%',
|
|
153
|
+
ReferenceError.prototype,
|
|
154
|
+
copyToErrorFunc('%ReferenceError%'),
|
|
155
|
+
copyFromError,
|
|
156
|
+
],
|
|
157
|
+
[
|
|
158
|
+
'%SyntaxError.prototype%',
|
|
159
|
+
SyntaxError.prototype,
|
|
160
|
+
copyToErrorFunc('%SyntaxError%'),
|
|
161
|
+
copyFromError,
|
|
162
|
+
],
|
|
163
|
+
[
|
|
164
|
+
'%TypeError.prototype%',
|
|
165
|
+
TypeError.prototype,
|
|
166
|
+
copyToErrorFunc('%SyntaxError%'),
|
|
167
|
+
copyFromError,
|
|
168
|
+
],
|
|
169
|
+
[
|
|
170
|
+
'%URIError.prototype%',
|
|
171
|
+
URIError.prototype,
|
|
172
|
+
copyToErrorFunc('%URIError%'),
|
|
173
|
+
copyFromError,
|
|
174
|
+
],
|
|
175
|
+
];
|
|
176
|
+
/**
|
|
177
|
+
* The list of prototypes that can be copied.
|
|
178
|
+
*/
|
|
179
|
+
export const copyPrototypes = [
|
|
180
|
+
[
|
|
181
|
+
'%Object.prototype%',
|
|
182
|
+
Object.prototype,
|
|
183
|
+
copyToObjectFunc(),
|
|
184
|
+
copyFromObjectFunc(),
|
|
185
|
+
],
|
|
186
|
+
[
|
|
187
|
+
'%Array.prototype%',
|
|
188
|
+
Array.prototype,
|
|
189
|
+
copyToArrayFunc(),
|
|
190
|
+
copyFromArrayFunc(),
|
|
191
|
+
],
|
|
192
|
+
[
|
|
193
|
+
'%Function.prototype%',
|
|
194
|
+
Function.prototype,
|
|
195
|
+
copyToFunction,
|
|
196
|
+
copyFromFunction,
|
|
197
|
+
],
|
|
198
|
+
['%Promise.prototype%', Promise.prototype, copyToPromise, copyFromPromise],
|
|
199
|
+
...errorPrototypes,
|
|
200
|
+
];
|
|
201
|
+
/**
|
|
202
|
+
* The list of prototypes that have special behavior for being proxied.
|
|
203
|
+
*/
|
|
204
|
+
export const proxyPrototypes = [
|
|
205
|
+
['%Promise.prototype%', Promise.prototype, copyToPromise, copyFromPromise],
|
|
206
|
+
];
|
|
207
|
+
//# sourceMappingURL=Marshalling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Marshalling.js","sourceRoot":"","sources":["Marshalling.ts"],"names":[],"mappings":"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"}
|
package/README.md
ADDED
package/index.d.ts
ADDED
package/index.js
ADDED
package/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@casual-simulation/js-interpreter",
|
|
3
|
+
"version": "3.1.9-alpha.3340590989",
|
|
4
|
+
"description": "A JavaScript interpreter",
|
|
5
|
+
"keywords": [],
|
|
6
|
+
"author": "Casual Simulation, Inc.",
|
|
7
|
+
"homepage": "https://github.com/casual-simulation/casualos",
|
|
8
|
+
"license": "Apache-2.0",
|
|
9
|
+
"main": "index.js",
|
|
10
|
+
"types": "index.d.ts",
|
|
11
|
+
"module": "index",
|
|
12
|
+
"directories": {
|
|
13
|
+
"lib": "."
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"/README.md",
|
|
17
|
+
"/LICENSE.txt",
|
|
18
|
+
"**/*.js",
|
|
19
|
+
"**/*.js.map",
|
|
20
|
+
"**/*.d.ts"
|
|
21
|
+
],
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "git+https://github.com/casual-simulation/casualos.git"
|
|
25
|
+
},
|
|
26
|
+
"scripts": {
|
|
27
|
+
"watch": "tsc --watch",
|
|
28
|
+
"watch:player": "npm run watch",
|
|
29
|
+
"build": "echo \"Nothing to do.\"",
|
|
30
|
+
"test": "jest",
|
|
31
|
+
"test:watch": "jest --watchAll"
|
|
32
|
+
},
|
|
33
|
+
"bugs": {
|
|
34
|
+
"url": "https://github.com/casual-simulation/casualos/issues"
|
|
35
|
+
},
|
|
36
|
+
"publishConfig": {
|
|
37
|
+
"access": "public"
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@casual-simulation/engine262": "0.0.1-6fadd673dfc837c2717737a2729a1baf022566a2",
|
|
41
|
+
"@casual-simulation/error-stack-parser": "^2.0.7",
|
|
42
|
+
"@types/acorn": "^4.0.6",
|
|
43
|
+
"@types/estree": "1.0.0",
|
|
44
|
+
"acorn": "^8.0.1"
|
|
45
|
+
},
|
|
46
|
+
"gitHead": "ad27e49968e74df7336c60f59a9786798e43bdab"
|
|
47
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
export function wait(ms) {
|
|
11
|
+
return new Promise((resolve) => {
|
|
12
|
+
setTimeout(() => {
|
|
13
|
+
resolve();
|
|
14
|
+
}, ms);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export function waitAsync(num = 10) {
|
|
18
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
return new Promise((resolve) => jest.requireActual('timers').setImmediate(resolve));
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=TestHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestHelpers.js","sourceRoot":"","sources":["TestHelpers.ts"],"names":[],"mappings":";;;;;;;;;AAAA,MAAM,UAAU,IAAI,CAAC,EAAU;IAC3B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACjC,UAAU,CAAC,GAAG,EAAE;YACZ,OAAO,EAAE,CAAC;QACd,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAgB,SAAS,CAAC,MAAc,EAAE;;QAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC3B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CACrD,CAAC;IACN,CAAC;CAAA"}
|