@lewin671/python-vm 0.1.2 → 0.1.3
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/README.md +58 -56
- package/README_zh-CN.md +58 -57
- package/dist/common/string-token.d.ts +5 -0
- package/dist/common/string-token.d.ts.map +1 -0
- package/dist/common/string-token.js +23 -0
- package/dist/common/string-token.js.map +1 -0
- package/dist/compiler/cfg_builder.d.ts +48 -0
- package/dist/compiler/cfg_builder.d.ts.map +1 -0
- package/dist/compiler/cfg_builder.js +1462 -0
- package/dist/compiler/cfg_builder.js.map +1 -0
- package/dist/compiler/compiler.d.ts.map +1 -0
- package/dist/compiler/compiler.js +27 -0
- package/dist/compiler/compiler.js.map +1 -0
- package/dist/compiler/index.d.ts.map +1 -0
- package/dist/compiler/index.js.map +1 -0
- package/dist/compiler/linearizer.d.ts +7 -0
- package/dist/compiler/linearizer.d.ts.map +1 -0
- package/dist/compiler/linearizer.js +112 -0
- package/dist/compiler/linearizer.js.map +1 -0
- package/dist/compiler/serializer.d.ts +17 -0
- package/dist/compiler/serializer.d.ts.map +1 -0
- package/dist/compiler/serializer.js +70 -0
- package/dist/compiler/serializer.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +58 -8
- package/dist/index.js.map +1 -1
- package/dist/lexer/lexer.d.ts.map +1 -1
- package/dist/lexer/lexer.js +25 -11
- package/dist/lexer/lexer.js.map +1 -1
- package/dist/parser/expressions.d.ts.map +1 -1
- package/dist/parser/expressions.js +5 -2
- package/dist/parser/expressions.js.map +1 -1
- package/dist/parser/parser.js +3 -3
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/statements.d.ts.map +1 -1
- package/dist/parser/statements.js +60 -22
- package/dist/parser/statements.js.map +1 -1
- package/dist/python_compiler.d.ts +32 -0
- package/dist/python_compiler.d.ts.map +1 -0
- package/dist/{compiler.js → python_compiler.js} +19 -6
- package/dist/python_compiler.js.map +1 -0
- package/dist/types/ast.d.ts +286 -44
- package/dist/types/ast.d.ts.map +1 -1
- package/dist/types/ast.js +43 -36
- package/dist/types/ast.js.map +1 -1
- package/dist/types/bytecode.d.ts +106 -21
- package/dist/types/bytecode.d.ts.map +1 -1
- package/dist/types/bytecode.js +111 -23
- package/dist/types/bytecode.js.map +1 -1
- package/dist/types/cfg.d.ts +20 -0
- package/dist/types/cfg.d.ts.map +1 -0
- package/dist/types/cfg.js +3 -0
- package/dist/types/cfg.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/vm/builtins.d.ts.map +1 -1
- package/dist/vm/builtins.js +23 -7
- package/dist/vm/builtins.js.map +1 -1
- package/dist/vm/callable.d.ts +6 -6
- package/dist/vm/callable.d.ts.map +1 -1
- package/dist/vm/callable.js +28 -7
- package/dist/vm/callable.js.map +1 -1
- package/dist/vm/execution-helpers.d.ts +17 -0
- package/dist/vm/execution-helpers.d.ts.map +1 -0
- package/dist/vm/execution-helpers.js +334 -0
- package/dist/vm/execution-helpers.js.map +1 -0
- package/dist/vm/execution.d.ts +4 -12
- package/dist/vm/execution.d.ts.map +1 -1
- package/dist/vm/execution.js +764 -255
- package/dist/vm/execution.js.map +1 -1
- package/dist/vm/expression-generator.d.ts +3 -1
- package/dist/vm/expression-generator.d.ts.map +1 -1
- package/dist/vm/expression-generator.js.map +1 -1
- package/dist/vm/expressions.d.ts +6 -6
- package/dist/vm/expressions.d.ts.map +1 -1
- package/dist/vm/expressions.js +29 -54
- package/dist/vm/expressions.js.map +1 -1
- package/dist/vm/imports.d.ts +4 -4
- package/dist/vm/imports.d.ts.map +1 -1
- package/dist/vm/imports.js.map +1 -1
- package/dist/vm/operations.d.ts +11 -10
- package/dist/vm/operations.d.ts.map +1 -1
- package/dist/vm/operations.js +83 -22
- package/dist/vm/operations.js.map +1 -1
- package/dist/vm/runtime-types.d.ts +64 -26
- package/dist/vm/runtime-types.d.ts.map +1 -1
- package/dist/vm/runtime-types.js +166 -19
- package/dist/vm/runtime-types.js.map +1 -1
- package/dist/vm/statements.d.ts +5 -5
- package/dist/vm/statements.d.ts.map +1 -1
- package/dist/vm/statements.js +95 -10
- package/dist/vm/statements.js.map +1 -1
- package/dist/vm/truthy.d.ts +2 -2
- package/dist/vm/truthy.d.ts.map +1 -1
- package/dist/vm/truthy.js +1 -1
- package/dist/vm/truthy.js.map +1 -1
- package/dist/vm/value-utils.d.ts +23 -25
- package/dist/vm/value-utils.d.ts.map +1 -1
- package/dist/vm/value-utils.js +216 -47
- package/dist/vm/value-utils.js.map +1 -1
- package/dist/vm/vm.d.ts +7 -3
- package/dist/vm/vm.d.ts.map +1 -1
- package/dist/vm/vm.js +3 -0
- package/dist/vm/vm.js.map +1 -1
- package/package.json +3 -3
- package/dist/compiler.d.ts +0 -20
- package/dist/compiler.d.ts.map +0 -1
- package/dist/compiler.js.map +0 -1
- package/dist/compiler_module/compiler.d.ts.map +0 -1
- package/dist/compiler_module/compiler.js +0 -22
- package/dist/compiler_module/compiler.js.map +0 -1
- package/dist/compiler_module/index.d.ts.map +0 -1
- package/dist/compiler_module/index.js.map +0 -1
- /package/dist/{compiler_module → compiler}/compiler.d.ts +0 -0
- /package/dist/{compiler_module → compiler}/index.d.ts +0 -0
- /package/dist/{compiler_module → compiler}/index.js +0 -0
package/dist/vm/operations.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyInPlaceBinary = applyInPlaceBinary;
|
|
3
4
|
exports.applyBinary = applyBinary;
|
|
4
5
|
exports.formatPercent = formatPercent;
|
|
5
6
|
exports.getSubscript = getSubscript;
|
|
@@ -12,6 +13,13 @@ exports.findClassAttribute = findClassAttribute;
|
|
|
12
13
|
const types_1 = require("../types");
|
|
13
14
|
const runtime_types_1 = require("./runtime-types");
|
|
14
15
|
const value_utils_1 = require("./value-utils");
|
|
16
|
+
function applyInPlaceBinary(op, left, right) {
|
|
17
|
+
if (op === '+' && Array.isArray(left) && !left.__tuple__ && Array.isArray(right)) {
|
|
18
|
+
left.push(...right);
|
|
19
|
+
return left;
|
|
20
|
+
}
|
|
21
|
+
return this.applyBinary(op, left, right);
|
|
22
|
+
}
|
|
15
23
|
function applyBinary(op, left, right) {
|
|
16
24
|
if ((0, value_utils_1.isComplex)(left) || (0, value_utils_1.isComplex)(right)) {
|
|
17
25
|
const a = (0, value_utils_1.toComplex)(left);
|
|
@@ -48,8 +56,8 @@ function applyBinary(op, left, right) {
|
|
|
48
56
|
}
|
|
49
57
|
return left + right;
|
|
50
58
|
case '-':
|
|
51
|
-
if (left instanceof
|
|
52
|
-
const result = new
|
|
59
|
+
if (left instanceof runtime_types_1.PySet && right instanceof runtime_types_1.PySet) {
|
|
60
|
+
const result = new runtime_types_1.PySet(left);
|
|
53
61
|
for (const item of right.values())
|
|
54
62
|
result.delete(item);
|
|
55
63
|
return result;
|
|
@@ -134,8 +142,8 @@ function applyBinary(op, left, right) {
|
|
|
134
142
|
}
|
|
135
143
|
return Math.pow((0, value_utils_1.toNumber)(left), (0, value_utils_1.toNumber)(right));
|
|
136
144
|
case '&':
|
|
137
|
-
if (left instanceof
|
|
138
|
-
const result = new
|
|
145
|
+
if (left instanceof runtime_types_1.PySet && right instanceof runtime_types_1.PySet) {
|
|
146
|
+
const result = new runtime_types_1.PySet();
|
|
139
147
|
for (const item of left.values()) {
|
|
140
148
|
if (right.has(item))
|
|
141
149
|
result.add(item);
|
|
@@ -147,8 +155,8 @@ function applyBinary(op, left, right) {
|
|
|
147
155
|
}
|
|
148
156
|
return left & right;
|
|
149
157
|
case '|':
|
|
150
|
-
if (left instanceof
|
|
151
|
-
const result = new
|
|
158
|
+
if (left instanceof runtime_types_1.PySet && right instanceof runtime_types_1.PySet) {
|
|
159
|
+
const result = new runtime_types_1.PySet(left);
|
|
152
160
|
for (const item of right.values())
|
|
153
161
|
result.add(item);
|
|
154
162
|
return result;
|
|
@@ -158,8 +166,8 @@ function applyBinary(op, left, right) {
|
|
|
158
166
|
}
|
|
159
167
|
return left | right;
|
|
160
168
|
case '^':
|
|
161
|
-
if (left instanceof
|
|
162
|
-
const result = new
|
|
169
|
+
if (left instanceof runtime_types_1.PySet && right instanceof runtime_types_1.PySet) {
|
|
170
|
+
const result = new runtime_types_1.PySet();
|
|
163
171
|
for (const item of left.values()) {
|
|
164
172
|
if (!right.has(item))
|
|
165
173
|
result.add(item);
|
|
@@ -201,10 +209,11 @@ function formatPercent(format, value) {
|
|
|
201
209
|
});
|
|
202
210
|
}
|
|
203
211
|
function getSubscript(obj, index) {
|
|
204
|
-
if
|
|
205
|
-
|
|
206
|
-
const
|
|
207
|
-
const
|
|
212
|
+
// Check if index is a slice object (created by BUILD_SLICE opcode or AST node)
|
|
213
|
+
if (index && (index.type === types_1.ASTNodeType.SLICE || index.__slice__)) {
|
|
214
|
+
const start = index.start !== undefined ? index.start : null;
|
|
215
|
+
const end = index.end !== undefined ? index.end : null;
|
|
216
|
+
const step = index.step !== undefined ? index.step : 1;
|
|
208
217
|
const indices = this.computeSliceIndices(obj.length, start, end, step);
|
|
209
218
|
const result = [];
|
|
210
219
|
for (const idx of indices)
|
|
@@ -302,6 +311,11 @@ function getAttribute(obj, name, scope) {
|
|
|
302
311
|
if (typeof obj === 'string') {
|
|
303
312
|
if (name === 'upper')
|
|
304
313
|
return () => obj.toUpperCase();
|
|
314
|
+
if (name === 'join')
|
|
315
|
+
return (iterable) => {
|
|
316
|
+
const arr = Array.isArray(iterable) ? iterable : Array.from(iterable);
|
|
317
|
+
return arr.map(item => (0, value_utils_1.pyStr)(item)).join(obj);
|
|
318
|
+
};
|
|
305
319
|
if (name === 'replace')
|
|
306
320
|
return (a, b) => {
|
|
307
321
|
return obj.replace(a, b);
|
|
@@ -334,10 +348,35 @@ function getAttribute(obj, name, scope) {
|
|
|
334
348
|
};
|
|
335
349
|
if (name === 'count')
|
|
336
350
|
return (ch) => obj.split(ch).length - 1;
|
|
351
|
+
if (name === 'split')
|
|
352
|
+
return (sep = ' ') => obj.split(sep);
|
|
353
|
+
if (name === 'strip')
|
|
354
|
+
return () => obj.trim();
|
|
355
|
+
if (name === 'lower')
|
|
356
|
+
return () => obj.toLowerCase();
|
|
357
|
+
if (name === 'startswith')
|
|
358
|
+
return (prefix) => obj.startsWith(prefix);
|
|
359
|
+
if (name === 'endswith')
|
|
360
|
+
return (suffix) => obj.endsWith(suffix);
|
|
337
361
|
}
|
|
338
362
|
if (Array.isArray(obj)) {
|
|
339
363
|
if (name === 'append')
|
|
340
|
-
return (value) =>
|
|
364
|
+
return (value) => {
|
|
365
|
+
obj.push(value);
|
|
366
|
+
return null;
|
|
367
|
+
};
|
|
368
|
+
if (name === 'pop')
|
|
369
|
+
return (index) => {
|
|
370
|
+
if (index === undefined)
|
|
371
|
+
return obj.pop();
|
|
372
|
+
return obj.splice(index, 1)[0];
|
|
373
|
+
};
|
|
374
|
+
if (name === 'extend')
|
|
375
|
+
return (iterable) => {
|
|
376
|
+
const arr = Array.isArray(iterable) ? iterable : Array.from(iterable);
|
|
377
|
+
obj.push(...arr);
|
|
378
|
+
return null;
|
|
379
|
+
};
|
|
341
380
|
if (name === 'count')
|
|
342
381
|
return (value) => obj.filter((item) => item === value).length;
|
|
343
382
|
if (name === 'index')
|
|
@@ -354,27 +393,42 @@ function getAttribute(obj, name, scope) {
|
|
|
354
393
|
}
|
|
355
394
|
let keyFn = args.length > 0 ? args[0] : null;
|
|
356
395
|
if ('key' in kwargs)
|
|
357
|
-
keyFn = kwargs
|
|
358
|
-
const reverse = 'reverse' in kwargs ? Boolean(kwargs
|
|
396
|
+
keyFn = kwargs['key'];
|
|
397
|
+
const reverse = 'reverse' in kwargs ? Boolean(kwargs['reverse']) : false;
|
|
398
|
+
const initialLength = obj.length;
|
|
359
399
|
if (keyFn) {
|
|
360
|
-
const keyed =
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
400
|
+
const keyed = [];
|
|
401
|
+
for (let i = 0; i < initialLength; i++) {
|
|
402
|
+
const item = obj[i];
|
|
403
|
+
const key = this.callFunction(keyFn, [item], scope);
|
|
404
|
+
if (obj.length !== initialLength) {
|
|
405
|
+
throw new runtime_types_1.PyException('ValueError', 'list modified during sort');
|
|
406
|
+
}
|
|
407
|
+
keyed.push({ item, key });
|
|
408
|
+
}
|
|
364
409
|
keyed.sort((a, b) => {
|
|
365
410
|
if ((0, value_utils_1.isNumericLike)(a.key) && (0, value_utils_1.isNumericLike)(b.key)) {
|
|
366
411
|
return (0, value_utils_1.toNumber)(a.key) - (0, value_utils_1.toNumber)(b.key);
|
|
367
412
|
}
|
|
368
413
|
return String(a.key).localeCompare(String(b.key));
|
|
369
414
|
});
|
|
415
|
+
if (obj.length !== initialLength) {
|
|
416
|
+
throw new runtime_types_1.PyException('ValueError', 'list modified during sort');
|
|
417
|
+
}
|
|
370
418
|
obj.length = 0;
|
|
371
419
|
obj.push(...keyed.map((entry) => entry.item));
|
|
372
420
|
}
|
|
373
421
|
else if (obj.every((value) => (0, value_utils_1.isNumericLike)(value))) {
|
|
374
422
|
obj.sort((a, b) => (0, value_utils_1.toNumber)(a) - (0, value_utils_1.toNumber)(b));
|
|
423
|
+
if (obj.length !== initialLength) {
|
|
424
|
+
throw new runtime_types_1.PyException('ValueError', 'list modified during sort');
|
|
425
|
+
}
|
|
375
426
|
}
|
|
376
427
|
else {
|
|
377
428
|
obj.sort();
|
|
429
|
+
if (obj.length !== initialLength) {
|
|
430
|
+
throw new runtime_types_1.PyException('ValueError', 'list modified during sort');
|
|
431
|
+
}
|
|
378
432
|
}
|
|
379
433
|
if (reverse)
|
|
380
434
|
obj.reverse();
|
|
@@ -394,17 +448,24 @@ function getAttribute(obj, name, scope) {
|
|
|
394
448
|
return value.bind(obj);
|
|
395
449
|
return value;
|
|
396
450
|
}
|
|
397
|
-
if (obj instanceof
|
|
451
|
+
if (obj instanceof runtime_types_1.PySet) {
|
|
398
452
|
if (name === 'add')
|
|
399
|
-
return (value) =>
|
|
453
|
+
return (value) => {
|
|
454
|
+
obj.add(value);
|
|
455
|
+
return null;
|
|
456
|
+
};
|
|
400
457
|
if (name === 'update')
|
|
401
458
|
return (values) => {
|
|
402
459
|
const items = Array.isArray(values) ? values : Array.from(values);
|
|
403
460
|
for (const item of items)
|
|
404
461
|
obj.add(item);
|
|
462
|
+
return null;
|
|
405
463
|
};
|
|
406
464
|
if (name === 'remove')
|
|
407
|
-
return (value) =>
|
|
465
|
+
return (value) => {
|
|
466
|
+
obj.delete(value);
|
|
467
|
+
return null;
|
|
468
|
+
};
|
|
408
469
|
}
|
|
409
470
|
if (obj && typeof obj === 'object' && obj.__typeName__) {
|
|
410
471
|
if (name === '__name__')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/vm/operations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/vm/operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import { ByteCode } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Represents any Python value in the VM.
|
|
4
|
+
*/
|
|
5
|
+
export type PyValue = any;
|
|
6
|
+
export type ScopeValue = PyValue;
|
|
2
7
|
export declare class ReturnSignal {
|
|
3
|
-
value:
|
|
4
|
-
constructor(value:
|
|
8
|
+
value: PyValue;
|
|
9
|
+
constructor(value: PyValue);
|
|
5
10
|
}
|
|
6
11
|
export declare class BreakSignal {
|
|
7
12
|
}
|
|
@@ -9,66 +14,99 @@ export declare class ContinueSignal {
|
|
|
9
14
|
}
|
|
10
15
|
export declare class PyException extends Error {
|
|
11
16
|
pyType: string;
|
|
12
|
-
pyValue:
|
|
13
|
-
constructor(pyType: string, message?: string, pyValue?:
|
|
17
|
+
pyValue: PyValue;
|
|
18
|
+
constructor(pyType: string, message?: string, pyValue?: PyValue);
|
|
19
|
+
}
|
|
20
|
+
export declare class Frame {
|
|
21
|
+
stack: PyValue[];
|
|
22
|
+
pc: number;
|
|
23
|
+
scope: Scope;
|
|
24
|
+
bytecode: ByteCode;
|
|
25
|
+
locals: PyValue[];
|
|
26
|
+
blockStack: Array<{
|
|
27
|
+
handler: number;
|
|
28
|
+
stackHeight: number;
|
|
29
|
+
}>;
|
|
30
|
+
constructor(bytecode: ByteCode, scope: Scope);
|
|
14
31
|
}
|
|
15
32
|
export declare class Scope {
|
|
16
33
|
values: Map<string, ScopeValue>;
|
|
17
34
|
parent: Scope | null;
|
|
18
35
|
globals: Set<string>;
|
|
19
36
|
nonlocals: Set<string>;
|
|
20
|
-
|
|
37
|
+
locals: Set<string>;
|
|
38
|
+
isClassScope: boolean;
|
|
39
|
+
constructor(parent?: Scope | null, isClassScope?: boolean);
|
|
21
40
|
get(name: string): ScopeValue;
|
|
22
41
|
set(name: string, value: ScopeValue): void;
|
|
23
42
|
root(): Scope;
|
|
24
|
-
findScopeWith(name: string): Scope | null;
|
|
43
|
+
findScopeWith(name: string, skipBase?: boolean): Scope | null;
|
|
25
44
|
}
|
|
26
45
|
export declare class PyFunction {
|
|
27
46
|
name: string;
|
|
28
|
-
params:
|
|
29
|
-
body:
|
|
47
|
+
params: PyValue[];
|
|
48
|
+
body: PyValue[];
|
|
30
49
|
closure: Scope;
|
|
50
|
+
closure_shared_values?: Map<string, PyValue>;
|
|
31
51
|
isGenerator: boolean;
|
|
32
|
-
|
|
52
|
+
bytecode?: ByteCode;
|
|
53
|
+
localNames: Set<string>;
|
|
54
|
+
constructor(name: string, params: PyValue[], body: PyValue[], closure: Scope, isGenerator: boolean, localNames?: Set<string>, bytecode?: ByteCode);
|
|
33
55
|
}
|
|
34
56
|
export declare class PyClass {
|
|
35
57
|
name: string;
|
|
36
58
|
bases: PyClass[];
|
|
37
|
-
attributes: Map<string,
|
|
59
|
+
attributes: Map<string, PyValue>;
|
|
38
60
|
isException: boolean;
|
|
39
|
-
constructor(name: string, bases: PyClass[], attributes: Map<string,
|
|
61
|
+
constructor(name: string, bases: PyClass[], attributes: Map<string, PyValue>, isException?: boolean);
|
|
40
62
|
}
|
|
41
63
|
export declare class PyInstance {
|
|
42
64
|
klass: PyClass;
|
|
43
|
-
attributes: Map<string,
|
|
65
|
+
attributes: Map<string, PyValue>;
|
|
44
66
|
constructor(klass: PyClass);
|
|
45
67
|
}
|
|
46
68
|
export declare class PyGenerator {
|
|
47
69
|
private iterator;
|
|
48
|
-
constructor(iterator: Generator<
|
|
49
|
-
next(value?:
|
|
50
|
-
send(value?:
|
|
70
|
+
constructor(iterator: Generator<PyValue>);
|
|
71
|
+
next(value?: PyValue): any;
|
|
72
|
+
send(value?: PyValue): any;
|
|
73
|
+
throw(exc: PyValue): any;
|
|
74
|
+
close(): null;
|
|
51
75
|
[Symbol.iterator](): Generator<any, any, any>;
|
|
52
76
|
}
|
|
53
77
|
export type DictEntry = {
|
|
54
|
-
key:
|
|
55
|
-
value:
|
|
78
|
+
key: PyValue;
|
|
79
|
+
value: PyValue;
|
|
56
80
|
};
|
|
57
81
|
export declare class PyDict {
|
|
58
82
|
private primitiveStore;
|
|
59
83
|
private objectStore;
|
|
60
84
|
get size(): number;
|
|
61
|
-
set(key:
|
|
62
|
-
get(key:
|
|
63
|
-
has(key:
|
|
64
|
-
delete(key:
|
|
65
|
-
entries(): IterableIterator<[
|
|
66
|
-
keys(): IterableIterator<
|
|
67
|
-
values(): IterableIterator<
|
|
68
|
-
[Symbol.iterator](): IterableIterator<
|
|
85
|
+
set(key: PyValue, value: PyValue): this;
|
|
86
|
+
get(key: PyValue): PyValue;
|
|
87
|
+
has(key: PyValue): boolean;
|
|
88
|
+
delete(key: PyValue): boolean;
|
|
89
|
+
entries(): IterableIterator<[PyValue, PyValue]>;
|
|
90
|
+
keys(): IterableIterator<PyValue>;
|
|
91
|
+
values(): IterableIterator<PyValue>;
|
|
92
|
+
[Symbol.iterator](): IterableIterator<PyValue>;
|
|
69
93
|
private keyInfo;
|
|
70
94
|
private normalizeNumericKey;
|
|
71
95
|
}
|
|
96
|
+
export declare class PySet {
|
|
97
|
+
private primitiveStore;
|
|
98
|
+
private objectStore;
|
|
99
|
+
constructor(iterable?: Iterable<PyValue>);
|
|
100
|
+
get size(): number;
|
|
101
|
+
add(value: PyValue): this;
|
|
102
|
+
has(value: PyValue): boolean;
|
|
103
|
+
delete(value: PyValue): boolean;
|
|
104
|
+
clear(): void;
|
|
105
|
+
values(): IterableIterator<PyValue>;
|
|
106
|
+
[Symbol.iterator](): IterableIterator<PyValue>;
|
|
107
|
+
private valueInfo;
|
|
108
|
+
private normalizeNumeric;
|
|
109
|
+
}
|
|
72
110
|
export declare class PyFile {
|
|
73
111
|
path: string;
|
|
74
112
|
mode: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-types.d.ts","sourceRoot":"","sources":["../../src/vm/runtime-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime-types.d.ts","sourceRoot":"","sources":["../../src/vm/runtime-types.ts"],"names":[],"mappings":"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"}
|