@cuxt/sandboxjs 0.1.0 → 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.
Files changed (226) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +198 -185
  3. package/{build → dist/cjs}/Sandbox.d.ts +15 -6
  4. package/dist/cjs/Sandbox.js +126 -0
  5. package/dist/{SandboxExec.d.ts → cjs/SandboxExec.d.ts} +8 -17
  6. package/dist/cjs/SandboxExec.js +227 -0
  7. package/{build/eval.d.ts → dist/cjs/eval/index.d.ts} +10 -2
  8. package/dist/cjs/eval/index.js +233 -0
  9. package/dist/cjs/executor/executorUtils.d.ts +161 -0
  10. package/dist/cjs/executor/executorUtils.js +930 -0
  11. package/dist/cjs/executor/index.d.ts +1 -0
  12. package/dist/cjs/executor/index.js +2 -0
  13. package/dist/cjs/executor/ops/assignment.d.ts +1 -0
  14. package/dist/cjs/executor/ops/assignment.js +88 -0
  15. package/dist/cjs/executor/ops/call.d.ts +1 -0
  16. package/dist/cjs/executor/ops/call.js +160 -0
  17. package/dist/cjs/executor/ops/comparison.d.ts +1 -0
  18. package/dist/cjs/executor/ops/comparison.js +36 -0
  19. package/dist/cjs/executor/ops/control.d.ts +1 -0
  20. package/dist/cjs/executor/ops/control.js +203 -0
  21. package/dist/cjs/executor/ops/functions.d.ts +1 -0
  22. package/dist/cjs/executor/ops/functions.js +55 -0
  23. package/dist/cjs/executor/ops/index.d.ts +0 -0
  24. package/dist/cjs/executor/ops/index.js +11 -0
  25. package/dist/cjs/executor/ops/literals.d.ts +1 -0
  26. package/dist/cjs/executor/ops/literals.js +45 -0
  27. package/dist/cjs/executor/ops/misc.d.ts +1 -0
  28. package/dist/cjs/executor/ops/misc.js +25 -0
  29. package/dist/cjs/executor/ops/object.d.ts +1 -0
  30. package/dist/cjs/executor/ops/object.js +51 -0
  31. package/dist/cjs/executor/ops/prop.d.ts +1 -0
  32. package/dist/cjs/executor/ops/prop.js +70 -0
  33. package/dist/cjs/executor/ops/unary.d.ts +1 -0
  34. package/dist/cjs/executor/ops/unary.js +48 -0
  35. package/dist/cjs/executor/ops/variables.d.ts +1 -0
  36. package/dist/cjs/executor/ops/variables.js +16 -0
  37. package/dist/cjs/executor/opsRegistry.d.ts +33 -0
  38. package/dist/cjs/executor/opsRegistry.js +8 -0
  39. package/dist/cjs/package.json +3 -0
  40. package/dist/cjs/parser/index.d.ts +3 -0
  41. package/dist/cjs/parser/index.js +1 -0
  42. package/dist/{parser.d.ts → cjs/parser/lisp.d.ts} +29 -42
  43. package/dist/cjs/parser/lispTypes/conditionals.d.ts +2 -0
  44. package/dist/cjs/parser/lispTypes/conditionals.js +135 -0
  45. package/dist/cjs/parser/lispTypes/control.d.ts +2 -0
  46. package/dist/cjs/parser/lispTypes/control.js +204 -0
  47. package/dist/cjs/parser/lispTypes/declarations.d.ts +2 -0
  48. package/dist/cjs/parser/lispTypes/declarations.js +99 -0
  49. package/dist/cjs/parser/lispTypes/index.d.ts +3 -0
  50. package/dist/cjs/parser/lispTypes/index.js +17 -0
  51. package/dist/cjs/parser/lispTypes/operators.d.ts +2 -0
  52. package/dist/cjs/parser/lispTypes/operators.js +252 -0
  53. package/dist/cjs/parser/lispTypes/shared.d.ts +38 -0
  54. package/dist/cjs/parser/lispTypes/structures.d.ts +2 -0
  55. package/dist/cjs/parser/lispTypes/structures.js +188 -0
  56. package/dist/cjs/parser/lispTypes/values.d.ts +2 -0
  57. package/dist/cjs/parser/lispTypes/values.js +89 -0
  58. package/dist/cjs/parser/parserUtils.d.ts +34 -0
  59. package/dist/cjs/parser/parserUtils.js +968 -0
  60. package/dist/cjs/utils/CodeString.d.ts +16 -0
  61. package/dist/cjs/utils/CodeString.js +64 -0
  62. package/dist/cjs/utils/ExecContext.d.ts +34 -0
  63. package/dist/cjs/utils/ExecContext.js +171 -0
  64. package/dist/cjs/utils/Prop.d.ts +16 -0
  65. package/dist/cjs/utils/Prop.js +81 -0
  66. package/dist/cjs/utils/Scope.d.ts +47 -0
  67. package/dist/cjs/utils/Scope.js +127 -0
  68. package/dist/cjs/utils/errors.d.ts +10 -0
  69. package/dist/cjs/utils/errors.js +12 -0
  70. package/dist/cjs/utils/functionReplacements.d.ts +11 -0
  71. package/dist/cjs/utils/functionReplacements.js +362 -0
  72. package/dist/cjs/utils/index.d.ts +7 -0
  73. package/dist/cjs/utils/index.js +7 -0
  74. package/dist/cjs/utils/types.d.ts +221 -0
  75. package/dist/cjs/utils/types.js +164 -0
  76. package/dist/cjs/utils/unraw.js +145 -0
  77. package/dist/{node → esm}/Sandbox.d.ts +15 -6
  78. package/dist/esm/Sandbox.js +115 -0
  79. package/dist/esm/Sandbox.js.map +1 -0
  80. package/{build → dist/esm}/SandboxExec.d.ts +8 -17
  81. package/dist/esm/SandboxExec.js +224 -0
  82. package/dist/esm/SandboxExec.js.map +1 -0
  83. package/dist/{eval.d.ts → esm/eval/index.d.ts} +10 -2
  84. package/dist/esm/eval/index.js +235 -0
  85. package/dist/esm/eval/index.js.map +1 -0
  86. package/dist/esm/executor/executorUtils.d.ts +161 -0
  87. package/dist/esm/executor/executorUtils.js +898 -0
  88. package/dist/esm/executor/executorUtils.js.map +1 -0
  89. package/dist/esm/executor/index.d.ts +1 -0
  90. package/dist/esm/executor/index.js +2 -0
  91. package/dist/esm/executor/ops/assignment.d.ts +1 -0
  92. package/dist/esm/executor/ops/assignment.js +90 -0
  93. package/dist/esm/executor/ops/assignment.js.map +1 -0
  94. package/dist/esm/executor/ops/call.d.ts +1 -0
  95. package/dist/esm/executor/ops/call.js +162 -0
  96. package/dist/esm/executor/ops/call.js.map +1 -0
  97. package/dist/esm/executor/ops/comparison.d.ts +1 -0
  98. package/dist/esm/executor/ops/comparison.js +38 -0
  99. package/dist/esm/executor/ops/comparison.js.map +1 -0
  100. package/dist/esm/executor/ops/control.d.ts +1 -0
  101. package/dist/esm/executor/ops/control.js +205 -0
  102. package/dist/esm/executor/ops/control.js.map +1 -0
  103. package/dist/esm/executor/ops/functions.d.ts +1 -0
  104. package/dist/esm/executor/ops/functions.js +57 -0
  105. package/dist/esm/executor/ops/functions.js.map +1 -0
  106. package/dist/esm/executor/ops/index.d.ts +0 -0
  107. package/dist/esm/executor/ops/index.js +11 -0
  108. package/dist/esm/executor/ops/literals.d.ts +1 -0
  109. package/dist/esm/executor/ops/literals.js +47 -0
  110. package/dist/esm/executor/ops/literals.js.map +1 -0
  111. package/dist/esm/executor/ops/misc.d.ts +1 -0
  112. package/dist/esm/executor/ops/misc.js +27 -0
  113. package/dist/esm/executor/ops/misc.js.map +1 -0
  114. package/dist/esm/executor/ops/object.d.ts +1 -0
  115. package/dist/esm/executor/ops/object.js +53 -0
  116. package/dist/esm/executor/ops/object.js.map +1 -0
  117. package/dist/esm/executor/ops/prop.d.ts +1 -0
  118. package/dist/esm/executor/ops/prop.js +72 -0
  119. package/dist/esm/executor/ops/prop.js.map +1 -0
  120. package/dist/esm/executor/ops/unary.d.ts +1 -0
  121. package/dist/esm/executor/ops/unary.js +50 -0
  122. package/dist/esm/executor/ops/unary.js.map +1 -0
  123. package/dist/esm/executor/ops/variables.d.ts +1 -0
  124. package/dist/esm/executor/ops/variables.js +18 -0
  125. package/dist/esm/executor/ops/variables.js.map +1 -0
  126. package/dist/esm/executor/opsRegistry.d.ts +33 -0
  127. package/dist/esm/executor/opsRegistry.js +9 -0
  128. package/dist/esm/executor/opsRegistry.js.map +1 -0
  129. package/dist/esm/package.json +3 -0
  130. package/dist/esm/parser/index.d.ts +3 -0
  131. package/dist/esm/parser/index.js +1 -0
  132. package/{build/parser.d.ts → dist/esm/parser/lisp.d.ts} +29 -42
  133. package/dist/esm/parser/lispTypes/conditionals.d.ts +2 -0
  134. package/dist/esm/parser/lispTypes/conditionals.js +137 -0
  135. package/dist/esm/parser/lispTypes/conditionals.js.map +1 -0
  136. package/dist/esm/parser/lispTypes/control.d.ts +2 -0
  137. package/dist/esm/parser/lispTypes/control.js +206 -0
  138. package/dist/esm/parser/lispTypes/control.js.map +1 -0
  139. package/dist/esm/parser/lispTypes/declarations.d.ts +2 -0
  140. package/dist/esm/parser/lispTypes/declarations.js +101 -0
  141. package/dist/esm/parser/lispTypes/declarations.js.map +1 -0
  142. package/dist/esm/parser/lispTypes/index.d.ts +3 -0
  143. package/dist/esm/parser/lispTypes/index.js +19 -0
  144. package/dist/esm/parser/lispTypes/index.js.map +1 -0
  145. package/dist/esm/parser/lispTypes/operators.d.ts +2 -0
  146. package/dist/esm/parser/lispTypes/operators.js +254 -0
  147. package/dist/esm/parser/lispTypes/operators.js.map +1 -0
  148. package/dist/esm/parser/lispTypes/shared.d.ts +38 -0
  149. package/dist/esm/parser/lispTypes/structures.d.ts +2 -0
  150. package/dist/esm/parser/lispTypes/structures.js +190 -0
  151. package/dist/esm/parser/lispTypes/structures.js.map +1 -0
  152. package/dist/esm/parser/lispTypes/values.d.ts +2 -0
  153. package/dist/esm/parser/lispTypes/values.js +91 -0
  154. package/dist/esm/parser/lispTypes/values.js.map +1 -0
  155. package/dist/esm/parser/parserUtils.d.ts +34 -0
  156. package/dist/esm/parser/parserUtils.js +959 -0
  157. package/dist/esm/parser/parserUtils.js.map +1 -0
  158. package/dist/esm/utils/CodeString.d.ts +16 -0
  159. package/dist/esm/utils/CodeString.js +66 -0
  160. package/dist/esm/utils/CodeString.js.map +1 -0
  161. package/dist/esm/utils/ExecContext.d.ts +34 -0
  162. package/dist/esm/utils/ExecContext.js +168 -0
  163. package/dist/esm/utils/ExecContext.js.map +1 -0
  164. package/dist/esm/utils/Prop.d.ts +16 -0
  165. package/dist/esm/utils/Prop.js +80 -0
  166. package/dist/esm/utils/Prop.js.map +1 -0
  167. package/dist/esm/utils/Scope.d.ts +47 -0
  168. package/dist/esm/utils/Scope.js +122 -0
  169. package/dist/esm/utils/Scope.js.map +1 -0
  170. package/dist/esm/utils/errors.d.ts +10 -0
  171. package/dist/esm/utils/errors.js +10 -0
  172. package/dist/esm/utils/errors.js.map +1 -0
  173. package/dist/esm/utils/functionReplacements.d.ts +11 -0
  174. package/dist/esm/utils/functionReplacements.js +361 -0
  175. package/dist/esm/utils/functionReplacements.js.map +1 -0
  176. package/dist/esm/utils/index.d.ts +7 -0
  177. package/dist/esm/utils/index.js +7 -0
  178. package/dist/esm/utils/types.d.ts +221 -0
  179. package/dist/esm/utils/types.js +160 -0
  180. package/dist/esm/utils/types.js.map +1 -0
  181. package/dist/esm/utils/unraw.js +147 -0
  182. package/dist/esm/utils/unraw.js.map +1 -0
  183. package/dist/umd/Sandbox.min.js +2 -0
  184. package/dist/umd/Sandbox.min.js.map +1 -0
  185. package/dist/umd/SandboxExec.min.js +2 -0
  186. package/dist/umd/SandboxExec.min.js.map +1 -0
  187. package/package.json +70 -68
  188. package/build/Sandbox.js +0 -62
  189. package/build/SandboxExec.js +0 -214
  190. package/build/eval.js +0 -205
  191. package/build/executor.d.ts +0 -124
  192. package/build/executor.js +0 -1546
  193. package/build/parser.js +0 -1527
  194. package/build/unraw.js +0 -168
  195. package/build/utils.d.ts +0 -264
  196. package/build/utils.js +0 -362
  197. package/dist/Sandbox.d.ts +0 -25
  198. package/dist/Sandbox.js +0 -270
  199. package/dist/Sandbox.js.map +0 -1
  200. package/dist/Sandbox.min.js +0 -2
  201. package/dist/Sandbox.min.js.map +0 -1
  202. package/dist/SandboxExec.js +0 -218
  203. package/dist/SandboxExec.js.map +0 -1
  204. package/dist/SandboxExec.min.js +0 -2
  205. package/dist/SandboxExec.min.js.map +0 -1
  206. package/dist/executor.d.ts +0 -124
  207. package/dist/executor.js +0 -1550
  208. package/dist/executor.js.map +0 -1
  209. package/dist/node/Sandbox.js +0 -277
  210. package/dist/node/SandboxExec.d.ts +0 -66
  211. package/dist/node/SandboxExec.js +0 -225
  212. package/dist/node/eval.d.ts +0 -27
  213. package/dist/node/executor.d.ts +0 -124
  214. package/dist/node/executor.js +0 -1567
  215. package/dist/node/parser.d.ts +0 -154
  216. package/dist/node/parser.js +0 -1704
  217. package/dist/node/utils.d.ts +0 -264
  218. package/dist/node/utils.js +0 -385
  219. package/dist/parser.js +0 -1690
  220. package/dist/parser.js.map +0 -1
  221. package/dist/unraw.d.ts +0 -11
  222. package/dist/utils.d.ts +0 -264
  223. package/dist/utils.js +0 -365
  224. package/dist/utils.js.map +0 -1
  225. /package/{build → dist/cjs/utils}/unraw.d.ts +0 -0
  226. /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;