maze-blockly-wrapper 0.3.0 → 0.3.2

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 (37) hide show
  1. package/dist/blockly-CB1haBOu.cjs +329 -0
  2. package/dist/blockly-CB1haBOu.cjs.map +1 -0
  3. package/dist/blockly-D9trJ_x0.js +329 -0
  4. package/dist/blockly-D9trJ_x0.js.map +1 -0
  5. package/dist/blockly_compressed-Bdba50O4.js +21043 -0
  6. package/dist/{blockly_compressed-L5h4evQZ.js.map → blockly_compressed-Bdba50O4.js.map} +1 -1
  7. package/dist/blockly_compressed-DKwMdvF1.cjs +21042 -0
  8. package/dist/{blockly_compressed-BZraWoMC.cjs.map → blockly_compressed-DKwMdvF1.cjs.map} +1 -1
  9. package/dist/blocks-B05dnyOn.js +1707 -0
  10. package/dist/{blocks-DNGprLHy.js.map → blocks-B05dnyOn.js.map} +1 -1
  11. package/dist/blocks-BabbRNKU.cjs +1707 -0
  12. package/dist/{blocks-C4L357Lk.cjs.map → blocks-BabbRNKU.cjs.map} +1 -1
  13. package/dist/components/maze/MazeGame.d.ts +1 -0
  14. package/dist/index-C2TQzLih.js +5038 -0
  15. package/dist/{index-Kkc2CBjJ.js.map → index-C2TQzLih.js.map} +1 -1
  16. package/dist/index-CeTmKa8Y.cjs +5053 -0
  17. package/dist/{index-CRP4KubC.cjs.map → index-CeTmKa8Y.cjs.map} +1 -1
  18. package/dist/index.cjs.js +34 -1
  19. package/dist/index.cjs.js.map +1 -1
  20. package/dist/index.esm.js +32 -32
  21. package/dist/javascript-B767_urL.js +969 -0
  22. package/dist/{javascript-BdBscNU_.js.map → javascript-B767_urL.js.map} +1 -1
  23. package/dist/javascript-Diow8phl.cjs +969 -0
  24. package/dist/{javascript-C001Vve5.cjs.map → javascript-Diow8phl.cjs.map} +1 -1
  25. package/package.json +1 -1
  26. package/dist/blockly-Bh_t9Weo.cjs +0 -2
  27. package/dist/blockly-Bh_t9Weo.cjs.map +0 -1
  28. package/dist/blockly-Dbc_qiBz.js +0 -328
  29. package/dist/blockly-Dbc_qiBz.js.map +0 -1
  30. package/dist/blockly_compressed-BZraWoMC.cjs +0 -792
  31. package/dist/blockly_compressed-L5h4evQZ.js +0 -15717
  32. package/dist/blocks-C4L357Lk.cjs +0 -4
  33. package/dist/blocks-DNGprLHy.js +0 -1316
  34. package/dist/index-CRP4KubC.cjs +0 -75
  35. package/dist/index-Kkc2CBjJ.js +0 -3762
  36. package/dist/javascript-BdBscNU_.js +0 -819
  37. package/dist/javascript-C001Vve5.cjs +0 -219
