@mirascript/mirascript 0.1.0

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 (191) hide show
  1. package/dist/chunk-5FQWUJIY.js +766 -0
  2. package/dist/chunk-5FQWUJIY.js.map +6 -0
  3. package/dist/chunk-BTDGMWFK.js +202 -0
  4. package/dist/chunk-BTDGMWFK.js.map +6 -0
  5. package/dist/chunk-DCXIWIW5.js +3419 -0
  6. package/dist/chunk-DCXIWIW5.js.map +6 -0
  7. package/dist/chunk-RAPJ3XLV.js +10 -0
  8. package/dist/chunk-RAPJ3XLV.js.map +6 -0
  9. package/dist/cli/execute.d.ts +4 -0
  10. package/dist/cli/execute.d.ts.map +1 -0
  11. package/dist/cli/index.d.ts +2 -0
  12. package/dist/cli/index.d.ts.map +1 -0
  13. package/dist/cli/index.js +191 -0
  14. package/dist/cli/index.js.map +6 -0
  15. package/dist/cli/print.d.ts +4 -0
  16. package/dist/cli/print.d.ts.map +1 -0
  17. package/dist/compiler/compile-bytecode.d.ts +12 -0
  18. package/dist/compiler/compile-bytecode.d.ts.map +1 -0
  19. package/dist/compiler/compile-fast.d.ts +7 -0
  20. package/dist/compiler/compile-fast.d.ts.map +1 -0
  21. package/dist/compiler/create-script.d.ts +7 -0
  22. package/dist/compiler/create-script.d.ts.map +1 -0
  23. package/dist/compiler/diagnostic.d.ts +56 -0
  24. package/dist/compiler/diagnostic.d.ts.map +1 -0
  25. package/dist/compiler/emit.d.ts +4 -0
  26. package/dist/compiler/emit.d.ts.map +1 -0
  27. package/dist/compiler/index.d.ts +13 -0
  28. package/dist/compiler/index.d.ts.map +1 -0
  29. package/dist/compiler/types.d.ts +16 -0
  30. package/dist/compiler/types.d.ts.map +1 -0
  31. package/dist/compiler/worker-manager.d.ts +6 -0
  32. package/dist/compiler/worker-manager.d.ts.map +1 -0
  33. package/dist/compiler/worker.d.ts +6 -0
  34. package/dist/compiler/worker.d.ts.map +1 -0
  35. package/dist/compiler/worker.js +34 -0
  36. package/dist/compiler/worker.js.map +6 -0
  37. package/dist/helpers/constants.d.ts +3 -0
  38. package/dist/helpers/constants.d.ts.map +1 -0
  39. package/dist/helpers/serialize.d.ts +45 -0
  40. package/dist/helpers/serialize.d.ts.map +1 -0
  41. package/dist/helpers/utils.d.ts +36 -0
  42. package/dist/helpers/utils.d.ts.map +1 -0
  43. package/dist/index.d.ts +4 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +61 -0
  46. package/dist/index.js.map +6 -0
  47. package/dist/subtle.d.ts +7 -0
  48. package/dist/subtle.d.ts.map +1 -0
  49. package/dist/subtle.js +30 -0
  50. package/dist/subtle.js.map +6 -0
  51. package/dist/vm/env.d.ts +3 -0
  52. package/dist/vm/env.d.ts.map +1 -0
  53. package/dist/vm/error.d.ts +11 -0
  54. package/dist/vm/error.d.ts.map +1 -0
  55. package/dist/vm/helpers.d.ts +21 -0
  56. package/dist/vm/helpers.d.ts.map +1 -0
  57. package/dist/vm/index.d.ts +5 -0
  58. package/dist/vm/index.d.ts.map +1 -0
  59. package/dist/vm/lib/_helpers.d.ts +35 -0
  60. package/dist/vm/lib/_helpers.d.ts.map +1 -0
  61. package/dist/vm/lib/_loader.d.ts +16 -0
  62. package/dist/vm/lib/_loader.d.ts.map +1 -0
  63. package/dist/vm/lib/global/bit.d.ts +9 -0
  64. package/dist/vm/lib/global/bit.d.ts.map +1 -0
  65. package/dist/vm/lib/global/debug.d.ts +5 -0
  66. package/dist/vm/lib/global/debug.d.ts.map +1 -0
  67. package/dist/vm/lib/global/index.d.ts +10 -0
  68. package/dist/vm/lib/global/index.d.ts.map +1 -0
  69. package/dist/vm/lib/global/json.d.ts +4 -0
  70. package/dist/vm/lib/global/json.d.ts.map +1 -0
  71. package/dist/vm/lib/global/math-additional.d.ts +3 -0
  72. package/dist/vm/lib/global/math-additional.d.ts.map +1 -0
  73. package/dist/vm/lib/global/math-arr.d.ts +8 -0
  74. package/dist/vm/lib/global/math-arr.d.ts.map +1 -0
  75. package/dist/vm/lib/global/math-const.d.ts +3 -0
  76. package/dist/vm/lib/global/math-const.d.ts.map +1 -0
  77. package/dist/vm/lib/global/math-unary.d.ts +29 -0
  78. package/dist/vm/lib/global/math-unary.d.ts.map +1 -0
  79. package/dist/vm/lib/global/math.d.ts +9 -0
  80. package/dist/vm/lib/global/math.d.ts.map +1 -0
  81. package/dist/vm/lib/global/mod/index.d.ts +3 -0
  82. package/dist/vm/lib/global/mod/index.d.ts.map +1 -0
  83. package/dist/vm/lib/global/mod/matrix.d.ts +16 -0
  84. package/dist/vm/lib/global/mod/matrix.d.ts.map +1 -0
  85. package/dist/vm/lib/global/sequence/all-any.d.ts +4 -0
  86. package/dist/vm/lib/global/sequence/all-any.d.ts.map +1 -0
  87. package/dist/vm/lib/global/sequence/entries.d.ts +12 -0
  88. package/dist/vm/lib/global/sequence/entries.d.ts.map +1 -0
  89. package/dist/vm/lib/global/sequence/find.d.ts +10 -0
  90. package/dist/vm/lib/global/sequence/find.d.ts.map +1 -0
  91. package/dist/vm/lib/global/sequence/flatten.d.ts +3 -0
  92. package/dist/vm/lib/global/sequence/flatten.d.ts.map +1 -0
  93. package/dist/vm/lib/global/sequence/index.d.ts +12 -0
  94. package/dist/vm/lib/global/sequence/index.d.ts.map +1 -0
  95. package/dist/vm/lib/global/sequence/len.d.ts +3 -0
  96. package/dist/vm/lib/global/sequence/len.d.ts.map +1 -0
  97. package/dist/vm/lib/global/sequence/map-filter.d.ts +9 -0
  98. package/dist/vm/lib/global/sequence/map-filter.d.ts.map +1 -0
  99. package/dist/vm/lib/global/sequence/repeat.d.ts +4 -0
  100. package/dist/vm/lib/global/sequence/repeat.d.ts.map +1 -0
  101. package/dist/vm/lib/global/sequence/reverse.d.ts +3 -0
  102. package/dist/vm/lib/global/sequence/reverse.d.ts.map +1 -0
  103. package/dist/vm/lib/global/sequence/sort.d.ts +5 -0
  104. package/dist/vm/lib/global/sequence/sort.d.ts.map +1 -0
  105. package/dist/vm/lib/global/sequence/with.d.ts +5 -0
  106. package/dist/vm/lib/global/sequence/with.d.ts.map +1 -0
  107. package/dist/vm/lib/global/sequence/zip.d.ts +4 -0
  108. package/dist/vm/lib/global/sequence/zip.d.ts.map +1 -0
  109. package/dist/vm/lib/global/string.d.ts +12 -0
  110. package/dist/vm/lib/global/string.d.ts.map +1 -0
  111. package/dist/vm/lib/global/time.d.ts +15 -0
  112. package/dist/vm/lib/global/time.d.ts.map +1 -0
  113. package/dist/vm/lib/global/to-primitive.d.ts +6 -0
  114. package/dist/vm/lib/global/to-primitive.d.ts.map +1 -0
  115. package/dist/vm/operations.d.ts +49 -0
  116. package/dist/vm/operations.d.ts.map +1 -0
  117. package/dist/vm/types/checker.d.ts +30 -0
  118. package/dist/vm/types/checker.d.ts.map +1 -0
  119. package/dist/vm/types/context.d.ts +43 -0
  120. package/dist/vm/types/context.d.ts.map +1 -0
  121. package/dist/vm/types/extern.d.ts +32 -0
  122. package/dist/vm/types/extern.d.ts.map +1 -0
  123. package/dist/vm/types/function.d.ts +49 -0
  124. package/dist/vm/types/function.d.ts.map +1 -0
  125. package/dist/vm/types/index.d.ts +75 -0
  126. package/dist/vm/types/index.d.ts.map +1 -0
  127. package/dist/vm/types/module.d.ts +25 -0
  128. package/dist/vm/types/module.d.ts.map +1 -0
  129. package/dist/vm/types/script.d.ts +14 -0
  130. package/dist/vm/types/script.d.ts.map +1 -0
  131. package/dist/vm/types/wrapper.d.ts +25 -0
  132. package/dist/vm/types/wrapper.d.ts.map +1 -0
  133. package/package.json +55 -0
  134. package/src/cli/execute.ts +32 -0
  135. package/src/cli/index.ts +73 -0
  136. package/src/cli/print.ts +41 -0
  137. package/src/compiler/compile-bytecode.ts +65 -0
  138. package/src/compiler/compile-fast.ts +81 -0
  139. package/src/compiler/create-script.ts +34 -0
  140. package/src/compiler/diagnostic.ts +175 -0
  141. package/src/compiler/emit.ts +764 -0
  142. package/src/compiler/index.ts +67 -0
  143. package/src/compiler/types.ts +16 -0
  144. package/src/compiler/worker-manager.ts +60 -0
  145. package/src/compiler/worker.ts +37 -0
  146. package/src/helpers/constants.ts +3 -0
  147. package/src/helpers/serialize.ts +280 -0
  148. package/src/helpers/utils.ts +16 -0
  149. package/src/index.ts +3 -0
  150. package/src/subtle.ts +6 -0
  151. package/src/vm/env.ts +16 -0
  152. package/src/vm/error.ts +22 -0
  153. package/src/vm/helpers.ts +121 -0
  154. package/src/vm/index.ts +5 -0
  155. package/src/vm/lib/_helpers.ts +215 -0
  156. package/src/vm/lib/_loader.ts +51 -0
  157. package/src/vm/lib/global/bit.ts +93 -0
  158. package/src/vm/lib/global/debug.ts +36 -0
  159. package/src/vm/lib/global/index.ts +9 -0
  160. package/src/vm/lib/global/json.ts +45 -0
  161. package/src/vm/lib/global/math-additional.ts +71 -0
  162. package/src/vm/lib/global/math-arr.ts +62 -0
  163. package/src/vm/lib/global/math-const.ts +2 -0
  164. package/src/vm/lib/global/math-unary.ts +171 -0
  165. package/src/vm/lib/global/math.ts +27 -0
  166. package/src/vm/lib/global/mod/index.ts +4 -0
  167. package/src/vm/lib/global/mod/matrix.ts +579 -0
  168. package/src/vm/lib/global/sequence/all-any.ts +73 -0
  169. package/src/vm/lib/global/sequence/entries.ts +67 -0
  170. package/src/vm/lib/global/sequence/find.ts +49 -0
  171. package/src/vm/lib/global/sequence/flatten.ts +16 -0
  172. package/src/vm/lib/global/sequence/index.ts +11 -0
  173. package/src/vm/lib/global/sequence/len.ts +15 -0
  174. package/src/vm/lib/global/sequence/map-filter.ts +82 -0
  175. package/src/vm/lib/global/sequence/repeat.ts +28 -0
  176. package/src/vm/lib/global/sequence/reverse.ts +17 -0
  177. package/src/vm/lib/global/sequence/sort.ts +88 -0
  178. package/src/vm/lib/global/sequence/with.ts +43 -0
  179. package/src/vm/lib/global/sequence/zip.ts +40 -0
  180. package/src/vm/lib/global/string.ts +149 -0
  181. package/src/vm/lib/global/time.ts +73 -0
  182. package/src/vm/lib/global/to-primitive.ts +58 -0
  183. package/src/vm/operations.ts +497 -0
  184. package/src/vm/types/checker.ts +164 -0
  185. package/src/vm/types/context.ts +161 -0
  186. package/src/vm/types/extern.ts +166 -0
  187. package/src/vm/types/function.ts +136 -0
  188. package/src/vm/types/index.ts +124 -0
  189. package/src/vm/types/module.ts +40 -0
  190. package/src/vm/types/script.ts +18 -0
  191. package/src/vm/types/wrapper.ts +28 -0
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/compiler/emit.ts", "../src/compiler/compile-bytecode.ts"],
4
+ "mappings": "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",
5
+ "names": ["i"]
6
+ }
@@ -0,0 +1,202 @@
1
+ import {
2
+ GlobalFallback,
3
+ defineProperty,
4
+ entries,
5
+ formatDiagnostic,
6
+ helpers_exports,
7
+ isFinite,
8
+ operations_exports,
9
+ parseDiagnostics
10
+ } from "./chunk-DCXIWIW5.js";
11
+ import {
12
+ compileBytecode,
13
+ compileBytecodeSync,
14
+ emit,
15
+ loadModule
16
+ } from "./chunk-5FQWUJIY.js";
17
+
18
+ // src/vm/env.ts
19
+ var keys = [];
20
+ var values = [];
21
+ for (const [key, value] of entries(operations_exports)) {
22
+ keys.push(key);
23
+ values.push(value);
24
+ }
25
+ for (const [key, value] of entries(helpers_exports)) {
26
+ keys.push(key);
27
+ values.push(value);
28
+ }
29
+
30
+ // src/compiler/create-script.ts
31
+ var kVmScript = Symbol.for("mirascript.vm.script");
32
+ function wrapScript(source, script) {
33
+ if (kVmScript in script) {
34
+ return script;
35
+ }
36
+ defineProperty(script, kVmScript, { value: true });
37
+ if (typeof source === "string") {
38
+ defineProperty(script, "source", { value: source, configurable: true });
39
+ } else if (source instanceof Uint8Array) {
40
+ defineProperty(script, "source", { value: "<buffer>", configurable: true });
41
+ }
42
+ return script;
43
+ }
44
+ function createScript(source, code) {
45
+ let script;
46
+ try {
47
+ script = new Function(...keys, code)(...values);
48
+ } catch (error) {
49
+ throw new Error(`Failed to create script`, { cause: error });
50
+ }
51
+ return wrapScript(source, script);
52
+ }
53
+
54
+ // src/compiler/compile-fast.ts
55
+ var REG_NUMBER_FULL = /^\d+(?:\.\d+)?(?:[eE][+-]?\d+)?$/;
56
+ var REG_IDENTIFIER_FAST = /^(?:\$+|@+)[a-zA-Z0-9_]*$/;
57
+ var FAST_SCRIPT_MAX_LEN = 32;
58
+ function compileScriptFast(code, options) {
59
+ if (code.length > FAST_SCRIPT_MAX_LEN) return void 0;
60
+ const trimmedCode = code.trim();
61
+ if (!trimmedCode) {
62
+ return wrapScript(code, () => null);
63
+ }
64
+ switch (trimmedCode) {
65
+ case "nil":
66
+ return wrapScript(code, () => null);
67
+ case "true":
68
+ return wrapScript(code, () => true);
69
+ case "false":
70
+ return wrapScript(code, () => false);
71
+ case "nan":
72
+ return wrapScript(code, () => 0 / 0);
73
+ case "inf":
74
+ case "+inf":
75
+ return wrapScript(code, () => 1 / 0);
76
+ case "-inf":
77
+ return wrapScript(code, () => -1 / 0);
78
+ }
79
+ if (REG_IDENTIFIER_FAST.test(trimmedCode)) {
80
+ const id = trimmedCode;
81
+ return wrapScript(code, (global = GlobalFallback()) => global.get(id) ?? null);
82
+ }
83
+ if (REG_NUMBER_FULL.test(trimmedCode)) {
84
+ const num = Number(trimmedCode);
85
+ if (!isFinite(num)) return void 0;
86
+ return wrapScript(code, () => num);
87
+ }
88
+ return void 0;
89
+ }
90
+ var FAST_TEMPLATE_MAX_LEN = 1024;
91
+ function compileTemplateFast(code, options) {
92
+ if (code.length > FAST_TEMPLATE_MAX_LEN) return void 0;
93
+ if (!code.includes("$")) {
94
+ return wrapScript(code, () => code);
95
+ }
96
+ return void 0;
97
+ }
98
+ function compileFast(code, options) {
99
+ if (options.sourceMap) return void 0;
100
+ return (options.input_mode === "Template" ? compileTemplateFast : compileScriptFast)(code, options);
101
+ }
102
+
103
+ // src/compiler/worker-manager.ts
104
+ var worker;
105
+ async function getWorker() {
106
+ if (worker) return worker;
107
+ worker = new Promise((resolve, reject) => {
108
+ const w = new Worker(new URL("#compiler/worker", import.meta.url), {
109
+ type: "module",
110
+ name: "@mirascript/compiler"
111
+ });
112
+ const onError = (e) => {
113
+ cleanUp();
114
+ reject(new Error(`Worker failed to start: ${e.message}`));
115
+ };
116
+ const onMessage = (e) => {
117
+ if (e.data === "ready") {
118
+ cleanUp();
119
+ resolve(w);
120
+ } else if (e.data instanceof Error) {
121
+ cleanUp();
122
+ reject(e.data);
123
+ }
124
+ };
125
+ w.addEventListener("error", onError);
126
+ w.addEventListener("message", onMessage);
127
+ const cleanUp = () => {
128
+ w.removeEventListener("error", onError);
129
+ w.removeEventListener("message", onMessage);
130
+ };
131
+ setTimeout(() => {
132
+ onError(new ErrorEvent("error", { message: "Worker did not respond in time" }));
133
+ }, 3e4);
134
+ });
135
+ return worker;
136
+ }
137
+ async function compileWorker(...args) {
138
+ const worker2 = await getWorker();
139
+ const seq = Math.random();
140
+ worker2.postMessage([seq, ...args]);
141
+ return await new Promise((resolve, reject) => {
142
+ const callback = (ev) => {
143
+ const data = ev.data;
144
+ if (!Array.isArray(data)) return;
145
+ const [retSeq, ...rest] = data;
146
+ if (seq !== retSeq) return;
147
+ worker2.removeEventListener("message", callback);
148
+ if (rest.length === 2) {
149
+ resolve(rest);
150
+ } else {
151
+ reject(rest[0]);
152
+ }
153
+ };
154
+ worker2.addEventListener("message", callback);
155
+ });
156
+ }
157
+
158
+ // src/compiler/index.ts
159
+ await loadModule();
160
+ var WORKER_MIN_LEN = typeof Worker != "function" ? Number.MAX_VALUE : 1024;
161
+ function reportDiagnostic(source, diagnostics) {
162
+ const parsed = parseDiagnostics(source, diagnostics);
163
+ const messages = parsed.errors.map(formatDiagnostic);
164
+ throw new Error(`Failed to compile:
165
+ ${messages.join("\n")}`);
166
+ }
167
+ function emitImpl(source, [code, diagnostics], options) {
168
+ if (!code) {
169
+ reportDiagnostic(source, diagnostics);
170
+ }
171
+ const target = emit(source, code, options);
172
+ return createScript(source, target);
173
+ }
174
+ async function compile(source, options = {}) {
175
+ if (typeof source == "string") {
176
+ const result = compileFast(source, options);
177
+ if (result) return result;
178
+ }
179
+ if (source.length < WORKER_MIN_LEN) {
180
+ const bc = await compileBytecode(source, options);
181
+ return emitImpl(source, bc, options);
182
+ }
183
+ const [target, diagnostics] = await compileWorker(source, options);
184
+ if (target == null) {
185
+ reportDiagnostic(source, diagnostics);
186
+ }
187
+ return createScript(source, target);
188
+ }
189
+ function compileSync(source, options = {}) {
190
+ if (typeof source == "string") {
191
+ const result = compileFast(source, options);
192
+ if (result) return result;
193
+ }
194
+ const bc = compileBytecodeSync(source, options);
195
+ return emitImpl(source, bc, options);
196
+ }
197
+
198
+ export {
199
+ compile,
200
+ compileSync
201
+ };
202
+ //# sourceMappingURL=chunk-BTDGMWFK.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/vm/env.ts", "../src/compiler/create-script.ts", "../src/compiler/compile-fast.ts", "../src/compiler/worker-manager.ts", "../src/compiler/index.ts"],
4
+ "mappings": "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",
5
+ "names": ["worker"]
6
+ }