@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.
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 +11 -9
  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 -1554
  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 -1558
  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 -1575
  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
@@ -1,154 +0,0 @@
1
- import { CodeString, LispType } from './utils.js';
2
- export type DefineLisp<op extends LispType, a extends LispItem | LispItem, b extends LispItem | LispItem> = [op, a, b];
3
- export type ExtractLispOp<L> = L extends DefineLisp<infer i, any, any> ? i : never;
4
- export type ExtractLispA<L> = L extends DefineLisp<any, infer i, any> ? i : never;
5
- export type ExtractLispB<L> = L extends DefineLisp<any, any, infer i> ? i : never;
6
- export type LispItemSingle = LispType.None | LispType.True | string | Lisp;
7
- export type LispItem = LispItemSingle | LispItemSingle[];
8
- export type Lisp = [LispType, LispItem, LispItem];
9
- export type Literal = DefineLisp<LispType.Literal, string, Lisp[]> & {
10
- tempJsStrings?: string[];
11
- };
12
- export type If = DefineLisp<LispType.If, Lisp, IfCase>;
13
- export type InlineIf = DefineLisp<LispType.InlineIf, Lisp, InlineIfCase>;
14
- export type IfCase = DefineLisp<LispType.IfCase, Lisp[], Lisp[]>;
15
- export type InlineIfCase = DefineLisp<LispType.InlineIfCase, Lisp, Lisp>;
16
- export type KeyVal = DefineLisp<LispType.KeyVal, string | Lisp, Lisp>;
17
- export type SpreadObject = DefineLisp<LispType.SpreadObject, LispType.None, Lisp>;
18
- export type SpreadArray = DefineLisp<LispType.SpreadArray, LispType.None, Lisp>;
19
- export type ArrayProp = DefineLisp<LispType.ArrayProp, Lisp, Lisp>;
20
- export type Prop = DefineLisp<LispType.Prop, Lisp, string | Lisp>;
21
- export type PropOptional = DefineLisp<LispType.PropOptional, Lisp, Lisp[]>;
22
- export type Call = DefineLisp<LispType.Call, Lisp, Lisp[]>;
23
- export type CallOptional = DefineLisp<LispType.CallOptional, Lisp, Lisp[]>;
24
- export type CreateArray = DefineLisp<LispType.CreateArray, Lisp, Lisp[]>;
25
- export type CreateObject = DefineLisp<LispType.CreateObject, Lisp, Lisp[]>;
26
- export type Group = DefineLisp<LispType.Group, Lisp, Lisp[]>;
27
- export type Inverse = DefineLisp<LispType.Inverse, Lisp, Lisp>;
28
- export type Not = DefineLisp<LispType.Not, Lisp, Lisp>;
29
- export type Negative = DefineLisp<LispType.Negative, Lisp, Lisp>;
30
- export type Positive = DefineLisp<LispType.Positive, Lisp, Lisp>;
31
- export type Typeof = DefineLisp<LispType.Typeof, Lisp, Lisp>;
32
- export type Delete = DefineLisp<LispType.Delete, Lisp, Lisp>;
33
- export type IncrementBefore = DefineLisp<LispType.IncrementBefore, Lisp, LispType.None>;
34
- export type IncrementAfter = DefineLisp<LispType.IncrementAfter, Lisp, LispType.None>;
35
- export type DecrementBefore = DefineLisp<LispType.DecrementBefore, Lisp, LispType.None>;
36
- export type DecrementAfter = DefineLisp<LispType.DecrementAfter, Lisp, LispType.None>;
37
- export type And = DefineLisp<LispType.And, Lisp, Lisp>;
38
- export type Or = DefineLisp<LispType.Or, Lisp, Lisp>;
39
- export type NullishCoalescing = DefineLisp<LispType.NullishCoalescing, Lisp, Lisp>;
40
- export type Instanceof = DefineLisp<LispType.Instanceof, Lisp, Lisp>;
41
- export type In = DefineLisp<LispType.In, Lisp, Lisp>;
42
- export type Assigns = DefineLisp<LispType.Assign, Lisp, Lisp>;
43
- export type SubractEquals = DefineLisp<LispType.SubractEquals, Lisp, Lisp>;
44
- export type AddEquals = DefineLisp<LispType.AddEquals, Lisp, Lisp>;
45
- export type DivideEquals = DefineLisp<LispType.DivideEquals, Lisp, Lisp>;
46
- export type PowerEquals = DefineLisp<LispType.PowerEquals, Lisp, Lisp>;
47
- export type MultiplyEquals = DefineLisp<LispType.MultiplyEquals, Lisp, Lisp>;
48
- export type ModulusEquals = DefineLisp<LispType.ModulusEquals, Lisp, Lisp>;
49
- export type BitNegateEquals = DefineLisp<LispType.BitNegateEquals, Lisp, Lisp>;
50
- export type BitAndEquals = DefineLisp<LispType.BitAndEquals, Lisp, Lisp>;
51
- export type BitOrEquals = DefineLisp<LispType.BitOrEquals, Lisp, Lisp>;
52
- export type UnsignedShiftRightEquals = DefineLisp<LispType.UnsignedShiftRightEquals, Lisp, Lisp>;
53
- export type ShiftLeftEquals = DefineLisp<LispType.ShiftLeftEquals, Lisp, Lisp>;
54
- export type ShiftRightEquals = DefineLisp<LispType.ShiftRightEquals, Lisp, Lisp>;
55
- export type AndEquals = DefineLisp<LispType.AndEquals, Lisp, Lisp>;
56
- export type OrEquals = DefineLisp<LispType.OrEquals, Lisp, Lisp>;
57
- export type NullishCoalescingEquals = DefineLisp<LispType.NullishCoalescingEquals, Lisp, Lisp>;
58
- export type BitAnd = DefineLisp<LispType.BitAnd, Lisp, Lisp>;
59
- export type BitOr = DefineLisp<LispType.BitOr, Lisp, Lisp>;
60
- export type BitNegate = DefineLisp<LispType.BitNegate, Lisp, Lisp>;
61
- export type BitShiftLeft = DefineLisp<LispType.BitShiftLeft, Lisp, Lisp>;
62
- export type BitShiftRight = DefineLisp<LispType.BitShiftRight, Lisp, Lisp>;
63
- export type BitUnsignedShiftRight = DefineLisp<LispType.BitUnsignedShiftRight, Lisp, Lisp>;
64
- export type SmallerEqualThan = DefineLisp<LispType.SmallerEqualThan, Lisp, Lisp>;
65
- export type LargerEqualThan = DefineLisp<LispType.LargerEqualThan, Lisp, Lisp>;
66
- export type SmallerThan = DefineLisp<LispType.SmallerThan, Lisp, Lisp>;
67
- export type LargerThan = DefineLisp<LispType.LargerThan, Lisp, Lisp>;
68
- export type StrictNotEqual = DefineLisp<LispType.StrictNotEqual, Lisp, Lisp>;
69
- export type NotEqual = DefineLisp<LispType.NotEqual, Lisp, Lisp>;
70
- export type StrictEqual = DefineLisp<LispType.StrictEqual, Lisp, Lisp>;
71
- export type Equal = DefineLisp<LispType.Equal, Lisp, Lisp>;
72
- export type Plus = DefineLisp<LispType.Plus, Lisp, Lisp>;
73
- export type Minus = DefineLisp<LispType.Minus, Lisp, Lisp>;
74
- export type Divide = DefineLisp<LispType.Divide, Lisp, Lisp>;
75
- export type Power = DefineLisp<LispType.Power, Lisp, Lisp>;
76
- export type Multiply = DefineLisp<LispType.Multiply, Lisp, Lisp>;
77
- export type Modulus = DefineLisp<LispType.Modulus, Lisp, Lisp>;
78
- export type Block = DefineLisp<LispType.Block, Lisp[], LispType.None>;
79
- export type Expression = DefineLisp<LispType.Expression, Lisp[], LispType.None>;
80
- export type Return = DefineLisp<LispType.Return, LispType.None, Lisp>;
81
- export type Throw = DefineLisp<LispType.Throw, LispType.None, Lisp>;
82
- export type Switch = DefineLisp<LispType.Switch, Lisp, SwitchCase[]>;
83
- export type SwitchCase = DefineLisp<LispType.SwitchCase, LispType.None | Lisp, Lisp[]>;
84
- export type Var = DefineLisp<LispType.Var, string, Lisp | LispType.None>;
85
- export type Let = DefineLisp<LispType.Let, string, Lisp | LispType.None>;
86
- export type Const = DefineLisp<LispType.Const, string, Lisp | LispType.None>;
87
- export type Number = DefineLisp<LispType.Number, LispType.None, string>;
88
- export type BigInt = DefineLisp<LispType.BigInt, LispType.None, string>;
89
- export type GlobalSymbol = DefineLisp<LispType.GlobalSymbol, LispType.None, string>;
90
- export type LiteralIndex = DefineLisp<LispType.LiteralIndex, LispType.None, string>;
91
- export type StringIndex = DefineLisp<LispType.StringIndex, LispType.None, string>;
92
- export type RegexIndex = DefineLisp<LispType.RegexIndex, LispType.None, string>;
93
- export type Function = DefineLisp<LispType.Function, (string | LispType.None | LispType.True)[], string | Lisp[]>;
94
- export type InlineFunction = DefineLisp<LispType.InlineFunction, string[], string | Lisp[]>;
95
- export type ArrowFunction = DefineLisp<LispType.ArrowFunction, string[], string | Lisp[]>;
96
- export type Loop = DefineLisp<LispType.Loop, LispItem, Lisp[]>;
97
- export type LoopAction = DefineLisp<LispType.LoopAction, string, LispType.None>;
98
- export type Try = DefineLisp<LispType.Try, Lisp[], LispItem>;
99
- export type Void = DefineLisp<LispType.Void, Lisp, LispType.None>;
100
- export type Await = DefineLisp<LispType.Await, Lisp, LispType.None>;
101
- export type New = DefineLisp<LispType.New, Lisp, Lisp[]>;
102
- export type None = DefineLisp<LispType.None, LispType.None, LispType.None>;
103
- export type LispFamily = Literal | If | InlineIf | IfCase | InlineIfCase | KeyVal | SpreadObject | SpreadArray | ArrayProp | Prop | PropOptional | Call | CallOptional | CreateArray | CreateObject | Group | Inverse | Not | Negative | Positive | Typeof | Delete | IncrementBefore | IncrementAfter | DecrementBefore | DecrementAfter | And | Or | NullishCoalescing | Instanceof | In | Assigns | SubractEquals | AddEquals | DivideEquals | PowerEquals | MultiplyEquals | ModulusEquals | BitNegateEquals | BitAndEquals | BitOrEquals | UnsignedShiftRightEquals | ShiftLeftEquals | ShiftRightEquals | AndEquals | OrEquals | NullishCoalescingEquals | BitAnd | BitOr | BitNegate | BitShiftLeft | BitShiftRight | BitUnsignedShiftRight | SmallerEqualThan | LargerEqualThan | SmallerThan | LargerThan | StrictNotEqual | NotEqual | StrictEqual | Equal | Plus | Minus | Divide | Power | Multiply | Modulus | Block | Expression | Return | Throw | Switch | SwitchCase | Var | Let | Const | Number | BigInt | GlobalSymbol | LiteralIndex | StringIndex | RegexIndex | Function | InlineFunction | ArrowFunction | Loop | LoopAction | Try | Void | Await | New | None;
104
- export interface IRegEx {
105
- regex: string;
106
- flags: string;
107
- length: number;
108
- }
109
- export interface IConstants {
110
- strings: string[];
111
- literals: Literal[];
112
- regexes: IRegEx[];
113
- eager: boolean;
114
- }
115
- export interface IExecutionTree {
116
- tree: Lisp[];
117
- constants: IConstants;
118
- }
119
- type LispCallback<T> = (strings: IConstants, type: T, part: CodeString, res: string[], expect: string, ctx: {
120
- lispTree: Lisp;
121
- }) => any;
122
- export declare class ParseError extends Error {
123
- code: string;
124
- constructor(message: string, code: string);
125
- }
126
- export declare const expectTypes: Record<string, {
127
- types: Record<string, RegExp>;
128
- next: string[];
129
- }>;
130
- export declare function testMultiple(str: string, tests: RegExp[]): RegExpExecArray | null;
131
- export interface restDetails {
132
- oneliner?: boolean;
133
- words?: string[];
134
- lastWord?: string;
135
- lastAnyWord?: string;
136
- regRes?: RegExpExecArray;
137
- bodyContentAfterKeyword?: boolean;
138
- }
139
- export declare function restOfExp(constants: IConstants, part: CodeString, tests?: RegExp[], quote?: string, firstOpening?: string, closingsTests?: RegExp[], details?: restDetails): CodeString;
140
- export declare namespace restOfExp {
141
- var next: string[];
142
- }
143
- export declare const setLispType: <T extends readonly string[]>(types: T, fn: LispCallback<T[number]>) => void;
144
- export declare function lispifyReturnExpr(constants: IConstants, str: CodeString): Return;
145
- export declare function lispifyBlock(str: CodeString, constants: IConstants, expression?: boolean): Lisp[];
146
- export declare function lispifyFunction(str: CodeString, constants: IConstants, expression?: boolean): Lisp[];
147
- export declare function insertSemicolons(constants: IConstants, str: CodeString): CodeString;
148
- export declare function checkRegex(str: string): IRegEx | null;
149
- export declare function extractConstants(constants: IConstants, str: string, currentEnclosure?: string): {
150
- str: string;
151
- length: number;
152
- };
153
- export default function parse(code: string, eager?: boolean, expression?: boolean): IExecutionTree;
154
- export {};