@@ -0,0 +1,969 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const index = require("./index-CeTmKa8Y.cjs");
4
+ const blockly_compressed = require("./blockly_compressed-DKwMdvF1.cjs");
5
+ var javascript_compressed$1 = { exports: {} };
6
+ var javascript_compressed = javascript_compressed$1.exports;
7
+ var hasRequiredJavascript_compressed;
8
+ function requireJavascript_compressed() {
9
+ if (hasRequiredJavascript_compressed) return javascript_compressed$1.exports;
10
+ hasRequiredJavascript_compressed = 1;
11
+ (function(module2, exports2) {
12
+ (function(root, factory) {
13
+ {
14
+ module2.exports = factory(blockly_compressed.requireBlockly_compressed());
15
+ }
16
+ })(javascript_compressed, function(__parent__) {
17
+ var $ = __parent__.__namespace__;
18
+ var lists_create_empty$$module$build$src$generators$javascript$lists = function(a, b) {
19
+ return ["[]", Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC];
20
+ }, lists_create_with$$module$build$src$generators$javascript$lists = function(a, b) {
21
+ const c = Array(a.itemCount_);
22
+ for (let d = 0; d < a.itemCount_; d++) c[d] = b.valueToCode(a, "ADD" + d, Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "null";
23
+ return ["[" + c.join(", ") + "]", Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC];
24
+ }, lists_repeat$$module$build$src$generators$javascript$lists = function(a, b) {
25
+ const c = b.provideFunction_("listsRepeat", `
26
+ function ${b.FUNCTION_NAME_PLACEHOLDER_}(value, n) {
27
+ var array = [];
28
+ for (var i = 0; i < n; i++) {
29
+ array[i] = value;
30
+ }
31
+ return array;
32
+ }
33
+ `), d = b.valueToCode(a, "ITEM", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "null";
34
+ a = b.valueToCode(a, "NUM", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "0";
35
+ return [c + "(" + d + ", " + a + ")", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
36
+ }, lists_length$$module$build$src$generators$javascript$lists = function(a, b) {
37
+ return [(b.valueToCode(a, "VALUE", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER) || "[]") + ".length", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER];
38
+ }, lists_isEmpty$$module$build$src$generators$javascript$lists = function(a, b) {
39
+ return ["!" + (b.valueToCode(a, "VALUE", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER) || "[]") + ".length", Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_NOT];
40
+ }, lists_indexOf$$module$build$src$generators$javascript$lists = function(a, b) {
41
+ const c = a.getFieldValue("END") === "FIRST" ? "indexOf" : "lastIndexOf", d = b.valueToCode(a, "FIND", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "''";
42
+ b = (b.valueToCode(a, "VALUE", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER) || "[]") + "." + c + "(" + d + ")";
43
+ return a.workspace.options.oneBasedIndex ? [b + " + 1", Order$$module$build$src$generators$javascript$javascript_generator.ADDITION] : [b, Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
44
+ }, lists_getIndex$$module$build$src$generators$javascript$lists = function(a, b) {
45
+ const c = a.getFieldValue("MODE") || "GET", d = a.getFieldValue("WHERE") || "FROM_START";
46
+ var e = b.valueToCode(a, "VALUE", d === "RANDOM" ? Order$$module$build$src$generators$javascript$javascript_generator.NONE : Order$$module$build$src$generators$javascript$javascript_generator.MEMBER) || "[]";
47
+ switch (d) {
48
+ case "FIRST":
49
+ if (c === "GET") return [e + "[0]", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER];
50
+ if (c === "GET_REMOVE") return [e + ".shift()", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER];
51
+ if (c === "REMOVE") return e + ".shift();\n";
52
+ break;
53
+ case "LAST":
54
+ if (c === "GET") return [e + ".slice(-1)[0]", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER];
55
+ if (c === "GET_REMOVE") return [e + ".pop()", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER];
56
+ if (c === "REMOVE") return e + ".pop();\n";
57
+ break;
58
+ case "FROM_START":
59
+ a = b.getAdjusted(a, "AT");
60
+ if (c === "GET") return [e + "[" + a + "]", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER];
61
+ if (c === "GET_REMOVE") return [e + ".splice(" + a + ", 1)[0]", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
62
+ if (c === "REMOVE") return e + ".splice(" + a + ", 1);\n";
63
+ break;
64
+ case "FROM_END":
65
+ a = b.getAdjusted(a, "AT", 1, true);
66
+ if (c === "GET") return [e + ".slice(" + a + ")[0]", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
67
+ if (c === "GET_REMOVE") return [e + ".splice(" + a + ", 1)[0]", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
68
+ if (c === "REMOVE") return e + ".splice(" + a + ", 1);";
69
+ break;
70
+ case "RANDOM":
71
+ e = b.provideFunction_("listsGetRandomItem", `
72
+ function ${b.FUNCTION_NAME_PLACEHOLDER_}(list, remove) {
73
+ var x = Math.floor(Math.random() * list.length);
74
+ if (remove) {
75
+ return list.splice(x, 1)[0];
76
+ } else {
77
+ return list[x];
78
+ }
79
+ }
80
+ `) + "(" + e + ", " + (c !== "GET") + ")";
81
+ if (c === "GET" || c === "GET_REMOVE") return [e, Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
82
+ if (c === "REMOVE") return e + ";\n";
83
+ }
84
+ throw Error("Unhandled combination (lists_getIndex).");
85
+ }, lists_setIndex$$module$build$src$generators$javascript$lists = function(a, b) {
86
+ function c() {
87
+ if (d.match(/^\w+$/)) return "";
88
+ const h = b.nameDB_.getDistinctName("tmpList", $.NameType$$module$build$src$core$names.VARIABLE), k = "var " + h + " = " + d + ";\n";
89
+ d = h;
90
+ return k;
91
+ }
92
+ let d = b.valueToCode(
93
+ a,
94
+ "LIST",
95
+ Order$$module$build$src$generators$javascript$javascript_generator.MEMBER
96
+ ) || "[]";
97
+ const e = a.getFieldValue("MODE") || "GET";
98
+ var f = a.getFieldValue("WHERE") || "FROM_START";
99
+ const g = b.valueToCode(a, "TO", Order$$module$build$src$generators$javascript$javascript_generator.ASSIGNMENT) || "null";
100
+ switch (f) {
101
+ case "FIRST":
102
+ if (e === "SET") return d + "[0] = " + g + ";\n";
103
+ if (e === "INSERT") return d + ".unshift(" + g + ");\n";
104
+ break;
105
+ case "LAST":
106
+ if (e === "SET") return c() + (d + "[" + d + ".length - 1] = " + g + ";\n");
107
+ if (e === "INSERT") return d + ".push(" + g + ");\n";
108
+ break;
109
+ case "FROM_START":
110
+ a = b.getAdjusted(a, "AT");
111
+ if (e === "SET") return d + "[" + a + "] = " + g + ";\n";
112
+ if (e === "INSERT") return d + ".splice(" + a + ", 0, " + g + ");\n";
113
+ break;
114
+ case "FROM_END":
115
+ a = b.getAdjusted(a, "AT", 1, false, Order$$module$build$src$generators$javascript$javascript_generator.SUBTRACTION);
116
+ f = c();
117
+ if (e === "SET") return f + (d + "[" + d + ".length - " + a + "] = " + g + ";\n");
118
+ if (e === "INSERT") return f + (d + ".splice(" + d + ".length - " + a + ", 0, " + g + ");\n");
119
+ break;
120
+ case "RANDOM":
121
+ a = c();
122
+ f = b.nameDB_.getDistinctName("tmpX", $.NameType$$module$build$src$core$names.VARIABLE);
123
+ a += "var " + f + " = Math.floor(Math.random() * " + d + ".length);\n";
124
+ if (e === "SET") return a + (d + "[" + f + "] = " + g + ";\n");
125
+ if (e === "INSERT") return a + (d + ".splice(" + f + ", 0, " + g + ");\n");
126
+ }
127
+ throw Error("Unhandled combination (lists_setIndex).");
128
+ }, lists_getSublist$$module$build$src$generators$javascript$lists = function(a, b) {
129
+ var c = { FIRST: "First", LAST: "Last", FROM_START: "FromStart", FROM_END: "FromEnd" }, d = b.valueToCode(a, "LIST", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER) || "[]";
130
+ const e = a.getFieldValue("WHERE1"), f = a.getFieldValue("WHERE2");
131
+ if (e === "FIRST" && f === "LAST") d += ".slice(0)";
132
+ else if (d.match(/^\w+$/) || e !== "FROM_END" && f === "FROM_START") {
133
+ switch (e) {
134
+ case "FROM_START":
135
+ c = b.getAdjusted(a, "AT1");
136
+ break;
137
+ case "FROM_END":
138
+ c = b.getAdjusted(a, "AT1", 1, false, Order$$module$build$src$generators$javascript$javascript_generator.SUBTRACTION);
139
+ c = d + ".length - " + c;
140
+ break;
141
+ case "FIRST":
142
+ c = "0";
143
+ break;
144
+ default:
145
+ throw Error("Unhandled option (lists_getSublist).");
146
+ }
147
+ switch (f) {
148
+ case "FROM_START":
149
+ b = b.getAdjusted(a, "AT2", 1);
150
+ break;
151
+ case "FROM_END":
152
+ b = b.getAdjusted(a, "AT2", 0, false, Order$$module$build$src$generators$javascript$javascript_generator.SUBTRACTION);
153
+ b = d + ".length - " + b;
154
+ break;
155
+ case "LAST":
156
+ b = d + ".length";
157
+ break;
158
+ default:
159
+ throw Error("Unhandled option (lists_getSublist).");
160
+ }
161
+ d = d + ".slice(" + c + ", " + b + ")";
162
+ } else {
163
+ const g = b.getAdjusted(a, "AT1");
164
+ a = b.getAdjusted(a, "AT2");
165
+ d = b.provideFunction_("subsequence" + c[e] + c[f], `
166
+ function ${b.FUNCTION_NAME_PLACEHOLDER_}(sequence${e === "FROM_END" || e === "FROM_START" ? ", at1" : ""}${f === "FROM_END" || f === "FROM_START" ? ", at2" : ""}) {
167
+ var start = ${getSubstringIndex$$module$build$src$generators$javascript$lists("sequence", e, "at1")};
168
+ var end = ${getSubstringIndex$$module$build$src$generators$javascript$lists("sequence", f, "at2")} + 1;
169
+ return sequence.slice(start, end);
170
+ }
171
+ `) + "(" + d + (e === "FROM_END" || e === "FROM_START" ? ", " + g : "") + (f === "FROM_END" || f === "FROM_START" ? ", " + a : "") + ")";
172
+ }
173
+ return [d, Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
174
+ }, lists_sort$$module$build$src$generators$javascript$lists = function(a, b) {
175
+ const c = b.valueToCode(a, "LIST", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL) || "[]", d = a.getFieldValue("DIRECTION") === "1" ? 1 : -1;
176
+ a = a.getFieldValue("TYPE");
177
+ b = b.provideFunction_("listsGetSortCompare", `
178
+ function ${b.FUNCTION_NAME_PLACEHOLDER_}(type, direction) {
179
+ var compareFuncs = {
180
+ 'NUMERIC': function(a, b) {
181
+ return Number(a) - Number(b); },
182
+ 'TEXT': function(a, b) {
183
+ return String(a) > String(b) ? 1 : -1; },
184
+ 'IGNORE_CASE': function(a, b) {
185
+ return String(a).toLowerCase() > String(b).toLowerCase() ? 1 : -1; },
186
+ };
187
+ var compare = compareFuncs[type];
188
+ return function(a, b) { return compare(a, b) * direction; };
189
+ }
190
+ `);
191
+ return [c + ".slice().sort(" + b + '("' + a + '", ' + d + "))", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
192
+ }, lists_split$$module$build$src$generators$javascript$lists = function(a, b) {
193
+ let c = b.valueToCode(a, "INPUT", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER);
194
+ b = b.valueToCode(a, "DELIM", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "''";
195
+ a = a.getFieldValue("MODE");
196
+ if (a === "SPLIT") c || (c = "''"), a = "split";
197
+ else if (a === "JOIN") c || (c = "[]"), a = "join";
198
+ else throw Error("Unknown mode: " + a);
199
+ return [c + "." + a + "(" + b + ")", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
200
+ }, lists_reverse$$module$build$src$generators$javascript$lists = function(a, b) {
201
+ return [(b.valueToCode(a, "LIST", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL) || "[]") + ".slice().reverse()", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
202
+ }, controls_if$$module$build$src$generators$javascript$logic = function(a, b) {
203
+ var c = 0;
204
+ let d = "";
205
+ b.STATEMENT_PREFIX && (d += b.injectId(b.STATEMENT_PREFIX, a));
206
+ do {
207
+ const e = b.valueToCode(a, "IF" + c, Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "false";
208
+ let f = b.statementToCode(a, "DO" + c);
209
+ b.STATEMENT_SUFFIX && (f = b.prefixLines(b.injectId(b.STATEMENT_SUFFIX, a), b.INDENT) + f);
210
+ d += (c > 0 ? " else " : "") + "if (" + e + ") {\n" + f + "}";
211
+ c++;
212
+ } while (a.getInput("IF" + c));
213
+ if (a.getInput("ELSE") || b.STATEMENT_SUFFIX) c = a.getInput("ELSE") ? b.statementToCode(a, "ELSE") : "", b.STATEMENT_SUFFIX && (c = b.prefixLines(b.injectId(b.STATEMENT_SUFFIX, a), b.INDENT) + c), d += " else {\n" + c + "}";
214
+ return d + "\n";
215
+ }, logic_compare$$module$build$src$generators$javascript$logic = function(a, b) {
216
+ const c = { EQ: "==", NEQ: "!=", LT: "<", LTE: "<=", GT: ">", GTE: ">=" }[a.getFieldValue("OP")], d = c === "==" || c === "!=" ? Order$$module$build$src$generators$javascript$javascript_generator.EQUALITY : Order$$module$build$src$generators$javascript$javascript_generator.RELATIONAL, e = b.valueToCode(a, "A", d) || "0";
217
+ a = b.valueToCode(a, "B", d) || "0";
218
+ return [e + " " + c + " " + a, d];
219
+ }, logic_operation$$module$build$src$generators$javascript$logic = function(a, b) {
220
+ const c = a.getFieldValue("OP") === "AND" ? "&&" : "||", d = c === "&&" ? Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_AND : Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_OR;
221
+ let e = b.valueToCode(a, "A", d);
222
+ a = b.valueToCode(a, "B", d);
223
+ e || a ? (b = c === "&&" ? "true" : "false", e || (e = b), a || (a = b)) : a = e = "false";
224
+ return [e + " " + c + " " + a, d];
225
+ }, logic_negate$$module$build$src$generators$javascript$logic = function(a, b) {
226
+ const c = Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_NOT;
227
+ return ["!" + (b.valueToCode(a, "BOOL", c) || "true"), c];
228
+ }, logic_boolean$$module$build$src$generators$javascript$logic = function(a, b) {
229
+ return [a.getFieldValue("BOOL") === "TRUE" ? "true" : "false", Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC];
230
+ }, logic_null$$module$build$src$generators$javascript$logic = function(a, b) {
231
+ return ["null", Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC];
232
+ }, logic_ternary$$module$build$src$generators$javascript$logic = function(a, b) {
233
+ const c = b.valueToCode(a, "IF", Order$$module$build$src$generators$javascript$javascript_generator.CONDITIONAL) || "false", d = b.valueToCode(a, "THEN", Order$$module$build$src$generators$javascript$javascript_generator.CONDITIONAL) || "null";
234
+ a = b.valueToCode(a, "ELSE", Order$$module$build$src$generators$javascript$javascript_generator.CONDITIONAL) || "null";
235
+ return [c + " ? " + d + " : " + a, Order$$module$build$src$generators$javascript$javascript_generator.CONDITIONAL];
236
+ }, controls_repeat_ext$$module$build$src$generators$javascript$loops = function(a, b) {
237
+ let c;
238
+ c = a.getField("TIMES") ? String(Number(a.getFieldValue("TIMES"))) : b.valueToCode(a, "TIMES", Order$$module$build$src$generators$javascript$javascript_generator.ASSIGNMENT) || "0";
239
+ let d = b.statementToCode(a, "DO");
240
+ d = b.addLoopTrap(d, a);
241
+ a = "";
242
+ const e = b.nameDB_.getDistinctName("count", $.NameType$$module$build$src$core$names.VARIABLE);
243
+ let f = c;
244
+ c.match(/^\w+$/) || $.isNumber$$module$build$src$core$utils$string(c) || (f = b.nameDB_.getDistinctName(
245
+ "repeat_end",
246
+ $.NameType$$module$build$src$core$names.VARIABLE
247
+ ), a += "var " + f + " = " + c + ";\n");
248
+ return a + ("for (var " + e + " = 0; " + e + " < " + f + "; " + e + "++) {\n" + d + "}\n");
249
+ }, controls_whileUntil$$module$build$src$generators$javascript$loops = function(a, b) {
250
+ const c = a.getFieldValue("MODE") === "UNTIL";
251
+ let d = b.valueToCode(a, "BOOL", c ? Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_NOT : Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "false", e = b.statementToCode(a, "DO");
252
+ e = b.addLoopTrap(
253
+ e,
254
+ a
255
+ );
256
+ c && (d = "!" + d);
257
+ return "while (" + d + ") {\n" + e + "}\n";
258
+ }, controls_for$$module$build$src$generators$javascript$loops = function(a, b) {
259
+ var c = b.getVariableName(a.getFieldValue("VAR")), d = b.valueToCode(a, "FROM", Order$$module$build$src$generators$javascript$javascript_generator.ASSIGNMENT) || "0", e = b.valueToCode(a, "TO", Order$$module$build$src$generators$javascript$javascript_generator.ASSIGNMENT) || "0";
260
+ const f = b.valueToCode(a, "BY", Order$$module$build$src$generators$javascript$javascript_generator.ASSIGNMENT) || "1";
261
+ let g = b.statementToCode(a, "DO");
262
+ g = b.addLoopTrap(g, a);
263
+ if ($.isNumber$$module$build$src$core$utils$string(d) && $.isNumber$$module$build$src$core$utils$string(e) && $.isNumber$$module$build$src$core$utils$string(f)) b = Number(d) <= Number(e), a = "for (" + c + " = " + d + "; " + c + (b ? " <= " : " >= ") + e + "; " + c, c = Math.abs(Number(f)), a = c === 1 ? a + (b ? "++" : "--") : a + ((b ? " += " : " -= ") + c), a += ") {\n" + g + "}\n";
264
+ else {
265
+ a = "";
266
+ let h = d;
267
+ d.match(/^\w+$/) || $.isNumber$$module$build$src$core$utils$string(d) || (h = b.nameDB_.getDistinctName(
268
+ c + "_start",
269
+ $.NameType$$module$build$src$core$names.VARIABLE
270
+ ), a += "var " + h + " = " + d + ";\n");
271
+ d = e;
272
+ e.match(/^\w+$/) || $.isNumber$$module$build$src$core$utils$string(e) || (d = b.nameDB_.getDistinctName(c + "_end", $.NameType$$module$build$src$core$names.VARIABLE), a += "var " + d + " = " + e + ";\n");
273
+ e = b.nameDB_.getDistinctName(c + "_inc", $.NameType$$module$build$src$core$names.VARIABLE);
274
+ a += "var " + e + " = ";
275
+ a = $.isNumber$$module$build$src$core$utils$string(f) ? a + (Math.abs(Number(f)) + ";\n") : a + ("Math.abs(" + f + ");\n");
276
+ a += "if (" + h + " > " + d + ") {\n";
277
+ a += b.INDENT + e + " = -" + e + ";\n";
278
+ a = a + "}\nfor (" + (c + " = " + h + "; " + e + " >= 0 ? " + c + " <= " + d + " : " + c + " >= " + d + "; " + c + " += " + e + ") {\n" + g + "}\n");
279
+ }
280
+ return a;
281
+ }, controls_forEach$$module$build$src$generators$javascript$loops = function(a, b) {
282
+ const c = b.getVariableName(a.getFieldValue("VAR"));
283
+ var d = b.valueToCode(a, "LIST", Order$$module$build$src$generators$javascript$javascript_generator.ASSIGNMENT) || "[]";
284
+ let e = b.statementToCode(a, "DO");
285
+ e = b.addLoopTrap(e, a);
286
+ a = "";
287
+ let f = d;
288
+ d.match(/^\w+$/) || (f = b.nameDB_.getDistinctName(
289
+ c + "_list",
290
+ $.NameType$$module$build$src$core$names.VARIABLE
291
+ ), a += "var " + f + " = " + d + ";\n");
292
+ d = b.nameDB_.getDistinctName(c + "_index", $.NameType$$module$build$src$core$names.VARIABLE);
293
+ e = b.INDENT + c + " = " + f + "[" + d + "];\n" + e;
294
+ return a + ("for (var " + d + " in " + f + ") {\n" + e + "}\n");
295
+ }, controls_flow_statements$$module$build$src$generators$javascript$loops = function(a, b) {
296
+ let c = "";
297
+ b.STATEMENT_PREFIX && (c += b.injectId(b.STATEMENT_PREFIX, a));
298
+ b.STATEMENT_SUFFIX && (c += b.injectId(b.STATEMENT_SUFFIX, a));
299
+ if (b.STATEMENT_PREFIX) {
300
+ const d = a.getSurroundLoop();
301
+ d && !d.suppressPrefixSuffix && (c += b.injectId(b.STATEMENT_PREFIX, d));
302
+ }
303
+ switch (a.getFieldValue("FLOW")) {
304
+ case "BREAK":
305
+ return c + "break;\n";
306
+ case "CONTINUE":
307
+ return c + "continue;\n";
308
+ }
309
+ throw Error("Unknown flow statement.");
310
+ }, math_number$$module$build$src$generators$javascript$math = function(a, b) {
311
+ a = Number(a.getFieldValue("NUM"));
312
+ return [String(a), a >= 0 ? Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC : Order$$module$build$src$generators$javascript$javascript_generator.UNARY_NEGATION];
313
+ }, math_arithmetic$$module$build$src$generators$javascript$math = function(a, b) {
314
+ var c = { ADD: [" + ", Order$$module$build$src$generators$javascript$javascript_generator.ADDITION], MINUS: [" - ", Order$$module$build$src$generators$javascript$javascript_generator.SUBTRACTION], MULTIPLY: [" * ", Order$$module$build$src$generators$javascript$javascript_generator.MULTIPLICATION], DIVIDE: [" / ", Order$$module$build$src$generators$javascript$javascript_generator.DIVISION], POWER: [null, Order$$module$build$src$generators$javascript$javascript_generator.NONE] }[a.getFieldValue("OP")];
315
+ const d = c[0];
316
+ c = c[1];
317
+ const e = b.valueToCode(a, "A", c) || "0";
318
+ a = b.valueToCode(a, "B", c) || "0";
319
+ return d ? [e + d + a, c] : ["Math.pow(" + e + ", " + a + ")", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
320
+ }, math_single$$module$build$src$generators$javascript$math = function(a, b) {
321
+ const c = a.getFieldValue("OP");
322
+ let d;
323
+ if (c === "NEG") return a = b.valueToCode(a, "NUM", Order$$module$build$src$generators$javascript$javascript_generator.UNARY_NEGATION) || "0", a[0] === "-" && (a = " " + a), ["-" + a, Order$$module$build$src$generators$javascript$javascript_generator.UNARY_NEGATION];
324
+ a = c === "SIN" || c === "COS" || c === "TAN" ? b.valueToCode(a, "NUM", Order$$module$build$src$generators$javascript$javascript_generator.DIVISION) || "0" : b.valueToCode(a, "NUM", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "0";
325
+ switch (c) {
326
+ case "ABS":
327
+ d = "Math.abs(" + a + ")";
328
+ break;
329
+ case "ROOT":
330
+ d = "Math.sqrt(" + a + ")";
331
+ break;
332
+ case "LN":
333
+ d = "Math.log(" + a + ")";
334
+ break;
335
+ case "EXP":
336
+ d = "Math.exp(" + a + ")";
337
+ break;
338
+ case "POW10":
339
+ d = "Math.pow(10," + a + ")";
340
+ break;
341
+ case "ROUND":
342
+ d = "Math.round(" + a + ")";
343
+ break;
344
+ case "ROUNDUP":
345
+ d = "Math.ceil(" + a + ")";
346
+ break;
347
+ case "ROUNDDOWN":
348
+ d = "Math.floor(" + a + ")";
349
+ break;
350
+ case "SIN":
351
+ d = "Math.sin(" + a + " / 180 * Math.PI)";
352
+ break;
353
+ case "COS":
354
+ d = "Math.cos(" + a + " / 180 * Math.PI)";
355
+ break;
356
+ case "TAN":
357
+ d = "Math.tan(" + a + " / 180 * Math.PI)";
358
+ }
359
+ if (d) return [d, Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
360
+ switch (c) {
361
+ case "LOG10":
362
+ d = "Math.log(" + a + ") / Math.log(10)";
363
+ break;
364
+ case "ASIN":
365
+ d = "Math.asin(" + a + ") / Math.PI * 180";
366
+ break;
367
+ case "ACOS":
368
+ d = "Math.acos(" + a + ") / Math.PI * 180";
369
+ break;
370
+ case "ATAN":
371
+ d = "Math.atan(" + a + ") / Math.PI * 180";
372
+ break;
373
+ default:
374
+ throw Error("Unknown math operator: " + c);
375
+ }
376
+ return [d, Order$$module$build$src$generators$javascript$javascript_generator.DIVISION];
377
+ }, math_constant$$module$build$src$generators$javascript$math = function(a, b) {
378
+ return {
379
+ PI: ["Math.PI", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER],
380
+ E: ["Math.E", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER],
381
+ GOLDEN_RATIO: ["(1 + Math.sqrt(5)) / 2", Order$$module$build$src$generators$javascript$javascript_generator.DIVISION],
382
+ SQRT2: ["Math.SQRT2", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER],
383
+ SQRT1_2: ["Math.SQRT1_2", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER],
384
+ INFINITY: ["Infinity", Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC]
385
+ }[a.getFieldValue("CONSTANT")];
386
+ }, math_number_property$$module$build$src$generators$javascript$math = function(a, b) {
387
+ var c = { EVEN: [
388
+ " % 2 === 0",
389
+ Order$$module$build$src$generators$javascript$javascript_generator.MODULUS,
390
+ Order$$module$build$src$generators$javascript$javascript_generator.EQUALITY
391
+ ], ODD: [" % 2 === 1", Order$$module$build$src$generators$javascript$javascript_generator.MODULUS, Order$$module$build$src$generators$javascript$javascript_generator.EQUALITY], WHOLE: [" % 1 === 0", Order$$module$build$src$generators$javascript$javascript_generator.MODULUS, Order$$module$build$src$generators$javascript$javascript_generator.EQUALITY], POSITIVE: [
392
+ " > 0",
393
+ Order$$module$build$src$generators$javascript$javascript_generator.RELATIONAL,
394
+ Order$$module$build$src$generators$javascript$javascript_generator.RELATIONAL
395
+ ], NEGATIVE: [" < 0", Order$$module$build$src$generators$javascript$javascript_generator.RELATIONAL, Order$$module$build$src$generators$javascript$javascript_generator.RELATIONAL], DIVISIBLE_BY: [null, Order$$module$build$src$generators$javascript$javascript_generator.MODULUS, Order$$module$build$src$generators$javascript$javascript_generator.EQUALITY], PRIME: [
396
+ null,
397
+ Order$$module$build$src$generators$javascript$javascript_generator.NONE,
398
+ Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL
399
+ ] };
400
+ const d = a.getFieldValue("PROPERTY"), [e, f, g] = c[d];
401
+ c = b.valueToCode(a, "NUMBER_TO_CHECK", f) || "0";
402
+ d === "PRIME" ? a = b.provideFunction_("mathIsPrime", `
403
+ function ${b.FUNCTION_NAME_PLACEHOLDER_}(n) {
404
+ // https://en.wikipedia.org/wiki/Primality_test#Naive_methods
405
+ if (n == 2 || n == 3) {
406
+ return true;
407
+ }
408
+ // False if n is NaN, negative, is 1, or not whole.
409
+ // And false if n is divisible by 2 or 3.
410
+ if (isNaN(n) || n <= 1 || n % 1 !== 0 || n % 2 === 0 || n % 3 === 0) {
411
+ return false;
412
+ }
413
+ // Check all the numbers of form 6k +/- 1, up to sqrt(n).
414
+ for (var x = 6; x <= Math.sqrt(n) + 1; x += 6) {
415
+ if (n % (x - 1) === 0 || n % (x + 1) === 0) {
416
+ return false;
417
+ }
418
+ }
419
+ return true;
420
+ }
421
+ `) + "(" + c + ")" : d === "DIVISIBLE_BY" ? (a = b.valueToCode(a, "DIVISOR", Order$$module$build$src$generators$javascript$javascript_generator.MODULUS) || "0", a = c + " % " + a + " === 0") : a = c + e;
422
+ return [a, g];
423
+ }, math_change$$module$build$src$generators$javascript$math = function(a, b) {
424
+ const c = b.valueToCode(a, "DELTA", Order$$module$build$src$generators$javascript$javascript_generator.ADDITION) || "0";
425
+ a = b.getVariableName(a.getFieldValue("VAR"));
426
+ return a + " = (typeof " + a + " === 'number' ? " + a + " : 0) + " + c + ";\n";
427
+ }, math_on_list$$module$build$src$generators$javascript$math = function(a, b) {
428
+ var c = a.getFieldValue("OP");
429
+ switch (c) {
430
+ case "SUM":
431
+ a = b.valueToCode(a, "LIST", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER) || "[]";
432
+ a += ".reduce(function(x, y) {return x + y;}, 0)";
433
+ break;
434
+ case "MIN":
435
+ a = b.valueToCode(a, "LIST", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "[]";
436
+ a = "Math.min.apply(null, " + a + ")";
437
+ break;
438
+ case "MAX":
439
+ a = b.valueToCode(a, "LIST", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "[]";
440
+ a = "Math.max.apply(null, " + a + ")";
441
+ break;
442
+ case "AVERAGE":
443
+ c = b.provideFunction_("mathMean", `
444
+ function ${b.FUNCTION_NAME_PLACEHOLDER_}(myList) {
445
+ return myList.reduce(function(x, y) {return x + y;}, 0) / myList.length;
446
+ }
447
+ `);
448
+ a = b.valueToCode(a, "LIST", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "[]";
449
+ a = c + "(" + a + ")";
450
+ break;
451
+ case "MEDIAN":
452
+ c = b.provideFunction_("mathMedian", `
453
+ function ${b.FUNCTION_NAME_PLACEHOLDER_}(myList) {
454
+ var localList = myList.filter(function (x) {return typeof x === 'number';});
455
+ if (!localList.length) return null;
456
+ localList.sort(function(a, b) {return b - a;});
457
+ if (localList.length % 2 === 0) {
458
+ return (localList[localList.length / 2 - 1] + localList[localList.length / 2]) / 2;
459
+ } else {
460
+ return localList[(localList.length - 1) / 2];
461
+ }
462
+ }
463
+ `);
464
+ a = b.valueToCode(a, "LIST", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "[]";
465
+ a = c + "(" + a + ")";
466
+ break;
467
+ case "MODE":
468
+ c = b.provideFunction_("mathModes", `
469
+ function ${b.FUNCTION_NAME_PLACEHOLDER_}(values) {
470
+ var modes = [];
471
+ var counts = [];
472
+ var maxCount = 0;
473
+ for (var i = 0; i < values.length; i++) {
474
+ var value = values[i];
475
+ var found = false;
476
+ var thisCount;
477
+ for (var j = 0; j < counts.length; j++) {
478
+ if (counts[j][0] === value) {
479
+ thisCount = ++counts[j][1];
480
+ found = true;
481
+ break;
482
+ }
483
+ }
484
+ if (!found) {
485
+ counts.push([value, 1]);
486
+ thisCount = 1;
487
+ }
488
+ maxCount = Math.max(thisCount, maxCount);
489
+ }
490
+ for (var j = 0; j < counts.length; j++) {
491
+ if (counts[j][1] === maxCount) {
492
+ modes.push(counts[j][0]);
493
+ }
494
+ }
495
+ return modes;
496
+ }
497
+ `);
498
+ a = b.valueToCode(a, "LIST", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "[]";
499
+ a = c + "(" + a + ")";
500
+ break;
501
+ case "STD_DEV":
502
+ c = b.provideFunction_("mathStandardDeviation", `
503
+ function ${b.FUNCTION_NAME_PLACEHOLDER_}(numbers) {
504
+ var n = numbers.length;
505
+ if (!n) return null;
506
+ var mean = numbers.reduce(function(x, y) {return x + y;}) / n;
507
+ var variance = 0;
508
+ for (var j = 0; j < n; j++) {
509
+ variance += Math.pow(numbers[j] - mean, 2);
510
+ }
511
+ variance /= n;
512
+ return Math.sqrt(variance);
513
+ }
514
+ `);
515
+ a = b.valueToCode(a, "LIST", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "[]";
516
+ a = c + "(" + a + ")";
517
+ break;
518
+ case "RANDOM":
519
+ c = b.provideFunction_("mathRandomList", `
520
+ function ${b.FUNCTION_NAME_PLACEHOLDER_}(list) {
521
+ var x = Math.floor(Math.random() * list.length);
522
+ return list[x];
523
+ }
524
+ `);
525
+ a = b.valueToCode(a, "LIST", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "[]";
526
+ a = c + "(" + a + ")";
527
+ break;
528
+ default:
529
+ throw Error("Unknown operator: " + c);
530
+ }
531
+ return [a, Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
532
+ }, math_modulo$$module$build$src$generators$javascript$math = function(a, b) {
533
+ const c = b.valueToCode(a, "DIVIDEND", Order$$module$build$src$generators$javascript$javascript_generator.MODULUS) || "0";
534
+ a = b.valueToCode(a, "DIVISOR", Order$$module$build$src$generators$javascript$javascript_generator.MODULUS) || "0";
535
+ return [c + " % " + a, Order$$module$build$src$generators$javascript$javascript_generator.MODULUS];
536
+ }, math_constrain$$module$build$src$generators$javascript$math = function(a, b) {
537
+ const c = b.valueToCode(a, "VALUE", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "0", d = b.valueToCode(a, "LOW", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "0";
538
+ a = b.valueToCode(a, "HIGH", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "Infinity";
539
+ return ["Math.min(Math.max(" + c + ", " + d + "), " + a + ")", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
540
+ }, math_random_int$$module$build$src$generators$javascript$math = function(a, b) {
541
+ const c = b.valueToCode(a, "FROM", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "0";
542
+ a = b.valueToCode(a, "TO", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "0";
543
+ return [b.provideFunction_("mathRandomInt", `
544
+ function ${b.FUNCTION_NAME_PLACEHOLDER_}(a, b) {
545
+ if (a > b) {
546
+ // Swap a and b to ensure a is smaller.
547
+ var c = a;
548
+ a = b;
549
+ b = c;
550
+ }
551
+ return Math.floor(Math.random() * (b - a + 1) + a);
552
+ }
553
+ `) + "(" + c + ", " + a + ")", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
554
+ }, math_random_float$$module$build$src$generators$javascript$math = function(a, b) {
555
+ return ["Math.random()", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
556
+ }, math_atan2$$module$build$src$generators$javascript$math = function(a, b) {
557
+ const c = b.valueToCode(a, "X", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "0";
558
+ return ["Math.atan2(" + (b.valueToCode(
559
+ a,
560
+ "Y",
561
+ Order$$module$build$src$generators$javascript$javascript_generator.NONE
562
+ ) || "0") + ", " + c + ") / Math.PI * 180", Order$$module$build$src$generators$javascript$javascript_generator.DIVISION];
563
+ }, procedures_defreturn$$module$build$src$generators$javascript$procedures = function(a, b) {
564
+ const c = b.getProcedureName(a.getFieldValue("NAME"));
565
+ var d = "";
566
+ b.STATEMENT_PREFIX && (d += b.injectId(b.STATEMENT_PREFIX, a));
567
+ b.STATEMENT_SUFFIX && (d += b.injectId(b.STATEMENT_SUFFIX, a));
568
+ d && (d = b.prefixLines(d, b.INDENT));
569
+ let e = "";
570
+ b.INFINITE_LOOP_TRAP && (e = b.prefixLines(b.injectId(b.INFINITE_LOOP_TRAP, a), b.INDENT));
571
+ let f = "";
572
+ a.getInput("STACK") && (f = b.statementToCode(a, "STACK"));
573
+ let g = "";
574
+ a.getInput("RETURN") && (g = b.valueToCode(a, "RETURN", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "");
575
+ let h = "";
576
+ f && g && (h = d);
577
+ g && (g = b.INDENT + "return " + g + ";\n");
578
+ const k = [], l = a.getVars();
579
+ for (let m = 0; m < l.length; m++) k[m] = b.getVariableName(l[m]);
580
+ d = "function " + c + "(" + k.join(", ") + ") {\n" + d + e + f + h + g + "}";
581
+ d = b.scrub_(a, d);
582
+ b.definitions_["%" + c] = d;
583
+ return null;
584
+ }, procedures_callreturn$$module$build$src$generators$javascript$procedures = function(a, b) {
585
+ const c = b.getProcedureName(a.getFieldValue("NAME")), d = [], e = a.getVars();
586
+ for (let f = 0; f < e.length; f++) d[f] = b.valueToCode(a, "ARG" + f, Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "null";
587
+ return [c + "(" + d.join(", ") + ")", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
588
+ }, procedures_callnoreturn$$module$build$src$generators$javascript$procedures = function(a, b) {
589
+ return b.forBlock.procedures_callreturn(
590
+ a,
591
+ b
592
+ )[0] + ";\n";
593
+ }, procedures_ifreturn$$module$build$src$generators$javascript$procedures = function(a, b) {
594
+ let c = "if (" + (b.valueToCode(a, "CONDITION", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "false") + ") {\n";
595
+ b.STATEMENT_SUFFIX && (c += b.prefixLines(b.injectId(b.STATEMENT_SUFFIX, a), b.INDENT));
596
+ a.hasReturnValue_ ? (a = b.valueToCode(a, "VALUE", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "null", c += b.INDENT + "return " + a + ";\n") : c += b.INDENT + "return;\n";
597
+ return c + "}\n";
598
+ }, text$$module$build$src$generators$javascript$text = function(a, b) {
599
+ return [b.quote_(a.getFieldValue("TEXT")), Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC];
600
+ }, text_join$$module$build$src$generators$javascript$text = function(a, b) {
601
+ switch (a.itemCount_) {
602
+ case 0:
603
+ return ["''", Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC];
604
+ case 1:
605
+ return a = b.valueToCode(a, "ADD0", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "''", forceString$$module$build$src$generators$javascript$text(a);
606
+ case 2:
607
+ var c = b.valueToCode(a, "ADD0", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "''";
608
+ a = b.valueToCode(a, "ADD1", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "''";
609
+ return [forceString$$module$build$src$generators$javascript$text(c)[0] + " + " + forceString$$module$build$src$generators$javascript$text(a)[0], Order$$module$build$src$generators$javascript$javascript_generator.ADDITION];
610
+ default:
611
+ c = Array(a.itemCount_);
612
+ for (let d = 0; d < a.itemCount_; d++) c[d] = b.valueToCode(a, "ADD" + d, Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "''";
613
+ return ["[" + c.join(",") + "].join('')", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
614
+ }
615
+ }, text_append$$module$build$src$generators$javascript$text = function(a, b) {
616
+ const c = b.getVariableName(a.getFieldValue("VAR"));
617
+ a = b.valueToCode(a, "TEXT", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "''";
618
+ return c + " += " + forceString$$module$build$src$generators$javascript$text(a)[0] + ";\n";
619
+ }, text_length$$module$build$src$generators$javascript$text = function(a, b) {
620
+ return [(b.valueToCode(a, "VALUE", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER) || "''") + ".length", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER];
621
+ }, text_isEmpty$$module$build$src$generators$javascript$text = function(a, b) {
622
+ return ["!" + (b.valueToCode(a, "VALUE", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER) || "''") + ".length", Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_NOT];
623
+ }, text_indexOf$$module$build$src$generators$javascript$text = function(a, b) {
624
+ const c = a.getFieldValue("END") === "FIRST" ? "indexOf" : "lastIndexOf", d = b.valueToCode(a, "FIND", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "''";
625
+ b = (b.valueToCode(a, "VALUE", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER) || "''") + "." + c + "(" + d + ")";
626
+ return a.workspace.options.oneBasedIndex ? [b + " + 1", Order$$module$build$src$generators$javascript$javascript_generator.ADDITION] : [b, Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
627
+ }, text_charAt$$module$build$src$generators$javascript$text = function(a, b) {
628
+ const c = a.getFieldValue("WHERE") || "FROM_START", d = b.valueToCode(a, "VALUE", c === "RANDOM" ? Order$$module$build$src$generators$javascript$javascript_generator.NONE : Order$$module$build$src$generators$javascript$javascript_generator.MEMBER) || "''";
629
+ switch (c) {
630
+ case "FIRST":
631
+ return [d + ".charAt(0)", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
632
+ case "LAST":
633
+ return [d + ".slice(-1)", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
634
+ case "FROM_START":
635
+ return a = b.getAdjusted(a, "AT"), [d + ".charAt(" + a + ")", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
636
+ case "FROM_END":
637
+ return a = b.getAdjusted(a, "AT", 1, true), [d + ".slice(" + a + ").charAt(0)", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
638
+ case "RANDOM":
639
+ return [b.provideFunction_("textRandomLetter", `
640
+ function ${b.FUNCTION_NAME_PLACEHOLDER_}(text) {
641
+ var x = Math.floor(Math.random() * text.length);
642
+ return text[x];
643
+ }
644
+ `) + "(" + d + ")", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
645
+ }
646
+ throw Error("Unhandled option (text_charAt).");
647
+ }, text_getSubstring$$module$build$src$generators$javascript$text = function(a, b) {
648
+ var c = { FIRST: "First", LAST: "Last", FROM_START: "FromStart", FROM_END: "FromEnd" };
649
+ const d = a.getFieldValue("WHERE1"), e = a.getFieldValue("WHERE2");
650
+ var f = d !== "FROM_END" && d !== "LAST" && e !== "FROM_END" && e !== "LAST", g = b.valueToCode(a, "STRING", f ? Order$$module$build$src$generators$javascript$javascript_generator.MEMBER : Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "''";
651
+ if (d === "FIRST" && e === "LAST") return [g, Order$$module$build$src$generators$javascript$javascript_generator.NONE];
652
+ if (g.match(/^'?\w+'?$/) || f) {
653
+ switch (d) {
654
+ case "FROM_START":
655
+ c = b.getAdjusted(a, "AT1");
656
+ break;
657
+ case "FROM_END":
658
+ c = b.getAdjusted(a, "AT1", 1, false, Order$$module$build$src$generators$javascript$javascript_generator.SUBTRACTION);
659
+ c = g + ".length - " + c;
660
+ break;
661
+ case "FIRST":
662
+ c = "0";
663
+ break;
664
+ default:
665
+ throw Error("Unhandled option (text_getSubstring).");
666
+ }
667
+ switch (e) {
668
+ case "FROM_START":
669
+ b = b.getAdjusted(a, "AT2", 1);
670
+ break;
671
+ case "FROM_END":
672
+ b = b.getAdjusted(a, "AT2", 0, false, Order$$module$build$src$generators$javascript$javascript_generator.SUBTRACTION);
673
+ b = g + ".length - " + b;
674
+ break;
675
+ case "LAST":
676
+ b = g + ".length";
677
+ break;
678
+ default:
679
+ throw Error("Unhandled option (text_getSubstring).");
680
+ }
681
+ g = g + ".slice(" + c + ", " + b + ")";
682
+ } else f = b.getAdjusted(a, "AT1"), a = b.getAdjusted(a, "AT2"), g = b.provideFunction_("subsequence" + c[d] + c[e], `
683
+ function ${b.FUNCTION_NAME_PLACEHOLDER_}(sequence${d === "FROM_END" || d === "FROM_START" ? ", at1" : ""}${e === "FROM_END" || e === "FROM_START" ? ", at2" : ""}) {
684
+ var start = ${getSubstringIndex$$module$build$src$generators$javascript$text("sequence", d, "at1")};
685
+ var end = ${getSubstringIndex$$module$build$src$generators$javascript$text("sequence", e, "at2")} + 1;
686
+ return sequence.slice(start, end);
687
+ }
688
+ `) + "(" + g + (d === "FROM_END" || d === "FROM_START" ? ", " + f : "") + (e === "FROM_END" || e === "FROM_START" ? ", " + a : "") + ")";
689
+ return [g, Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
690
+ }, text_changeCase$$module$build$src$generators$javascript$text = function(a, b) {
691
+ const c = { UPPERCASE: ".toUpperCase()", LOWERCASE: ".toLowerCase()", TITLECASE: null }[a.getFieldValue("CASE")];
692
+ a = b.valueToCode(a, "TEXT", c ? Order$$module$build$src$generators$javascript$javascript_generator.MEMBER : Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "''";
693
+ return [c ? a + c : b.provideFunction_("textToTitleCase", `
694
+ function ${b.FUNCTION_NAME_PLACEHOLDER_}(str) {
695
+ return str.replace(/\\S+/g,
696
+ function(txt) {return txt[0].toUpperCase() + txt.substring(1).toLowerCase();});
697
+ }
698
+ `) + "(" + a + ")", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
699
+ }, text_trim$$module$build$src$generators$javascript$text = function(a, b) {
700
+ const c = { LEFT: ".replace(/^[\\s\\xa0]+/, '')", RIGHT: ".replace(/[\\s\\xa0]+$/, '')", BOTH: ".trim()" }[a.getFieldValue("MODE")];
701
+ return [(b.valueToCode(a, "TEXT", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER) || "''") + c, Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
702
+ }, text_print$$module$build$src$generators$javascript$text = function(a, b) {
703
+ return "window.alert(" + (b.valueToCode(a, "TEXT", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "''") + ");\n";
704
+ }, text_prompt_ext$$module$build$src$generators$javascript$text = function(a, b) {
705
+ b = "window.prompt(" + (a.getField("TEXT") ? b.quote_(a.getFieldValue("TEXT")) : b.valueToCode(a, "TEXT", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "''") + ")";
706
+ a.getFieldValue("TYPE") === "NUMBER" && (b = "Number(" + b + ")");
707
+ return [b, Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
708
+ }, text_count$$module$build$src$generators$javascript$text = function(a, b) {
709
+ const c = b.valueToCode(a, "TEXT", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "''";
710
+ a = b.valueToCode(a, "SUB", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "''";
711
+ return [b.provideFunction_("textCount", `
712
+ function ${b.FUNCTION_NAME_PLACEHOLDER_}(haystack, needle) {
713
+ if (needle.length === 0) {
714
+ return haystack.length + 1;
715
+ } else {
716
+ return haystack.split(needle).length - 1;
717
+ }
718
+ }
719
+ `) + "(" + c + ", " + a + ")", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
720
+ }, text_replace$$module$build$src$generators$javascript$text = function(a, b) {
721
+ const c = b.valueToCode(a, "TEXT", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "''", d = b.valueToCode(a, "FROM", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "''";
722
+ a = b.valueToCode(a, "TO", Order$$module$build$src$generators$javascript$javascript_generator.NONE) || "''";
723
+ return [b.provideFunction_(
724
+ "textReplace",
725
+ `
726
+ function ${b.FUNCTION_NAME_PLACEHOLDER_}(haystack, needle, replacement) {
727
+ needle = needle.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g, '\\\\$1')
728
+ .replace(/\\x08/g, '\\\\x08');
729
+ return haystack.replace(new RegExp(needle, 'g'), replacement);
730
+ }
731
+ `
732
+ ) + "(" + c + ", " + d + ", " + a + ")", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
733
+ }, text_reverse$$module$build$src$generators$javascript$text = function(a, b) {
734
+ return [(b.valueToCode(a, "TEXT", Order$$module$build$src$generators$javascript$javascript_generator.MEMBER) || "''") + ".split('').reverse().join('')", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
735
+ }, variables_get$$module$build$src$generators$javascript$variables = function(a, b) {
736
+ return [
737
+ b.getVariableName(a.getFieldValue("VAR")),
738
+ Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC
739
+ ];
740
+ }, variables_set$$module$build$src$generators$javascript$variables = function(a, b) {
741
+ const c = b.valueToCode(a, "VALUE", Order$$module$build$src$generators$javascript$javascript_generator.ASSIGNMENT) || "0";
742
+ return b.getVariableName(a.getFieldValue("VAR")) + " = " + c + ";\n";
743
+ }, Order$$module$build$src$generators$javascript$javascript_generator;
744
+ (function(a) {
745
+ a[a.ATOMIC = 0] = "ATOMIC";
746
+ a[a.NEW = 1.1] = "NEW";
747
+ a[a.MEMBER = 1.2] = "MEMBER";
748
+ a[a.FUNCTION_CALL = 2] = "FUNCTION_CALL";
749
+ a[a.INCREMENT = 3] = "INCREMENT";
750
+ a[a.DECREMENT = 3] = "DECREMENT";
751
+ a[a.BITWISE_NOT = 4.1] = "BITWISE_NOT";
752
+ a[a.UNARY_PLUS = 4.2] = "UNARY_PLUS";
753
+ a[a.UNARY_NEGATION = 4.3] = "UNARY_NEGATION";
754
+ a[a.LOGICAL_NOT = 4.4] = "LOGICAL_NOT";
755
+ a[a.TYPEOF = 4.5] = "TYPEOF";
756
+ a[a.VOID = 4.6] = "VOID";
757
+ a[a.DELETE = 4.7] = "DELETE";
758
+ a[a.AWAIT = 4.8] = "AWAIT";
759
+ a[a.EXPONENTIATION = 5] = "EXPONENTIATION";
760
+ a[a.MULTIPLICATION = 5.1] = "MULTIPLICATION";
761
+ a[a.DIVISION = 5.2] = "DIVISION";
762
+ a[a.MODULUS = 5.3] = "MODULUS";
763
+ a[a.SUBTRACTION = 6.1] = "SUBTRACTION";
764
+ a[a.ADDITION = 6.2] = "ADDITION";
765
+ a[a.BITWISE_SHIFT = 7] = "BITWISE_SHIFT";
766
+ a[a.RELATIONAL = 8] = "RELATIONAL";
767
+ a[a.IN = 8] = "IN";
768
+ a[a.INSTANCEOF = 8] = "INSTANCEOF";
769
+ a[a.EQUALITY = 9] = "EQUALITY";
770
+ a[a.BITWISE_AND = 10] = "BITWISE_AND";
771
+ a[a.BITWISE_XOR = 11] = "BITWISE_XOR";
772
+ a[a.BITWISE_OR = 12] = "BITWISE_OR";
773
+ a[a.LOGICAL_AND = 13] = "LOGICAL_AND";
774
+ a[a.LOGICAL_OR = 14] = "LOGICAL_OR";
775
+ a[a.CONDITIONAL = 15] = "CONDITIONAL";
776
+ a[a.ASSIGNMENT = 16] = "ASSIGNMENT";
777
+ a[a.YIELD = 17] = "YIELD";
778
+ a[a.COMMA = 18] = "COMMA";
779
+ a[a.NONE = 99] = "NONE";
780
+ })(Order$$module$build$src$generators$javascript$javascript_generator || (Order$$module$build$src$generators$javascript$javascript_generator = {}));
781
+ var JavascriptGenerator$$module$build$src$generators$javascript$javascript_generator = class extends $.CodeGenerator$$module$build$src$core$generator {
782
+ constructor(a = "JavaScript") {
783
+ super(a);
784
+ this.ORDER_OVERRIDES = [
785
+ [Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL, Order$$module$build$src$generators$javascript$javascript_generator.MEMBER],
786
+ [Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL, Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL],
787
+ [Order$$module$build$src$generators$javascript$javascript_generator.MEMBER, Order$$module$build$src$generators$javascript$javascript_generator.MEMBER],
788
+ [Order$$module$build$src$generators$javascript$javascript_generator.MEMBER, Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL],
789
+ [Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_NOT, Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_NOT],
790
+ [
791
+ Order$$module$build$src$generators$javascript$javascript_generator.MULTIPLICATION,
792
+ Order$$module$build$src$generators$javascript$javascript_generator.MULTIPLICATION
793
+ ],
794
+ [Order$$module$build$src$generators$javascript$javascript_generator.ADDITION, Order$$module$build$src$generators$javascript$javascript_generator.ADDITION],
795
+ [Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_AND, Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_AND],
796
+ [Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_OR, Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_OR]
797
+ ];
798
+ this.isInitialized = false;
799
+ for (const b in Order$$module$build$src$generators$javascript$javascript_generator) a = Order$$module$build$src$generators$javascript$javascript_generator[b], typeof a !== "string" && (this["ORDER_" + b] = a);
800
+ this.addReservedWords("break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,in,instanceof,new,return,super,switch,this,throw,try,typeof,var,void,while,with,yield,enum,implements,interface,let,package,private,protected,public,static,await,null,true,false,arguments," + Object.getOwnPropertyNames(globalThis).join(","));
801
+ }
802
+ init(a) {
803
+ super.init(a);
804
+ this.nameDB_ ? this.nameDB_.reset() : this.nameDB_ = new $.Names$$module$build$src$core$names(this.RESERVED_WORDS_);
805
+ this.nameDB_.setVariableMap(a.getVariableMap());
806
+ this.nameDB_.populateVariables(a);
807
+ this.nameDB_.populateProcedures(a);
808
+ const b = [];
809
+ var c = $.allDeveloperVariables$$module$build$src$core$variables(a);
810
+ for (let d = 0; d < c.length; d++) b.push(this.nameDB_.getName(c[d], $.NameType$$module$build$src$core$names.DEVELOPER_VARIABLE));
811
+ a = $.allUsedVarModels$$module$build$src$core$variables(a);
812
+ for (c = 0; c < a.length; c++) b.push(this.nameDB_.getName(a[c].getId(), $.NameType$$module$build$src$core$names.VARIABLE));
813
+ b.length && (this.definitions_.variables = "var " + b.join(", ") + ";");
814
+ this.isInitialized = true;
815
+ }
816
+ finish(a) {
817
+ const b = Object.values(this.definitions_);
818
+ super.finish(a);
819
+ this.isInitialized = false;
820
+ this.nameDB_.reset();
821
+ return b.join("\n\n") + "\n\n\n" + a;
822
+ }
823
+ scrubNakedValue(a) {
824
+ return a + ";\n";
825
+ }
826
+ quote_(a) {
827
+ a = a.replace(/\\/g, "\\\\").replace(/\n/g, "\\\n").replace(/'/g, "\\'");
828
+ return "'" + a + "'";
829
+ }
830
+ multiline_quote_(a) {
831
+ return a.split(/\n/g).map(this.quote_).join(" + '\\n' +\n");
832
+ }
833
+ scrub_(a, b, c = false) {
834
+ let d = "";
835
+ if (!a.outputConnection || !a.outputConnection.targetConnection) {
836
+ var e = a.getCommentText();
837
+ e && (e = $.wrap$$module$build$src$core$utils$string(e, this.COMMENT_WRAP - 3), d += this.prefixLines(e + "\n", "// "));
838
+ for (let f = 0; f < a.inputList.length; f++) a.inputList[f].type === $.inputTypes$$module$build$src$core$inputs$input_types.VALUE && (e = a.inputList[f].connection.targetBlock()) && (e = this.allNestedComments(e)) && (d += this.prefixLines(e, "// "));
839
+ }
840
+ a = a.nextConnection && a.nextConnection.targetBlock();
841
+ c = c ? "" : this.blockToCode(a);
842
+ return d + b + c;
843
+ }
844
+ getAdjusted(a, b, c = 0, d = false, e = Order$$module$build$src$generators$javascript$javascript_generator.NONE) {
845
+ a.workspace.options.oneBasedIndex && c--;
846
+ const f = a.workspace.options.oneBasedIndex ? "1" : "0";
847
+ let g = e;
848
+ c > 0 ? g = Order$$module$build$src$generators$javascript$javascript_generator.ADDITION : c < 0 ? g = Order$$module$build$src$generators$javascript$javascript_generator.SUBTRACTION : d && (g = Order$$module$build$src$generators$javascript$javascript_generator.UNARY_NEGATION);
849
+ a = this.valueToCode(a, b, g) || f;
850
+ if (c === 0 && !d) return a;
851
+ if ($.isNumber$$module$build$src$core$utils$string(a)) return a = String(Number(a) + c), d && (a = String(-Number(a))), a;
852
+ c > 0 ? a = `${a} + ${c}` : c < 0 && (a = `${a} - ${-c}`);
853
+ d && (a = c ? `-(${a})` : `-${a}`);
854
+ Math.floor(e) >= Math.floor(g) && (a = `(${a})`);
855
+ return a;
856
+ }
857
+ };
858
+ var getSubstringIndex$$module$build$src$generators$javascript$lists = function(a, b, c) {
859
+ return b === "FIRST" ? "0" : b === "FROM_END" ? a + ".length - 1 - " + c : b === "LAST" ? a + ".length - 1" : c;
860
+ }, module$build$src$generators$javascript$lists = {};
861
+ module$build$src$generators$javascript$lists.lists_create_empty = lists_create_empty$$module$build$src$generators$javascript$lists;
862
+ module$build$src$generators$javascript$lists.lists_create_with = lists_create_with$$module$build$src$generators$javascript$lists;
863
+ module$build$src$generators$javascript$lists.lists_getIndex = lists_getIndex$$module$build$src$generators$javascript$lists;
864
+ module$build$src$generators$javascript$lists.lists_getSublist = lists_getSublist$$module$build$src$generators$javascript$lists;
865
+ module$build$src$generators$javascript$lists.lists_indexOf = lists_indexOf$$module$build$src$generators$javascript$lists;
866
+ module$build$src$generators$javascript$lists.lists_isEmpty = lists_isEmpty$$module$build$src$generators$javascript$lists;
867
+ module$build$src$generators$javascript$lists.lists_length = lists_length$$module$build$src$generators$javascript$lists;
868
+ module$build$src$generators$javascript$lists.lists_repeat = lists_repeat$$module$build$src$generators$javascript$lists;
869
+ module$build$src$generators$javascript$lists.lists_reverse = lists_reverse$$module$build$src$generators$javascript$lists;
870
+ module$build$src$generators$javascript$lists.lists_setIndex = lists_setIndex$$module$build$src$generators$javascript$lists;
871
+ module$build$src$generators$javascript$lists.lists_sort = lists_sort$$module$build$src$generators$javascript$lists;
872
+ module$build$src$generators$javascript$lists.lists_split = lists_split$$module$build$src$generators$javascript$lists;
873
+ var module$build$src$generators$javascript$logic = {};
874
+ module$build$src$generators$javascript$logic.controls_if = controls_if$$module$build$src$generators$javascript$logic;
875
+ module$build$src$generators$javascript$logic.controls_ifelse = controls_if$$module$build$src$generators$javascript$logic;
876
+ module$build$src$generators$javascript$logic.logic_boolean = logic_boolean$$module$build$src$generators$javascript$logic;
877
+ module$build$src$generators$javascript$logic.logic_compare = logic_compare$$module$build$src$generators$javascript$logic;
878
+ module$build$src$generators$javascript$logic.logic_negate = logic_negate$$module$build$src$generators$javascript$logic;
879
+ module$build$src$generators$javascript$logic.logic_null = logic_null$$module$build$src$generators$javascript$logic;
880
+ module$build$src$generators$javascript$logic.logic_operation = logic_operation$$module$build$src$generators$javascript$logic;
881
+ module$build$src$generators$javascript$logic.logic_ternary = logic_ternary$$module$build$src$generators$javascript$logic;
882
+ var module$build$src$generators$javascript$loops = {};
883
+ module$build$src$generators$javascript$loops.controls_flow_statements = controls_flow_statements$$module$build$src$generators$javascript$loops;
884
+ module$build$src$generators$javascript$loops.controls_for = controls_for$$module$build$src$generators$javascript$loops;
885
+ module$build$src$generators$javascript$loops.controls_forEach = controls_forEach$$module$build$src$generators$javascript$loops;
886
+ module$build$src$generators$javascript$loops.controls_repeat = controls_repeat_ext$$module$build$src$generators$javascript$loops;
887
+ module$build$src$generators$javascript$loops.controls_repeat_ext = controls_repeat_ext$$module$build$src$generators$javascript$loops;
888
+ module$build$src$generators$javascript$loops.controls_whileUntil = controls_whileUntil$$module$build$src$generators$javascript$loops;
889
+ var module$build$src$generators$javascript$math = {};
890
+ module$build$src$generators$javascript$math.math_arithmetic = math_arithmetic$$module$build$src$generators$javascript$math;
891
+ module$build$src$generators$javascript$math.math_atan2 = math_atan2$$module$build$src$generators$javascript$math;
892
+ module$build$src$generators$javascript$math.math_change = math_change$$module$build$src$generators$javascript$math;
893
+ module$build$src$generators$javascript$math.math_constant = math_constant$$module$build$src$generators$javascript$math;
894
+ module$build$src$generators$javascript$math.math_constrain = math_constrain$$module$build$src$generators$javascript$math;
895
+ module$build$src$generators$javascript$math.math_modulo = math_modulo$$module$build$src$generators$javascript$math;
896
+ module$build$src$generators$javascript$math.math_number = math_number$$module$build$src$generators$javascript$math;
897
+ module$build$src$generators$javascript$math.math_number_property = math_number_property$$module$build$src$generators$javascript$math;
898
+ module$build$src$generators$javascript$math.math_on_list = math_on_list$$module$build$src$generators$javascript$math;
899
+ module$build$src$generators$javascript$math.math_random_float = math_random_float$$module$build$src$generators$javascript$math;
900
+ module$build$src$generators$javascript$math.math_random_int = math_random_int$$module$build$src$generators$javascript$math;
901
+ module$build$src$generators$javascript$math.math_round = math_single$$module$build$src$generators$javascript$math;
902
+ module$build$src$generators$javascript$math.math_single = math_single$$module$build$src$generators$javascript$math;
903
+ module$build$src$generators$javascript$math.math_trig = math_single$$module$build$src$generators$javascript$math;
904
+ var module$build$src$generators$javascript$procedures = {};
905
+ module$build$src$generators$javascript$procedures.procedures_callnoreturn = procedures_callnoreturn$$module$build$src$generators$javascript$procedures;
906
+ module$build$src$generators$javascript$procedures.procedures_callreturn = procedures_callreturn$$module$build$src$generators$javascript$procedures;
907
+ module$build$src$generators$javascript$procedures.procedures_defnoreturn = procedures_defreturn$$module$build$src$generators$javascript$procedures;
908
+ module$build$src$generators$javascript$procedures.procedures_defreturn = procedures_defreturn$$module$build$src$generators$javascript$procedures;
909
+ module$build$src$generators$javascript$procedures.procedures_ifreturn = procedures_ifreturn$$module$build$src$generators$javascript$procedures;
910
+ var strRegExp$$module$build$src$generators$javascript$text = /^\s*'([^']|\\')*'\s*$/, forceString$$module$build$src$generators$javascript$text = function(a) {
911
+ return strRegExp$$module$build$src$generators$javascript$text.test(a) ? [a, Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC] : ["String(" + a + ")", Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
912
+ }, getSubstringIndex$$module$build$src$generators$javascript$text = function(a, b, c) {
913
+ return b === "FIRST" ? "0" : b === "FROM_END" ? a + ".length - 1 - " + c : b === "LAST" ? a + ".length - 1" : c;
914
+ }, module$build$src$generators$javascript$text = {};
915
+ module$build$src$generators$javascript$text.text = text$$module$build$src$generators$javascript$text;
916
+ module$build$src$generators$javascript$text.text_append = text_append$$module$build$src$generators$javascript$text;
917
+ module$build$src$generators$javascript$text.text_changeCase = text_changeCase$$module$build$src$generators$javascript$text;
918
+ module$build$src$generators$javascript$text.text_charAt = text_charAt$$module$build$src$generators$javascript$text;
919
+ module$build$src$generators$javascript$text.text_count = text_count$$module$build$src$generators$javascript$text;
920
+ module$build$src$generators$javascript$text.text_getSubstring = text_getSubstring$$module$build$src$generators$javascript$text;
921
+ module$build$src$generators$javascript$text.text_indexOf = text_indexOf$$module$build$src$generators$javascript$text;
922
+ module$build$src$generators$javascript$text.text_isEmpty = text_isEmpty$$module$build$src$generators$javascript$text;
923
+ module$build$src$generators$javascript$text.text_join = text_join$$module$build$src$generators$javascript$text;
924
+ module$build$src$generators$javascript$text.text_length = text_length$$module$build$src$generators$javascript$text;
925
+ module$build$src$generators$javascript$text.text_print = text_print$$module$build$src$generators$javascript$text;
926
+ module$build$src$generators$javascript$text.text_prompt = text_prompt_ext$$module$build$src$generators$javascript$text;
927
+ module$build$src$generators$javascript$text.text_prompt_ext = text_prompt_ext$$module$build$src$generators$javascript$text;
928
+ module$build$src$generators$javascript$text.text_replace = text_replace$$module$build$src$generators$javascript$text;
929
+ module$build$src$generators$javascript$text.text_reverse = text_reverse$$module$build$src$generators$javascript$text;
930
+ module$build$src$generators$javascript$text.text_trim = text_trim$$module$build$src$generators$javascript$text;
931
+ var module$build$src$generators$javascript$variables = {};
932
+ module$build$src$generators$javascript$variables.variables_get = variables_get$$module$build$src$generators$javascript$variables;
933
+ module$build$src$generators$javascript$variables.variables_set = variables_set$$module$build$src$generators$javascript$variables;
934
+ var module$build$src$generators$javascript$variables_dynamic = {};
935
+ module$build$src$generators$javascript$variables_dynamic.variables_get_dynamic = variables_get$$module$build$src$generators$javascript$variables;
936
+ module$build$src$generators$javascript$variables_dynamic.variables_set_dynamic = variables_set$$module$build$src$generators$javascript$variables;
937
+ var javascriptGenerator$$module$build$src$generators$javascript = new JavascriptGenerator$$module$build$src$generators$javascript$javascript_generator(), generators$$module$build$src$generators$javascript = Object.assign(
938
+ {},
939
+ module$build$src$generators$javascript$lists,
940
+ module$build$src$generators$javascript$logic,
941
+ module$build$src$generators$javascript$loops,
942
+ module$build$src$generators$javascript$math,
943
+ module$build$src$generators$javascript$procedures,
944
+ module$build$src$generators$javascript$text,
945
+ module$build$src$generators$javascript$variables,
946
+ module$build$src$generators$javascript$variables_dynamic
947
+ );
948
+ for (const a in generators$$module$build$src$generators$javascript) javascriptGenerator$$module$build$src$generators$javascript.forBlock[a] = generators$$module$build$src$generators$javascript[a];
949
+ var module$build$src$generators$javascript = {};
950
+ module$build$src$generators$javascript.JavascriptGenerator = JavascriptGenerator$$module$build$src$generators$javascript$javascript_generator;
951
+ module$build$src$generators$javascript.Order = Order$$module$build$src$generators$javascript$javascript_generator;
952
+ module$build$src$generators$javascript.javascriptGenerator = javascriptGenerator$$module$build$src$generators$javascript;
953
+ module$build$src$generators$javascript.__namespace__ = $;
954
+ return module$build$src$generators$javascript;
955
+ });
956
+ })(javascript_compressed$1);
957
+ return javascript_compressed$1.exports;
958
+ }
959
+ var javascript_compressedExports = requireJavascript_compressed();
960
+ const javascript = /* @__PURE__ */ index.getDefaultExportFromCjs(javascript_compressedExports);
961
+ const {
962
+ JavascriptGenerator,
963
+ Order,
964
+ javascriptGenerator
965
+ } = javascript;
966
+ exports.JavascriptGenerator = JavascriptGenerator;
967
+ exports.Order = Order;
968
+ exports.javascriptGenerator = javascriptGenerator;
969
+ //# sourceMappingURL=javascript-Diow8phl.cjs.map