@cuxt/sandboxjs 0.1.1 → 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/LICENSE +21 -21
- package/README.md +198 -185
- package/{build → dist/cjs}/Sandbox.d.ts +15 -6
- package/dist/cjs/Sandbox.js +126 -0
- package/dist/{SandboxExec.d.ts → cjs/SandboxExec.d.ts} +8 -17
- package/dist/cjs/SandboxExec.js +227 -0
- package/{build/eval.d.ts → dist/cjs/eval/index.d.ts} +10 -2
- package/dist/cjs/eval/index.js +233 -0
- package/dist/cjs/executor/executorUtils.d.ts +161 -0
- package/dist/cjs/executor/executorUtils.js +930 -0
- package/dist/cjs/executor/index.d.ts +1 -0
- package/dist/cjs/executor/index.js +2 -0
- package/dist/cjs/executor/ops/assignment.d.ts +1 -0
- package/dist/cjs/executor/ops/assignment.js +88 -0
- package/dist/cjs/executor/ops/call.d.ts +1 -0
- package/dist/cjs/executor/ops/call.js +160 -0
- package/dist/cjs/executor/ops/comparison.d.ts +1 -0
- package/dist/cjs/executor/ops/comparison.js +36 -0
- package/dist/cjs/executor/ops/control.d.ts +1 -0
- package/dist/cjs/executor/ops/control.js +203 -0
- package/dist/cjs/executor/ops/functions.d.ts +1 -0
- package/dist/cjs/executor/ops/functions.js +55 -0
- package/dist/cjs/executor/ops/index.d.ts +0 -0
- package/dist/cjs/executor/ops/index.js +11 -0
- package/dist/cjs/executor/ops/literals.d.ts +1 -0
- package/dist/cjs/executor/ops/literals.js +45 -0
- package/dist/cjs/executor/ops/misc.d.ts +1 -0
- package/dist/cjs/executor/ops/misc.js +25 -0
- package/dist/cjs/executor/ops/object.d.ts +1 -0
- package/dist/cjs/executor/ops/object.js +51 -0
- package/dist/cjs/executor/ops/prop.d.ts +1 -0
- package/dist/cjs/executor/ops/prop.js +70 -0
- package/dist/cjs/executor/ops/unary.d.ts +1 -0
- package/dist/cjs/executor/ops/unary.js +48 -0
- package/dist/cjs/executor/ops/variables.d.ts +1 -0
- package/dist/cjs/executor/ops/variables.js +16 -0
- package/dist/cjs/executor/opsRegistry.d.ts +33 -0
- package/dist/cjs/executor/opsRegistry.js +8 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/parser/index.d.ts +3 -0
- package/dist/cjs/parser/index.js +1 -0
- package/dist/{parser.d.ts → cjs/parser/lisp.d.ts} +29 -42
- package/dist/cjs/parser/lispTypes/conditionals.d.ts +2 -0
- package/dist/cjs/parser/lispTypes/conditionals.js +135 -0
- package/dist/cjs/parser/lispTypes/control.d.ts +2 -0
- package/dist/cjs/parser/lispTypes/control.js +204 -0
- package/dist/cjs/parser/lispTypes/declarations.d.ts +2 -0
- package/dist/cjs/parser/lispTypes/declarations.js +99 -0
- package/dist/cjs/parser/lispTypes/index.d.ts +3 -0
- package/dist/cjs/parser/lispTypes/index.js +17 -0
- package/dist/cjs/parser/lispTypes/operators.d.ts +2 -0
- package/dist/cjs/parser/lispTypes/operators.js +252 -0
- package/dist/cjs/parser/lispTypes/shared.d.ts +38 -0
- package/dist/cjs/parser/lispTypes/structures.d.ts +2 -0
- package/dist/cjs/parser/lispTypes/structures.js +188 -0
- package/dist/cjs/parser/lispTypes/values.d.ts +2 -0
- package/dist/cjs/parser/lispTypes/values.js +89 -0
- package/dist/cjs/parser/parserUtils.d.ts +34 -0
- package/dist/cjs/parser/parserUtils.js +968 -0
- package/dist/cjs/utils/CodeString.d.ts +16 -0
- package/dist/cjs/utils/CodeString.js +64 -0
- package/dist/cjs/utils/ExecContext.d.ts +34 -0
- package/dist/cjs/utils/ExecContext.js +171 -0
- package/dist/cjs/utils/Prop.d.ts +16 -0
- package/dist/cjs/utils/Prop.js +81 -0
- package/dist/cjs/utils/Scope.d.ts +47 -0
- package/dist/cjs/utils/Scope.js +127 -0
- package/dist/cjs/utils/errors.d.ts +10 -0
- package/dist/cjs/utils/errors.js +12 -0
- package/dist/cjs/utils/functionReplacements.d.ts +11 -0
- package/dist/cjs/utils/functionReplacements.js +362 -0
- package/dist/cjs/utils/index.d.ts +7 -0
- package/dist/cjs/utils/index.js +7 -0
- package/dist/cjs/utils/types.d.ts +221 -0
- package/dist/cjs/utils/types.js +164 -0
- package/dist/cjs/utils/unraw.js +145 -0
- package/dist/{node → esm}/Sandbox.d.ts +15 -6
- package/dist/esm/Sandbox.js +115 -0
- package/dist/esm/Sandbox.js.map +1 -0
- package/{build → dist/esm}/SandboxExec.d.ts +8 -17
- package/dist/esm/SandboxExec.js +224 -0
- package/dist/esm/SandboxExec.js.map +1 -0
- package/dist/{eval.d.ts → esm/eval/index.d.ts} +10 -2
- package/dist/esm/eval/index.js +235 -0
- package/dist/esm/eval/index.js.map +1 -0
- package/dist/esm/executor/executorUtils.d.ts +161 -0
- package/dist/esm/executor/executorUtils.js +898 -0
- package/dist/esm/executor/executorUtils.js.map +1 -0
- package/dist/esm/executor/index.d.ts +1 -0
- package/dist/esm/executor/index.js +2 -0
- package/dist/esm/executor/ops/assignment.d.ts +1 -0
- package/dist/esm/executor/ops/assignment.js +90 -0
- package/dist/esm/executor/ops/assignment.js.map +1 -0
- package/dist/esm/executor/ops/call.d.ts +1 -0
- package/dist/esm/executor/ops/call.js +162 -0
- package/dist/esm/executor/ops/call.js.map +1 -0
- package/dist/esm/executor/ops/comparison.d.ts +1 -0
- package/dist/esm/executor/ops/comparison.js +38 -0
- package/dist/esm/executor/ops/comparison.js.map +1 -0
- package/dist/esm/executor/ops/control.d.ts +1 -0
- package/dist/esm/executor/ops/control.js +205 -0
- package/dist/esm/executor/ops/control.js.map +1 -0
- package/dist/esm/executor/ops/functions.d.ts +1 -0
- package/dist/esm/executor/ops/functions.js +57 -0
- package/dist/esm/executor/ops/functions.js.map +1 -0
- package/dist/esm/executor/ops/index.d.ts +0 -0
- package/dist/esm/executor/ops/index.js +11 -0
- package/dist/esm/executor/ops/literals.d.ts +1 -0
- package/dist/esm/executor/ops/literals.js +47 -0
- package/dist/esm/executor/ops/literals.js.map +1 -0
- package/dist/esm/executor/ops/misc.d.ts +1 -0
- package/dist/esm/executor/ops/misc.js +27 -0
- package/dist/esm/executor/ops/misc.js.map +1 -0
- package/dist/esm/executor/ops/object.d.ts +1 -0
- package/dist/esm/executor/ops/object.js +53 -0
- package/dist/esm/executor/ops/object.js.map +1 -0
- package/dist/esm/executor/ops/prop.d.ts +1 -0
- package/dist/esm/executor/ops/prop.js +72 -0
- package/dist/esm/executor/ops/prop.js.map +1 -0
- package/dist/esm/executor/ops/unary.d.ts +1 -0
- package/dist/esm/executor/ops/unary.js +50 -0
- package/dist/esm/executor/ops/unary.js.map +1 -0
- package/dist/esm/executor/ops/variables.d.ts +1 -0
- package/dist/esm/executor/ops/variables.js +18 -0
- package/dist/esm/executor/ops/variables.js.map +1 -0
- package/dist/esm/executor/opsRegistry.d.ts +33 -0
- package/dist/esm/executor/opsRegistry.js +9 -0
- package/dist/esm/executor/opsRegistry.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/parser/index.d.ts +3 -0
- package/dist/esm/parser/index.js +1 -0
- package/{build/parser.d.ts → dist/esm/parser/lisp.d.ts} +29 -42
- package/dist/esm/parser/lispTypes/conditionals.d.ts +2 -0
- package/dist/esm/parser/lispTypes/conditionals.js +137 -0
- package/dist/esm/parser/lispTypes/conditionals.js.map +1 -0
- package/dist/esm/parser/lispTypes/control.d.ts +2 -0
- package/dist/esm/parser/lispTypes/control.js +206 -0
- package/dist/esm/parser/lispTypes/control.js.map +1 -0
- package/dist/esm/parser/lispTypes/declarations.d.ts +2 -0
- package/dist/esm/parser/lispTypes/declarations.js +101 -0
- package/dist/esm/parser/lispTypes/declarations.js.map +1 -0
- package/dist/esm/parser/lispTypes/index.d.ts +3 -0
- package/dist/esm/parser/lispTypes/index.js +19 -0
- package/dist/esm/parser/lispTypes/index.js.map +1 -0
- package/dist/esm/parser/lispTypes/operators.d.ts +2 -0
- package/dist/esm/parser/lispTypes/operators.js +254 -0
- package/dist/esm/parser/lispTypes/operators.js.map +1 -0
- package/dist/esm/parser/lispTypes/shared.d.ts +38 -0
- package/dist/esm/parser/lispTypes/structures.d.ts +2 -0
- package/dist/esm/parser/lispTypes/structures.js +190 -0
- package/dist/esm/parser/lispTypes/structures.js.map +1 -0
- package/dist/esm/parser/lispTypes/values.d.ts +2 -0
- package/dist/esm/parser/lispTypes/values.js +91 -0
- package/dist/esm/parser/lispTypes/values.js.map +1 -0
- package/dist/esm/parser/parserUtils.d.ts +34 -0
- package/dist/esm/parser/parserUtils.js +959 -0
- package/dist/esm/parser/parserUtils.js.map +1 -0
- package/dist/esm/utils/CodeString.d.ts +16 -0
- package/dist/esm/utils/CodeString.js +66 -0
- package/dist/esm/utils/CodeString.js.map +1 -0
- package/dist/esm/utils/ExecContext.d.ts +34 -0
- package/dist/esm/utils/ExecContext.js +168 -0
- package/dist/esm/utils/ExecContext.js.map +1 -0
- package/dist/esm/utils/Prop.d.ts +16 -0
- package/dist/esm/utils/Prop.js +80 -0
- package/dist/esm/utils/Prop.js.map +1 -0
- package/dist/esm/utils/Scope.d.ts +47 -0
- package/dist/esm/utils/Scope.js +122 -0
- package/dist/esm/utils/Scope.js.map +1 -0
- package/dist/esm/utils/errors.d.ts +10 -0
- package/dist/esm/utils/errors.js +10 -0
- package/dist/esm/utils/errors.js.map +1 -0
- package/dist/esm/utils/functionReplacements.d.ts +11 -0
- package/dist/esm/utils/functionReplacements.js +361 -0
- package/dist/esm/utils/functionReplacements.js.map +1 -0
- package/dist/esm/utils/index.d.ts +7 -0
- package/dist/esm/utils/index.js +7 -0
- package/dist/esm/utils/types.d.ts +221 -0
- package/dist/esm/utils/types.js +160 -0
- package/dist/esm/utils/types.js.map +1 -0
- package/dist/esm/utils/unraw.js +147 -0
- package/dist/esm/utils/unraw.js.map +1 -0
- package/dist/umd/Sandbox.min.js +2 -0
- package/dist/umd/Sandbox.min.js.map +1 -0
- package/dist/umd/SandboxExec.min.js +2 -0
- package/dist/umd/SandboxExec.min.js.map +1 -0
- package/package.json +11 -9
- package/build/Sandbox.js +0 -62
- package/build/SandboxExec.js +0 -214
- package/build/eval.js +0 -205
- package/build/executor.d.ts +0 -124
- package/build/executor.js +0 -1554
- package/build/parser.js +0 -1527
- package/build/unraw.js +0 -168
- package/build/utils.d.ts +0 -264
- package/build/utils.js +0 -362
- package/dist/Sandbox.d.ts +0 -25
- package/dist/Sandbox.js +0 -270
- package/dist/Sandbox.js.map +0 -1
- package/dist/Sandbox.min.js +0 -2
- package/dist/Sandbox.min.js.map +0 -1
- package/dist/SandboxExec.js +0 -218
- package/dist/SandboxExec.js.map +0 -1
- package/dist/SandboxExec.min.js +0 -2
- package/dist/SandboxExec.min.js.map +0 -1
- package/dist/executor.d.ts +0 -124
- package/dist/executor.js +0 -1558
- package/dist/executor.js.map +0 -1
- package/dist/node/Sandbox.js +0 -277
- package/dist/node/SandboxExec.d.ts +0 -66
- package/dist/node/SandboxExec.js +0 -225
- package/dist/node/eval.d.ts +0 -27
- package/dist/node/executor.d.ts +0 -124
- package/dist/node/executor.js +0 -1575
- package/dist/node/parser.d.ts +0 -154
- package/dist/node/parser.js +0 -1704
- package/dist/node/utils.d.ts +0 -264
- package/dist/node/utils.js +0 -385
- package/dist/parser.js +0 -1690
- package/dist/parser.js.map +0 -1
- package/dist/unraw.d.ts +0 -11
- package/dist/utils.d.ts +0 -264
- package/dist/utils.js +0 -365
- package/dist/utils.js.map +0 -1
- /package/{build → dist/cjs/utils}/unraw.d.ts +0 -0
- /package/dist/{node → esm/utils}/unraw.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"values.js","names":[],"sources":["../../../../src/parser/lispTypes/values.ts"],"sourcesContent":["import { LispType } from '../../utils';\nimport type {\n Await,\n BigInt as BigIntLisp,\n GlobalSymbol,\n LiteralIndex,\n Number as NumberLisp,\n RegexIndex,\n Return,\n StringIndex,\n Throw,\n Void,\n Yield,\n YieldDelegate,\n} from '../lisp';\nimport type { RegisterLispTypesDeps } from './shared';\n\nexport function registerValueLispTypes({\n createLisp,\n expectTypes,\n lispify,\n lispifyExpr,\n restOfExp,\n semiColon,\n setLispType,\n}: RegisterLispTypesDeps) {\n setLispType(['return', 'throw'] as const, (ctx) => {\n const { constants, type, part, res } = ctx;\n const expr = part.substring(res[0].length);\n if (type === 'throw' && !expr.trimStart().length) {\n throw new SyntaxError('Unexpected end of expression');\n }\n ctx.lispTree = createLisp<Return | Throw>({\n op: type === 'return' ? LispType.Return : LispType.Throw,\n a: LispType.None,\n b: lispifyExpr(constants, expr, undefined, ctx),\n });\n });\n\n setLispType(['number', 'boolean', 'null', 'und', 'NaN', 'Infinity'] as const, (ctx) => {\n const { constants, type, part, res, expect } = ctx;\n ctx.lispTree = lispify(\n constants,\n part.substring(res[0].length),\n expectTypes[expect].next,\n createLisp<NumberLisp | BigIntLisp | GlobalSymbol>({\n op:\n type === 'number' ? (res[12] ? LispType.BigInt : LispType.Number) : LispType.GlobalSymbol,\n a: LispType.None,\n b: res[12] ? res[1] : res[0],\n }),\n false,\n ctx,\n );\n });\n\n setLispType(['string', 'literal', 'regex'] as const, (ctx) => {\n const { constants, type, part, res, expect } = ctx;\n ctx.lispTree = lispify(\n constants,\n part.substring(res[0].length),\n expectTypes[expect].next,\n createLisp<StringIndex | LiteralIndex | RegexIndex>({\n op:\n type === 'string'\n ? LispType.StringIndex\n : type === 'literal'\n ? LispType.LiteralIndex\n : LispType.RegexIndex,\n a: LispType.None,\n b: res[1],\n }),\n false,\n ctx,\n );\n });\n\n setLispType(['void', 'await'] as const, (ctx) => {\n const { constants, type, part, res, expect } = ctx;\n const extract = restOfExp(constants, part.substring(res[0].length), [/^([^\\s.?\\w$]|\\?[^.])/]);\n if (!extract.trimStart().length) {\n throw new SyntaxError('Unexpected end of expression');\n }\n ctx.lispTree = lispify(\n constants,\n part.substring(res[0].length + extract.length),\n expectTypes[expect].next,\n createLisp<Void | Await>({\n op: type === 'void' ? LispType.Void : LispType.Await,\n a: lispify(constants, extract),\n b: LispType.None,\n }),\n false,\n ctx,\n );\n });\n\n setLispType(['yield'] as const, (ctx) => {\n const { constants, part, res, expect, generatorDepth } = ctx;\n if (generatorDepth === 0) {\n throw new SyntaxError('Unexpected token');\n }\n const isDelegate = res[0].trimEnd().endsWith('*');\n const extract = restOfExp(constants, part.substring(res[0].length), [/^([^\\s.?\\w$]|\\?[^.])/]);\n if (isDelegate && !extract.trimStart().length) {\n throw new SyntaxError('Unexpected end of expression');\n }\n ctx.lispTree = lispify(\n constants,\n part.substring(res[0].length + extract.length),\n expectTypes[expect].next,\n createLisp<Yield | YieldDelegate>({\n op: isDelegate ? LispType.YieldDelegate : LispType.Yield,\n a: lispify(constants, extract),\n b: LispType.None,\n }),\n false,\n ctx,\n );\n });\n\n setLispType(['new'] as const, (ctx) => {\n const { constants, part, res } = ctx;\n let i = res[0].length;\n const obj = restOfExp(constants, part.substring(i), [], undefined, '(');\n if (!obj.trimStart().length) {\n throw new SyntaxError('Unexpected end of expression');\n }\n i += obj.length + 1;\n const args = [];\n if (part.char(i - 1) === '(') {\n const argsString = restOfExp(constants, part.substring(i), [], '(');\n i += argsString.length + 1;\n let found;\n let j = 0;\n while ((found = restOfExp(constants, argsString.substring(j), [/^,/])).length) {\n j += found.length + 1;\n args.push(found.trim());\n }\n }\n ctx.lispTree = lispify(\n constants,\n part.substring(i),\n expectTypes.expEdge.next,\n createLisp({\n op: LispType.New,\n a: lispify(constants, obj, expectTypes.initialize.next),\n b: args.map((arg) => lispify(constants, arg, expectTypes.initialize.next)),\n }),\n false,\n ctx,\n );\n });\n\n void semiColon;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { CodeString } from '../utils';
|
|
2
|
+
import { IConstants, IExecutionTree, IRegEx, Lisp, LispCallback, LispDepthCtx, Return } from './lisp';
|
|
3
|
+
export declare class ParseError extends Error {
|
|
4
|
+
code: string;
|
|
5
|
+
constructor(message: string, code: string);
|
|
6
|
+
}
|
|
7
|
+
export declare const expectTypes: Record<string, {
|
|
8
|
+
types: Record<string, RegExp>;
|
|
9
|
+
next: string[];
|
|
10
|
+
}>;
|
|
11
|
+
export declare function testMultiple(str: string, tests: RegExp[]): RegExpExecArray | null;
|
|
12
|
+
export interface restDetails {
|
|
13
|
+
oneliner?: boolean;
|
|
14
|
+
words?: string[];
|
|
15
|
+
lastWord?: string;
|
|
16
|
+
lastAnyWord?: string;
|
|
17
|
+
regRes?: RegExpExecArray;
|
|
18
|
+
bodyContentAfterKeyword?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare function restOfExp(constants: IConstants, part: CodeString, tests?: RegExp[], quote?: string, firstOpening?: string, closingsTests?: RegExp[], details?: restDetails, depth?: number): CodeString;
|
|
21
|
+
export declare namespace restOfExp {
|
|
22
|
+
var next: string[];
|
|
23
|
+
}
|
|
24
|
+
export declare const setLispType: <T extends readonly string[]>(types: T, fn: LispCallback<T[number]>) => void;
|
|
25
|
+
export declare function lispifyReturnExpr(constants: IConstants, str: CodeString): Return;
|
|
26
|
+
export declare function lispifyBlock(str: CodeString, constants: IConstants, expression?: boolean, depthCtx?: LispDepthCtx): Lisp[];
|
|
27
|
+
export declare function lispifyFunction(str: CodeString, constants: IConstants, expression?: boolean, depthCtx?: LispDepthCtx): Lisp[];
|
|
28
|
+
export declare function insertSemicolons(constants: IConstants, str: CodeString): CodeString;
|
|
29
|
+
export declare function checkRegex(str: string): IRegEx | null;
|
|
30
|
+
export declare function extractConstants(constants: IConstants, str: string, currentEnclosure?: string, depth?: number): {
|
|
31
|
+
str: string;
|
|
32
|
+
length: number;
|
|
33
|
+
};
|
|
34
|
+
export default function parse(code: string, eager?: boolean, expression?: boolean, maxParserRecursionDepth?: number): IExecutionTree;
|