blockly 10.3.0-beta.0 → 11.0.0-beta.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.
- package/README.md +48 -34
- package/blockly.min.js +270 -258
- package/blockly_compressed.js +232 -224
- package/blockly_compressed.js.map +1 -1
- package/blocks_compressed.js.map +1 -1
- package/core/block.d.ts +2 -0
- package/core/block_dragger.d.ts +7 -3
- package/core/block_svg.d.ts +11 -13
- package/core/events/events_block_field_intermediate_change.d.ts +6 -0
- package/core/field.d.ts +18 -0
- package/core/field_input.d.ts +6 -1
- package/core/flyout_base.d.ts +9 -1
- package/core/gesture.d.ts +2 -2
- package/core/icons/comment_icon.d.ts +1 -0
- package/core/icons/icon.d.ts +19 -0
- package/core/icons/mutator_icon.d.ts +1 -0
- package/core/icons/warning_icon.d.ts +1 -0
- package/core/interfaces/i_icon.d.ts +8 -0
- package/core/interfaces/i_rendered_element.d.ts +19 -0
- package/core/layer_manager.d.ts +74 -0
- package/core/layers.d.ts +18 -0
- package/core/rendered_connection.d.ts +0 -6
- package/core/serialization/blocks.d.ts +2 -1
- package/core/workspace_svg.d.ts +14 -1
- package/dart.d.ts +1 -22
- package/dart_compressed.js +14 -11
- package/dart_compressed.js.map +1 -1
- package/generators/dart/colour.d.ts +16 -0
- package/generators/dart/dart_generator.d.ts +100 -0
- package/generators/dart/lists.d.ts +24 -0
- package/generators/dart/logic.d.ts +20 -0
- package/generators/dart/loops.d.ts +14 -0
- package/generators/dart/math.d.ts +26 -0
- package/generators/dart/procedures.d.ts +17 -0
- package/generators/dart/text.d.ts +29 -0
- package/generators/dart/variables.d.ts +14 -0
- package/generators/dart/variables_dynamic.d.ts +10 -0
- package/generators/dart.d.ts +18 -0
- package/generators/javascript/colour.d.ts +16 -0
- package/generators/javascript/javascript_generator.d.ts +120 -0
- package/generators/javascript/lists.d.ts +24 -0
- package/generators/javascript/logic.d.ts +20 -0
- package/generators/javascript/loops.d.ts +14 -0
- package/generators/javascript/math.d.ts +26 -0
- package/generators/javascript/procedures.d.ts +17 -0
- package/generators/javascript/text.d.ts +29 -0
- package/generators/javascript/variables.d.ts +14 -0
- package/generators/javascript/variables_dynamic.d.ts +10 -0
- package/generators/javascript.d.ts +18 -0
- package/generators/lua/colour.d.ts +16 -0
- package/generators/lua/lists.d.ts +24 -0
- package/generators/lua/logic.d.ts +20 -0
- package/generators/lua/loops.d.ts +14 -0
- package/generators/lua/lua_generator.d.ts +85 -0
- package/generators/lua/math.d.ts +26 -0
- package/generators/lua/procedures.d.ts +17 -0
- package/generators/lua/text.d.ts +29 -0
- package/generators/lua/variables.d.ts +14 -0
- package/generators/lua/variables_dynamic.d.ts +10 -0
- package/generators/lua.d.ts +16 -0
- package/generators/php/colour.d.ts +16 -0
- package/generators/php/lists.d.ts +21 -0
- package/generators/php/logic.d.ts +20 -0
- package/generators/php/loops.d.ts +14 -0
- package/generators/php/math.d.ts +26 -0
- package/generators/php/php_generator.d.ts +118 -0
- package/generators/php/procedures.d.ts +14 -0
- package/generators/php/text.d.ts +29 -0
- package/generators/php/variables.d.ts +14 -0
- package/generators/php/variables_dynamic.d.ts +10 -0
- package/generators/php.d.ts +18 -0
- package/generators/python/colour.d.ts +16 -0
- package/generators/python/lists.d.ts +21 -0
- package/generators/python/logic.d.ts +20 -0
- package/generators/python/loops.d.ts +14 -0
- package/generators/python/math.d.ts +26 -0
- package/generators/python/procedures.d.ts +14 -0
- package/generators/python/python_generator.d.ts +108 -0
- package/generators/python/text.d.ts +26 -0
- package/generators/python/variables.d.ts +14 -0
- package/generators/python/variables_dynamic.d.ts +10 -0
- package/generators/python.d.ts +18 -0
- package/javascript.d.ts +1 -39
- package/javascript_compressed.js +37 -34
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +1 -16
- package/lua_compressed.js +14 -13
- package/lua_compressed.js.map +1 -1
- package/msg/ab.js +2 -1
- package/msg/ace.js +1 -0
- package/msg/af.js +1 -0
- package/msg/am.js +1 -0
- package/msg/ar.js +8 -7
- package/msg/ast.js +2 -1
- package/msg/az.js +2 -1
- package/msg/ba.js +5 -4
- package/msg/bcc.js +6 -5
- package/msg/be-tarask.js +1 -0
- package/msg/be.js +1 -0
- package/msg/bg.js +4 -3
- package/msg/bn.js +1 -0
- package/msg/br.js +3 -2
- package/msg/bs.js +1 -0
- package/msg/ca.js +1 -0
- package/msg/cdo.js +1 -0
- package/msg/ce.js +441 -0
- package/msg/cs.js +1 -0
- package/msg/da.js +1 -0
- package/msg/de.js +3 -2
- package/msg/diq.js +5 -4
- package/msg/dtp.js +441 -0
- package/msg/dty.js +2 -1
- package/msg/ee.js +3 -2
- package/msg/el.js +2 -1
- package/msg/en-gb.js +1 -0
- package/msg/en.js +1 -0
- package/msg/eo.js +1 -0
- package/msg/es.js +1 -0
- package/msg/et.js +1 -0
- package/msg/eu.js +1 -0
- package/msg/fa.js +5 -4
- package/msg/fi.js +1 -0
- package/msg/fo.js +1 -0
- package/msg/fr.js +2 -1
- package/msg/frr.js +1 -0
- package/msg/gl.js +2 -1
- package/msg/gn.js +2 -1
- package/msg/gor.js +1 -0
- package/msg/ha.js +1 -0
- package/msg/hak.js +1 -0
- package/msg/he.js +3 -2
- package/msg/hi.js +1 -0
- package/msg/hr.js +2 -1
- package/msg/hrx.js +1 -0
- package/msg/hsb.js +441 -0
- package/msg/hu.js +1 -0
- package/msg/hy.js +9 -8
- package/msg/ia.js +1 -0
- package/msg/id.js +5 -4
- package/msg/ig.js +1 -0
- package/msg/inh.js +1 -0
- package/msg/is.js +1 -0
- package/msg/it.js +2 -1
- package/msg/ja.js +1 -0
- package/msg/ka.js +1 -0
- package/msg/kab.js +5 -4
- package/msg/kbd-cyrl.js +1 -0
- package/msg/km.js +10 -9
- package/msg/kn.js +31 -30
- package/msg/ko.js +2 -1
- package/msg/ksh.js +1 -0
- package/msg/ku-latn.js +1 -0
- package/msg/ky.js +4 -3
- package/msg/la.js +1 -0
- package/msg/lb.js +1 -0
- package/msg/lki.js +5 -4
- package/msg/lo.js +2 -1
- package/msg/lrc.js +1 -0
- package/msg/lt.js +5 -4
- package/msg/lv.js +1 -0
- package/msg/mg.js +1 -0
- package/msg/mk.js +2 -1
- package/msg/ml.js +1 -0
- package/msg/mnw.js +2 -1
- package/msg/ms.js +2 -1
- package/msg/my.js +2 -1
- package/msg/mzn.js +1 -0
- package/msg/nb.js +1 -0
- package/msg/ne.js +3 -2
- package/msg/nl.js +2 -1
- package/msg/oc.js +1 -0
- package/msg/olo.js +1 -0
- package/msg/pa.js +1 -0
- package/msg/pl.js +3 -2
- package/msg/pms.js +1 -0
- package/msg/ps.js +1 -0
- package/msg/pt-br.js +1 -0
- package/msg/pt.js +17 -16
- package/msg/ro.js +2 -1
- package/msg/ru.js +7 -6
- package/msg/sc.js +2 -1
- package/msg/sco.js +1 -0
- package/msg/sd.js +1 -0
- package/msg/shn.js +2 -1
- package/msg/si.js +1 -0
- package/msg/sk.js +1 -0
- package/msg/skr-arab.js +2 -1
- package/msg/sl.js +1 -0
- package/msg/smn.js +1 -0
- package/msg/sq.js +17 -16
- package/msg/sr-latn.js +3 -2
- package/msg/sr.js +2 -1
- package/msg/sv.js +1 -0
- package/msg/sw.js +1 -0
- package/msg/ta.js +13 -12
- package/msg/tcy.js +6 -5
- package/msg/tdd.js +2 -1
- package/msg/te.js +2 -1
- package/msg/th.js +2 -1
- package/msg/ti.js +1 -0
- package/msg/tl.js +2 -1
- package/msg/tlh.js +1 -0
- package/msg/tr.js +2 -1
- package/msg/ug-arab.js +15 -14
- package/msg/uk.js +3 -2
- package/msg/ur.js +5 -4
- package/msg/uz.js +1 -0
- package/msg/vi.js +2 -1
- package/msg/xmf.js +1 -0
- package/msg/yo.js +2 -1
- package/msg/yue.js +1 -0
- package/msg/zgh.js +1 -0
- package/msg/zh-hans.js +2 -1
- package/msg/zh-hant.js +1 -0
- package/package.json +2 -2
- package/php.d.ts +1 -41
- package/php_compressed.js +26 -22
- package/php_compressed.js.map +1 -1
- package/python.d.ts +1 -25
- package/python_compressed.js +14 -12
- package/python_compressed.js.map +1 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2012 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Block } from '../../core/block.js';
|
|
7
|
+
import type { PythonGenerator } from './python_generator.js';
|
|
8
|
+
export declare function controls_repeat_ext(block: Block, generator: PythonGenerator): string;
|
|
9
|
+
export declare const controls_repeat: typeof controls_repeat_ext;
|
|
10
|
+
export declare function controls_whileUntil(block: Block, generator: PythonGenerator): string;
|
|
11
|
+
export declare function controls_for(block: Block, generator: PythonGenerator): string;
|
|
12
|
+
export declare function controls_forEach(block: Block, generator: PythonGenerator): string;
|
|
13
|
+
export declare function controls_flow_statements(block: Block, generator: PythonGenerator): string;
|
|
14
|
+
//# sourceMappingURL=loops.d.ts.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2012 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @file Generating Python for math blocks.
|
|
8
|
+
*/
|
|
9
|
+
import type { Block } from '../../core/block.js';
|
|
10
|
+
import type { PythonGenerator } from './python_generator.js';
|
|
11
|
+
import { Order } from './python_generator.js';
|
|
12
|
+
export declare function math_number(block: Block, generator: PythonGenerator): [string, Order];
|
|
13
|
+
export declare function math_arithmetic(block: Block, generator: PythonGenerator): [string, Order];
|
|
14
|
+
export declare function math_single(block: Block, generator: PythonGenerator): [string, Order];
|
|
15
|
+
export declare function math_constant(block: Block, generator: PythonGenerator): [string, Order];
|
|
16
|
+
export declare function math_number_property(block: Block, generator: PythonGenerator): [string, Order];
|
|
17
|
+
export declare function math_change(block: Block, generator: PythonGenerator): string;
|
|
18
|
+
export declare const math_round: typeof math_single;
|
|
19
|
+
export declare const math_trig: typeof math_single;
|
|
20
|
+
export declare function math_on_list(block: Block, generator: PythonGenerator): [string, Order];
|
|
21
|
+
export declare function math_modulo(block: Block, generator: PythonGenerator): [string, Order];
|
|
22
|
+
export declare function math_constrain(block: Block, generator: PythonGenerator): [string, Order];
|
|
23
|
+
export declare function math_random_int(block: Block, generator: PythonGenerator): [string, Order];
|
|
24
|
+
export declare function math_random_float(block: Block, generator: PythonGenerator): [string, Order];
|
|
25
|
+
export declare function math_atan2(block: Block, generator: PythonGenerator): [string, Order];
|
|
26
|
+
//# sourceMappingURL=math.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2012 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Block } from '../../core/block.js';
|
|
7
|
+
import { Order } from './python_generator.js';
|
|
8
|
+
import type { PythonGenerator } from './python_generator.js';
|
|
9
|
+
export declare function procedures_defreturn(block: Block, generator: PythonGenerator): null;
|
|
10
|
+
export declare const procedures_defnoreturn: typeof procedures_defreturn;
|
|
11
|
+
export declare function procedures_callreturn(block: Block, generator: PythonGenerator): [string, Order];
|
|
12
|
+
export declare function procedures_callnoreturn(block: Block, generator: PythonGenerator): string;
|
|
13
|
+
export declare function procedures_ifreturn(block: Block, generator: PythonGenerator): string;
|
|
14
|
+
//# sourceMappingURL=procedures.d.ts.map
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2012 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Block } from '../../core/block.js';
|
|
7
|
+
import { CodeGenerator } from '../../core/generator.js';
|
|
8
|
+
import type { Workspace } from '../../core/workspace.js';
|
|
9
|
+
/**
|
|
10
|
+
* Order of operation ENUMs.
|
|
11
|
+
* http://docs.python.org/reference/expressions.html#summary
|
|
12
|
+
*/
|
|
13
|
+
export declare enum Order {
|
|
14
|
+
ATOMIC = 0,
|
|
15
|
+
COLLECTION = 1,
|
|
16
|
+
STRING_CONVERSION = 1,
|
|
17
|
+
MEMBER = 2.1,
|
|
18
|
+
FUNCTION_CALL = 2.2,
|
|
19
|
+
EXPONENTIATION = 3,
|
|
20
|
+
UNARY_SIGN = 4,
|
|
21
|
+
BITWISE_NOT = 4,
|
|
22
|
+
MULTIPLICATIVE = 5,
|
|
23
|
+
ADDITIVE = 6,
|
|
24
|
+
BITWISE_SHIFT = 7,
|
|
25
|
+
BITWISE_AND = 8,
|
|
26
|
+
BITWISE_XOR = 9,
|
|
27
|
+
BITWISE_OR = 10,
|
|
28
|
+
RELATIONAL = 11,
|
|
29
|
+
LOGICAL_NOT = 12,
|
|
30
|
+
LOGICAL_AND = 13,
|
|
31
|
+
LOGICAL_OR = 14,
|
|
32
|
+
CONDITIONAL = 15,
|
|
33
|
+
LAMBDA = 16,
|
|
34
|
+
NONE = 99
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* PythonScript code generator class.
|
|
38
|
+
*/
|
|
39
|
+
export declare class PythonGenerator extends CodeGenerator {
|
|
40
|
+
/** List of outer-inner pairings that do NOT require parentheses. */
|
|
41
|
+
ORDER_OVERRIDES: [Order, Order][];
|
|
42
|
+
/**
|
|
43
|
+
* Empty loops or conditionals are not allowed in Python.
|
|
44
|
+
*/
|
|
45
|
+
PASS: string;
|
|
46
|
+
/** @param name Name of the language the generator is for. */
|
|
47
|
+
constructor(name?: string);
|
|
48
|
+
/**
|
|
49
|
+
* Initialise the database of variable names.
|
|
50
|
+
*
|
|
51
|
+
* @param workspace Workspace to generate code from.
|
|
52
|
+
*/
|
|
53
|
+
init(workspace: Workspace): void;
|
|
54
|
+
/**
|
|
55
|
+
* Prepend the generated code with import statements and variable definitions.
|
|
56
|
+
*
|
|
57
|
+
* @param code Generated code.
|
|
58
|
+
* @returns Completed code.
|
|
59
|
+
*/
|
|
60
|
+
finish(code: string): string;
|
|
61
|
+
/**
|
|
62
|
+
* Naked values are top-level blocks with outputs that aren't plugged into
|
|
63
|
+
* anything.
|
|
64
|
+
*
|
|
65
|
+
* @param line Line of generated code.
|
|
66
|
+
* @returns Legal line of code.
|
|
67
|
+
*/
|
|
68
|
+
scrubNakedValue(line: string): string;
|
|
69
|
+
/**
|
|
70
|
+
* Encode a string as a properly escaped Python string, complete with quotes.
|
|
71
|
+
*
|
|
72
|
+
* @param string Text to encode.
|
|
73
|
+
* @returns Python string.
|
|
74
|
+
*/
|
|
75
|
+
quote_(string: string): string;
|
|
76
|
+
/**
|
|
77
|
+
* Encode a string as a properly escaped multiline Python string, complete
|
|
78
|
+
* with quotes.
|
|
79
|
+
*
|
|
80
|
+
* @param string Text to encode.
|
|
81
|
+
* @returns Python string.
|
|
82
|
+
*/
|
|
83
|
+
multiline_quote_(string: string): string;
|
|
84
|
+
/**
|
|
85
|
+
* Common tasks for generating Python from blocks.
|
|
86
|
+
* Handles comments for the specified block and any connected value blocks.
|
|
87
|
+
* Calls any statements following this block.
|
|
88
|
+
*
|
|
89
|
+
* @param block The current block.
|
|
90
|
+
* @param code The Python code created for this block.
|
|
91
|
+
* @param thisOnly True to generate code for only this statement.
|
|
92
|
+
* @returns Python code with comments and subsequent blocks added.
|
|
93
|
+
|
|
94
|
+
*/
|
|
95
|
+
scrub_(block: Block, code: string, thisOnly?: boolean): string;
|
|
96
|
+
/**
|
|
97
|
+
* Gets a property and adjusts the value, taking into account indexing.
|
|
98
|
+
* If a static int, casts to an integer, otherwise returns a code string.
|
|
99
|
+
*
|
|
100
|
+
* @param block The block.
|
|
101
|
+
* @param atId The ID of the input block to get (and adjust) the value of.
|
|
102
|
+
* @param delta Value to add.
|
|
103
|
+
* @param negate Whether to negate the value.
|
|
104
|
+
* @returns The adjusted value or code that evaluates to it.
|
|
105
|
+
*/
|
|
106
|
+
getAdjustedInt(block: Block, atId: string, delta?: number, negate?: boolean): string | number;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=python_generator.d.ts.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2012 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Block } from '../../core/block.js';
|
|
7
|
+
import { Order } from './python_generator.js';
|
|
8
|
+
import type { PythonGenerator } from './python_generator.js';
|
|
9
|
+
export declare function text(block: Block, generator: PythonGenerator): [string, Order];
|
|
10
|
+
export declare function text_multiline(block: Block, generator: PythonGenerator): [string, Order];
|
|
11
|
+
export declare function text_join(block: Block, generator: PythonGenerator): [string, Order];
|
|
12
|
+
export declare function text_append(block: Block, generator: PythonGenerator): string;
|
|
13
|
+
export declare function text_length(block: Block, generator: PythonGenerator): [string, Order];
|
|
14
|
+
export declare function text_isEmpty(block: Block, generator: PythonGenerator): [string, Order];
|
|
15
|
+
export declare function text_indexOf(block: Block, generator: PythonGenerator): [string, Order];
|
|
16
|
+
export declare function text_charAt(block: Block, generator: PythonGenerator): [string, Order];
|
|
17
|
+
export declare function text_getSubstring(block: Block, generator: PythonGenerator): [string, Order];
|
|
18
|
+
export declare function text_changeCase(block: Block, generator: PythonGenerator): [string, Order];
|
|
19
|
+
export declare function text_trim(block: Block, generator: PythonGenerator): [string, Order];
|
|
20
|
+
export declare function text_print(block: Block, generator: PythonGenerator): string;
|
|
21
|
+
export declare function text_prompt_ext(block: Block, generator: PythonGenerator): [string, Order];
|
|
22
|
+
export declare const text_prompt: typeof text_prompt_ext;
|
|
23
|
+
export declare function text_count(block: Block, generator: PythonGenerator): [string, Order];
|
|
24
|
+
export declare function text_replace(block: Block, generator: PythonGenerator): [string, Order];
|
|
25
|
+
export declare function text_reverse(block: Block, generator: PythonGenerator): [string, Order];
|
|
26
|
+
//# sourceMappingURL=text.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2012 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @file Generating Python for variable blocks.
|
|
8
|
+
*/
|
|
9
|
+
import type { Block } from '../../core/block.js';
|
|
10
|
+
import type { PythonGenerator } from './python_generator.js';
|
|
11
|
+
import { Order } from './python_generator.js';
|
|
12
|
+
export declare function variables_get(block: Block, generator: PythonGenerator): [string, Order];
|
|
13
|
+
export declare function variables_set(block: Block, generator: PythonGenerator): string;
|
|
14
|
+
//# sourceMappingURL=variables.d.ts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @file Generating Python for dynamic variable blocks.
|
|
8
|
+
*/
|
|
9
|
+
export { variables_get as variables_get_dynamic, variables_set as variables_set_dynamic, } from './variables.js';
|
|
10
|
+
//# sourceMappingURL=variables_dynamic.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2021 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @file Instantiate a PythonGenerator and populate it with the
|
|
8
|
+
* complete set of block generator functions for Python. This is the
|
|
9
|
+
* entrypoint for python_compressed.js.
|
|
10
|
+
*/
|
|
11
|
+
import { PythonGenerator } from './python/python_generator.js';
|
|
12
|
+
export * from './python/python_generator.js';
|
|
13
|
+
/**
|
|
14
|
+
* Python code generator instance.
|
|
15
|
+
* @type {!PythonGenerator}
|
|
16
|
+
*/
|
|
17
|
+
export declare const pythonGenerator: PythonGenerator;
|
|
18
|
+
//# sourceMappingURL=python.d.ts.map
|
package/javascript.d.ts
CHANGED
|
@@ -4,42 +4,4 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
export
|
|
8
|
-
ATOMIC = 0, // 0 "" ...
|
|
9
|
-
NEW = 1.1, // new
|
|
10
|
-
MEMBER = 1.2, // . []
|
|
11
|
-
FUNCTION_CALL = 2, // ()
|
|
12
|
-
INCREMENT = 3, // ++
|
|
13
|
-
DECREMENT = 3, // --
|
|
14
|
-
BITWISE_NOT = 4.1, // ~
|
|
15
|
-
UNARY_PLUS = 4.2, // +
|
|
16
|
-
UNARY_NEGATION = 4.3, // -
|
|
17
|
-
LOGICAL_NOT = 4.4, // !
|
|
18
|
-
TYPEOF = 4.5, // typeof
|
|
19
|
-
VOID = 4.6, // void
|
|
20
|
-
DELETE = 4.7, // delete
|
|
21
|
-
AWAIT = 4.8, // await
|
|
22
|
-
EXPONENTIATION = 5.0, // **
|
|
23
|
-
MULTIPLICATION = 5.1, // *
|
|
24
|
-
DIVISION = 5.2, // /
|
|
25
|
-
MODULUS = 5.3, // %
|
|
26
|
-
SUBTRACTION = 6.1, // -
|
|
27
|
-
ADDITION = 6.2, // +
|
|
28
|
-
BITWISE_SHIFT = 7, // << >> >>>
|
|
29
|
-
RELATIONAL = 8, // < <= > >=
|
|
30
|
-
IN = 8, // in
|
|
31
|
-
INSTANCEOF = 8, // instanceof
|
|
32
|
-
EQUALITY = 9, // == != === !==
|
|
33
|
-
BITWISE_AND = 10, // &
|
|
34
|
-
BITWISE_XOR = 11, // ^
|
|
35
|
-
BITWISE_OR = 12, // |
|
|
36
|
-
LOGICAL_AND = 13, // &&
|
|
37
|
-
LOGICAL_OR = 14, // ||
|
|
38
|
-
CONDITIONAL = 15, // ?:
|
|
39
|
-
ASSIGNMENT = 16, // = += -= **= *= /= %= <<= >>= ...
|
|
40
|
-
YIELD = 17, // yield
|
|
41
|
-
COMMA = 18, // ,
|
|
42
|
-
NONE = 99, // (...)
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export declare const javascriptGenerator: any;
|
|
7
|
+
export * from 'generators/javascript';
|
package/javascript_compressed.js
CHANGED
|
@@ -73,15 +73,15 @@ function ${b.FUNCTION_NAME_PLACEHOLDER_}(list, remove) {
|
|
|
73
73
|
`)+"("+e+", "+("GET"!==c)+")";if("GET"===c||"GET_REMOVE"===c)return[e,Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];if("REMOVE"===c)return e+";\n"}throw Error("Unhandled combination (lists_getIndex).");},lists_setIndex$$module$build$src$generators$javascript$lists=function(a,b){function c(){if(d.match(/^\w+$/))return"";const h=b.nameDB_.getDistinctName("tmpList",$.NameType$$module$build$src$core$names.VARIABLE),k="var "+h+" = "+d+";\n";d=h;return k}let d=b.valueToCode(a,
|
|
74
74
|
"LIST",Order$$module$build$src$generators$javascript$javascript_generator.MEMBER)||"[]";const e=a.getFieldValue("MODE")||"GET";var f=a.getFieldValue("WHERE")||"FROM_START";const g=b.valueToCode(a,"TO",Order$$module$build$src$generators$javascript$javascript_generator.ASSIGNMENT)||"null";switch(f){case "FIRST":if("SET"===e)return d+"[0] = "+g+";\n";if("INSERT"===e)return d+".unshift("+g+");\n";break;case "LAST":if("SET"===e)return c()+(d+"["+d+".length - 1] = "+g+";\n");if("INSERT"===e)return d+".push("+
|
|
75
75
|
g+");\n";break;case "FROM_START":a=b.getAdjusted(a,"AT");if("SET"===e)return d+"["+a+"] = "+g+";\n";if("INSERT"===e)return d+".splice("+a+", 0, "+g+");\n";break;case "FROM_END":a=b.getAdjusted(a,"AT",1,!1,Order$$module$build$src$generators$javascript$javascript_generator.SUBTRACTION);f=c();if("SET"===e)return f+(d+"["+d+".length - "+a+"] = "+g+";\n");if("INSERT"===e)return f+(d+".splice("+d+".length - "+a+", 0, "+g+");\n");break;case "RANDOM":a=c();f=b.nameDB_.getDistinctName("tmpX",$.NameType$$module$build$src$core$names.VARIABLE);
|
|
76
|
-
a+="var "+f+" = Math.floor(Math.random() * "+d+".length);\n";if("SET"===e)return a+(d+"["+f+"] = "+g+";\n");if("INSERT"===e)return a+(d+".splice("+f+", 0, "+g+");\n")}throw Error("Unhandled combination (lists_setIndex).");},lists_getSublist$$module$build$src$generators$javascript$lists=function(a,b){var c=b.valueToCode(a,"LIST",Order$$module$build$src$generators$javascript$javascript_generator.MEMBER)||"[]"
|
|
77
|
-
".slice(0)";else if(
|
|
78
|
-
b=
|
|
79
|
-
function ${b.FUNCTION_NAME_PLACEHOLDER_}(sequence${"FROM_END"===
|
|
80
|
-
var start = ${getSubstringIndex$$module$build$src$generators$javascript$lists("sequence",
|
|
81
|
-
var end = ${getSubstringIndex$$module$build$src$generators$javascript$lists("sequence",
|
|
76
|
+
a+="var "+f+" = Math.floor(Math.random() * "+d+".length);\n";if("SET"===e)return a+(d+"["+f+"] = "+g+";\n");if("INSERT"===e)return a+(d+".splice("+f+", 0, "+g+");\n")}throw Error("Unhandled combination (lists_setIndex).");},lists_getSublist$$module$build$src$generators$javascript$lists=function(a,b){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)||"[]";const e=a.getFieldValue("WHERE1"),
|
|
77
|
+
f=a.getFieldValue("WHERE2");if("FIRST"===e&&"LAST"===f)d+=".slice(0)";else if(d.match(/^\w+$/)||"FROM_END"!==e&&"FROM_START"===f){switch(e){case "FROM_START":c=b.getAdjusted(a,"AT1");break;case "FROM_END":c=b.getAdjusted(a,"AT1",1,!1,Order$$module$build$src$generators$javascript$javascript_generator.SUBTRACTION);c=d+".length - "+c;break;case "FIRST":c="0";break;default:throw Error("Unhandled option (lists_getSublist).");}switch(f){case "FROM_START":b=b.getAdjusted(a,"AT2",1);break;case "FROM_END":b=
|
|
78
|
+
b.getAdjusted(a,"AT2",0,!1,Order$$module$build$src$generators$javascript$javascript_generator.SUBTRACTION);b=d+".length - "+b;break;case "LAST":b=d+".length";break;default:throw Error("Unhandled option (lists_getSublist).");}d=d+".slice("+c+", "+b+")"}else{const g=b.getAdjusted(a,"AT1");a=b.getAdjusted(a,"AT2");d=b.provideFunction_("subsequence"+c[e]+c[f],`
|
|
79
|
+
function ${b.FUNCTION_NAME_PLACEHOLDER_}(sequence${"FROM_END"===e||"FROM_START"===e?", at1":""}${"FROM_END"===f||"FROM_START"===f?", at2":""}) {
|
|
80
|
+
var start = ${getSubstringIndex$$module$build$src$generators$javascript$lists("sequence",e,"at1")};
|
|
81
|
+
var end = ${getSubstringIndex$$module$build$src$generators$javascript$lists("sequence",f,"at2")} + 1;
|
|
82
82
|
return sequence.slice(start, end);
|
|
83
83
|
}
|
|
84
|
-
`)+"("+
|
|
84
|
+
`)+"("+d+("FROM_END"===e||"FROM_START"===e?", "+g:"")+("FROM_END"===f||"FROM_START"===f?", "+a:"")+")"}return[d,Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL]},lists_sort$$module$build$src$generators$javascript$lists=function(a,b){const c=b.valueToCode(a,"LIST",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL)||"[]",d="1"===a.getFieldValue("DIRECTION")?1:-1;a=a.getFieldValue("TYPE");b=b.provideFunction_("listsGetSortCompare",`
|
|
85
85
|
function ${b.FUNCTION_NAME_PLACEHOLDER_}(type, direction) {
|
|
86
86
|
var compareFuncs = {
|
|
87
87
|
'NUMERIC': function(a, b) {
|
|
@@ -105,12 +105,12 @@ b){let c;c=a.getField("TIMES")?String(Number(a.getFieldValue("TIMES"))):b.valueT
|
|
|
105
105
|
"var "+f+" = "+c+";\n");return a+("for (var "+e+" = 0; "+e+" < "+f+"; "+e+"++) {\n"+d+"}\n")},controls_whileUntil$$module$build$src$generators$javascript$loops=function(a,b){const c="UNTIL"===a.getFieldValue("MODE");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");e=b.addLoopTrap(e,a);c&&(d="!"+d);return"while ("+d+") {\n"+e+"}\n"},
|
|
106
106
|
controls_for$$module$build$src$generators$javascript$loops=function(a,b){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";const f=b.valueToCode(a,"BY",Order$$module$build$src$generators$javascript$javascript_generator.ASSIGNMENT)||"1";let g=b.statementToCode(a,"DO");g=b.addLoopTrap(g,a);
|
|
107
107
|
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=1===c?a+(b?"++":"--"):a+((b?" += ":" -= ")+c),a+=") {\n"+g+"}\n";else{a="";let h=d;d.match(/^\w+$/)||$.isNumber$$module$build$src$core$utils$string(d)||(h=b.nameDB_.getDistinctName(c+"_start",$.NameType$$module$build$src$core$names.VARIABLE),a+=
|
|
108
|
-
"var "+h+" = "+d+";\n");d=e;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");e=b.nameDB_.getDistinctName(c+"_inc",$.NameType$$module$build$src$core$names.VARIABLE);a+="var "+e+" = ";a=$.isNumber$$module$build$src$core$utils$string(f)?a+(Math.abs(f)+";\n"):a+("Math.abs("+f+");\n");a+="if ("+h+" > "+d+") {\n";a+=b.INDENT+e+" = -"+e+";\n";a=a+"}\nfor ("+(c+" = "+
|
|
109
|
-
e+" >= 0 ? "+c+" <= "+d+" : "+c+" >= "+d+"; "+c+" += "+e+") {\n"+g+"}\n")}return a},controls_forEach$$module$build$src$generators$javascript$loops=function(a,b){const c=b.getVariableName(a.getFieldValue("VAR"));var d=b.valueToCode(a,"LIST",Order$$module$build$src$generators$javascript$javascript_generator.ASSIGNMENT)||"[]";let e=b.statementToCode(a,"DO");e=b.addLoopTrap(e,a);a="";let f=d;d.match(/^\w+$/)||(f=b.nameDB_.getDistinctName(c+"_list",$.NameType$$module$build$src$core$names.VARIABLE),
|
|
110
|
-
"var "+f+" = "+d+";\n");d=b.nameDB_.getDistinctName(c+"_index",$.NameType$$module$build$src$core$names.VARIABLE);e=b.INDENT+c+" = "+f+"["+d+"];\n"+e;return a+("for (var "+d+" in "+f+") {\n"+e+"}\n")},controls_flow_statements$$module$build$src$generators$javascript$loops=function(a,b){let c="";b.STATEMENT_PREFIX&&(c+=b.injectId(b.STATEMENT_PREFIX,a));b.STATEMENT_SUFFIX&&(c+=b.injectId(b.STATEMENT_SUFFIX,a));if(b.STATEMENT_PREFIX){const d=a.getSurroundLoop();d&&!d.suppressPrefixSuffix&&(c+=b.injectId(b.STATEMENT_PREFIX,
|
|
111
|
-
d))}switch(a.getFieldValue("FLOW")){case "BREAK":return c+"break;\n";case "CONTINUE":return c+"continue;\n"}throw Error("Unknown flow statement.");},math_number$$module$build$src$generators$javascript$math=function(a,b){a=Number(a.getFieldValue("NUM"));return[a,0<=a?Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC:Order$$module$build$src$generators$javascript$javascript_generator.UNARY_NEGATION]},math_arithmetic$$module$build$src$generators$javascript$math=function(a,
|
|
112
|
-
{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")];const d=c[0];
|
|
113
|
-
const e=b.valueToCode(a,"A",c)||"0";a=b.valueToCode(a,"B",c)||"0";return d?[e+d+a,c]:["Math.pow("+e+", "+a+")",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL]},math_single$$module$build$src$generators$javascript$math=function(a,b){const c=a.getFieldValue("OP");let d;if("NEG"===c)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];
|
|
108
|
+
"var "+h+" = "+d+";\n");d=e;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");e=b.nameDB_.getDistinctName(c+"_inc",$.NameType$$module$build$src$core$names.VARIABLE);a+="var "+e+" = ";a=$.isNumber$$module$build$src$core$utils$string(f)?a+(Math.abs(Number(f))+";\n"):a+("Math.abs("+f+");\n");a+="if ("+h+" > "+d+") {\n";a+=b.INDENT+e+" = -"+e+";\n";a=a+"}\nfor ("+(c+" = "+
|
|
109
|
+
h+"; "+e+" >= 0 ? "+c+" <= "+d+" : "+c+" >= "+d+"; "+c+" += "+e+") {\n"+g+"}\n")}return a},controls_forEach$$module$build$src$generators$javascript$loops=function(a,b){const c=b.getVariableName(a.getFieldValue("VAR"));var d=b.valueToCode(a,"LIST",Order$$module$build$src$generators$javascript$javascript_generator.ASSIGNMENT)||"[]";let e=b.statementToCode(a,"DO");e=b.addLoopTrap(e,a);a="";let f=d;d.match(/^\w+$/)||(f=b.nameDB_.getDistinctName(c+"_list",$.NameType$$module$build$src$core$names.VARIABLE),
|
|
110
|
+
a+="var "+f+" = "+d+";\n");d=b.nameDB_.getDistinctName(c+"_index",$.NameType$$module$build$src$core$names.VARIABLE);e=b.INDENT+c+" = "+f+"["+d+"];\n"+e;return a+("for (var "+d+" in "+f+") {\n"+e+"}\n")},controls_flow_statements$$module$build$src$generators$javascript$loops=function(a,b){let c="";b.STATEMENT_PREFIX&&(c+=b.injectId(b.STATEMENT_PREFIX,a));b.STATEMENT_SUFFIX&&(c+=b.injectId(b.STATEMENT_SUFFIX,a));if(b.STATEMENT_PREFIX){const d=a.getSurroundLoop();d&&!d.suppressPrefixSuffix&&(c+=b.injectId(b.STATEMENT_PREFIX,
|
|
111
|
+
d))}switch(a.getFieldValue("FLOW")){case "BREAK":return c+"break;\n";case "CONTINUE":return c+"continue;\n"}throw Error("Unknown flow statement.");},math_number$$module$build$src$generators$javascript$math=function(a,b){a=Number(a.getFieldValue("NUM"));return[String(a),0<=a?Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC:Order$$module$build$src$generators$javascript$javascript_generator.UNARY_NEGATION]},math_arithmetic$$module$build$src$generators$javascript$math=function(a,
|
|
112
|
+
b){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")];const d=c[0];
|
|
113
|
+
c=c[1];const e=b.valueToCode(a,"A",c)||"0";a=b.valueToCode(a,"B",c)||"0";return d?[e+d+a,c]:["Math.pow("+e+", "+a+")",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL]},math_single$$module$build$src$generators$javascript$math=function(a,b){const c=a.getFieldValue("OP");let d;if("NEG"===c)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];
|
|
114
114
|
a="SIN"===c||"COS"===c||"TAN"===c?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";switch(c){case "ABS":d="Math.abs("+a+")";break;case "ROOT":d="Math.sqrt("+a+")";break;case "LN":d="Math.log("+a+")";break;case "EXP":d="Math.exp("+a+")";break;case "POW10":d="Math.pow(10,"+a+")";break;case "ROUND":d="Math.round("+a+")";break;case "ROUNDUP":d="Math.ceil("+
|
|
115
115
|
a+")";break;case "ROUNDDOWN":d="Math.floor("+a+")";break;case "SIN":d="Math.sin("+a+" / 180 * Math.PI)";break;case "COS":d="Math.cos("+a+" / 180 * Math.PI)";break;case "TAN":d="Math.tan("+a+" / 180 * Math.PI)"}if(d)return[d,Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];switch(c){case "LOG10":d="Math.log("+a+") / Math.log(10)";break;case "ASIN":d="Math.asin("+a+") / Math.PI * 180";break;case "ACOS":d="Math.acos("+a+") / Math.PI * 180";break;case "ATAN":d="Math.atan("+
|
|
116
116
|
a+") / Math.PI * 180";break;default:throw Error("Unknown math operator: "+c);}return[d,Order$$module$build$src$generators$javascript$javascript_generator.DIVISION]},math_constant$$module$build$src$generators$javascript$math=function(a,b){return{PI:["Math.PI",Order$$module$build$src$generators$javascript$javascript_generator.MEMBER],E:["Math.E",Order$$module$build$src$generators$javascript$javascript_generator.MEMBER],GOLDEN_RATIO:["(1 + Math.sqrt(5)) / 2",Order$$module$build$src$generators$javascript$javascript_generator.DIVISION],
|
|
@@ -228,15 +228,15 @@ function ${b.FUNCTION_NAME_PLACEHOLDER_}(text) {
|
|
|
228
228
|
var x = Math.floor(Math.random() * text.length);
|
|
229
229
|
return text[x];
|
|
230
230
|
}
|
|
231
|
-
`)+"("+d+")",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL]}throw Error("Unhandled option (text_charAt).");},text_getSubstring$$module$build$src$generators$javascript$text=function(a,b){var c=a.getFieldValue("WHERE1")
|
|
232
|
-
"''";if("FIRST"===
|
|
233
|
-
b.getAdjusted(a,"AT2",0,!1,Order$$module$build$src$generators$javascript$javascript_generator.SUBTRACTION);b=
|
|
234
|
-
function ${b.FUNCTION_NAME_PLACEHOLDER_}(sequence${"FROM_END"===
|
|
235
|
-
var start = ${getSubstringIndex$$module$build$src$generators$javascript$text("sequence",
|
|
236
|
-
var end = ${getSubstringIndex$$module$build$src$generators$javascript$text("sequence",
|
|
231
|
+
`)+"("+d+")",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL]}throw Error("Unhandled option (text_charAt).");},text_getSubstring$$module$build$src$generators$javascript$text=function(a,b){var c={FIRST:"First",LAST:"Last",FROM_START:"FromStart",FROM_END:"FromEnd"};const d=a.getFieldValue("WHERE1"),e=a.getFieldValue("WHERE2");var f="FROM_END"!==d&&"LAST"!==d&&"FROM_END"!==e&&"LAST"!==e,g=b.valueToCode(a,"STRING",f?Order$$module$build$src$generators$javascript$javascript_generator.MEMBER:
|
|
232
|
+
Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"''";if("FIRST"===d&&"LAST"===e)return[g,Order$$module$build$src$generators$javascript$javascript_generator.NONE];if(g.match(/^'?\w+'?$/)||f){switch(d){case "FROM_START":c=b.getAdjusted(a,"AT1");break;case "FROM_END":c=b.getAdjusted(a,"AT1",1,!1,Order$$module$build$src$generators$javascript$javascript_generator.SUBTRACTION);c=g+".length - "+c;break;case "FIRST":c="0";break;default:throw Error("Unhandled option (text_getSubstring).");
|
|
233
|
+
}switch(e){case "FROM_START":b=b.getAdjusted(a,"AT2",1);break;case "FROM_END":b=b.getAdjusted(a,"AT2",0,!1,Order$$module$build$src$generators$javascript$javascript_generator.SUBTRACTION);b=g+".length - "+b;break;case "LAST":b=g+".length";break;default:throw Error("Unhandled option (text_getSubstring).");}g=g+".slice("+c+", "+b+")"}else f=b.getAdjusted(a,"AT1"),a=b.getAdjusted(a,"AT2"),g=b.provideFunction_("subsequence"+c[d]+c[e],`
|
|
234
|
+
function ${b.FUNCTION_NAME_PLACEHOLDER_}(sequence${"FROM_END"===d||"FROM_START"===d?", at1":""}${"FROM_END"===e||"FROM_START"===e?", at2":""}) {
|
|
235
|
+
var start = ${getSubstringIndex$$module$build$src$generators$javascript$text("sequence",d,"at1")};
|
|
236
|
+
var end = ${getSubstringIndex$$module$build$src$generators$javascript$text("sequence",e,"at2")} + 1;
|
|
237
237
|
return sequence.slice(start, end);
|
|
238
238
|
}
|
|
239
|
-
`)+"("+
|
|
239
|
+
`)+"("+g+("FROM_END"===d||"FROM_START"===d?", "+f:"")+("FROM_END"===e||"FROM_START"===e?", "+a:"")+")";return[g,Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL]},text_changeCase$$module$build$src$generators$javascript$text=function(a,b){const c={UPPERCASE:".toUpperCase()",LOWERCASE:".toLowerCase()",TITLECASE:null}[a.getFieldValue("CASE")];a=b.valueToCode(a,"TEXT",c?Order$$module$build$src$generators$javascript$javascript_generator.MEMBER:Order$$module$build$src$generators$javascript$javascript_generator.NONE)||
|
|
240
240
|
"''";return[c?a+c:b.provideFunction_("textToTitleCase",`
|
|
241
241
|
function ${b.FUNCTION_NAME_PLACEHOLDER_}(str) {
|
|
242
242
|
return str.replace(/\\S+/g,
|
|
@@ -260,17 +260,20 @@ function ${b.FUNCTION_NAME_PLACEHOLDER_}(haystack, needle, replacement) {
|
|
|
260
260
|
return haystack.replace(new RegExp(needle, 'g'), replacement);
|
|
261
261
|
}
|
|
262
262
|
`)+"("+c+", "+d+", "+a+")",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL]},text_reverse$$module$build$src$generators$javascript$text=function(a,b){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]},variables_get$$module$build$src$generators$javascript$variables=function(a,b){return[b.getVariableName(a.getFieldValue("VAR")),
|
|
263
|
-
Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC]},variables_set$$module$build$src$generators$javascript$variables=function(a,b){const c=b.valueToCode(a,"VALUE",Order$$module$build$src$generators$javascript$javascript_generator.ASSIGNMENT)||"0";return b.getVariableName(a.getFieldValue("VAR"))+" = "+c+";\n"},Order$$module$build$src$generators$javascript$javascript_generator
|
|
264
|
-
UNARY_NEGATION
|
|
265
|
-
a
|
|
266
|
-
[
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
""
|
|
272
|
-
|
|
273
|
-
{
|
|
263
|
+
Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC]},variables_set$$module$build$src$generators$javascript$variables=function(a,b){const c=b.valueToCode(a,"VALUE",Order$$module$build$src$generators$javascript$javascript_generator.ASSIGNMENT)||"0";return b.getVariableName(a.getFieldValue("VAR"))+" = "+c+";\n"},Order$$module$build$src$generators$javascript$javascript_generator;
|
|
264
|
+
(function(a){a[a.ATOMIC=0]="ATOMIC";a[a.NEW=1.1]="NEW";a[a.MEMBER=1.2]="MEMBER";a[a.FUNCTION_CALL=2]="FUNCTION_CALL";a[a.INCREMENT=3]="INCREMENT";a[a.DECREMENT=3]="DECREMENT";a[a.BITWISE_NOT=4.1]="BITWISE_NOT";a[a.UNARY_PLUS=4.2]="UNARY_PLUS";a[a.UNARY_NEGATION=4.3]="UNARY_NEGATION";a[a.LOGICAL_NOT=4.4]="LOGICAL_NOT";a[a.TYPEOF=4.5]="TYPEOF";a[a.VOID=4.6]="VOID";a[a.DELETE=4.7]="DELETE";a[a.AWAIT=4.8]="AWAIT";a[a.EXPONENTIATION=5]="EXPONENTIATION";a[a.MULTIPLICATION=5.1]="MULTIPLICATION";a[a.DIVISION=
|
|
265
|
+
5.2]="DIVISION";a[a.MODULUS=5.3]="MODULUS";a[a.SUBTRACTION=6.1]="SUBTRACTION";a[a.ADDITION=6.2]="ADDITION";a[a.BITWISE_SHIFT=7]="BITWISE_SHIFT";a[a.RELATIONAL=8]="RELATIONAL";a[a.IN=8]="IN";a[a.INSTANCEOF=8]="INSTANCEOF";a[a.EQUALITY=9]="EQUALITY";a[a.BITWISE_AND=10]="BITWISE_AND";a[a.BITWISE_XOR=11]="BITWISE_XOR";a[a.BITWISE_OR=12]="BITWISE_OR";a[a.LOGICAL_AND=13]="LOGICAL_AND";a[a.LOGICAL_OR=14]="LOGICAL_OR";a[a.CONDITIONAL=15]="CONDITIONAL";a[a.ASSIGNMENT=16]="ASSIGNMENT";a[a.YIELD=17]="YIELD";
|
|
266
|
+
a[a.COMMA=18]="COMMA";a[a.NONE=99]="NONE"})(Order$$module$build$src$generators$javascript$javascript_generator||(Order$$module$build$src$generators$javascript$javascript_generator={}));
|
|
267
|
+
var JavascriptGenerator$$module$build$src$generators$javascript$javascript_generator=class extends $.CodeGenerator$$module$build$src$core$generator{constructor(a="JavaScript"){super(a);this.ORDER_OVERRIDES=[[Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL,Order$$module$build$src$generators$javascript$javascript_generator.MEMBER],[Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL,Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL],
|
|
268
|
+
[Order$$module$build$src$generators$javascript$javascript_generator.MEMBER,Order$$module$build$src$generators$javascript$javascript_generator.MEMBER],[Order$$module$build$src$generators$javascript$javascript_generator.MEMBER,Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL],[Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_NOT,Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_NOT],[Order$$module$build$src$generators$javascript$javascript_generator.MULTIPLICATION,
|
|
269
|
+
Order$$module$build$src$generators$javascript$javascript_generator.MULTIPLICATION],[Order$$module$build$src$generators$javascript$javascript_generator.ADDITION,Order$$module$build$src$generators$javascript$javascript_generator.ADDITION],[Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_AND,Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_AND],[Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_OR,Order$$module$build$src$generators$javascript$javascript_generator.LOGICAL_OR]];
|
|
270
|
+
this.isInitialized=!1;for(const b in Order$$module$build$src$generators$javascript$javascript_generator)a=Order$$module$build$src$generators$javascript$javascript_generator[b],"string"!==typeof a&&(this["ORDER_"+b]=a);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,"+
|
|
271
|
+
Object.getOwnPropertyNames(globalThis).join(","))}init(a){super.init(a);this.nameDB_?this.nameDB_.reset():this.nameDB_=new $.Names$$module$build$src$core$names(this.RESERVED_WORDS_);this.nameDB_.setVariableMap(a.getVariableMap());this.nameDB_.populateVariables(a);this.nameDB_.populateProcedures(a);const b=[];var c=$.allDeveloperVariables$$module$build$src$core$variables(a);for(let d=0;d<c.length;d++)b.push(this.nameDB_.getName(c[d],$.NameType$$module$build$src$core$names.DEVELOPER_VARIABLE));a=$.allUsedVarModels$$module$build$src$core$variables(a);
|
|
272
|
+
for(c=0;c<a.length;c++)b.push(this.nameDB_.getName(a[c].getId(),$.NameType$$module$build$src$core$names.VARIABLE));b.length&&(this.definitions_.variables="var "+b.join(", ")+";");this.isInitialized=!0}finish(a){const b=Object.values(this.definitions_);super.finish(a);this.isInitialized=!1;this.nameDB_.reset();return b.join("\n\n")+"\n\n\n"+a}scrubNakedValue(a){return a+";\n"}quote_(a){a=a.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n").replace(/'/g,"\\'");return"'"+a+"'"}multiline_quote_(a){return a.split(/\n/g).map(this.quote_).join(" + '\\n' +\n")}scrub_(a,
|
|
273
|
+
b,c=!1){let d="";if(!a.outputConnection||!a.outputConnection.targetConnection){var e=a.getCommentText();e&&(e=$.wrap$$module$build$src$core$utils$string(e,this.COMMENT_WRAP-3),d+=this.prefixLines(e+"\n","// "));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,"// "))}a=a.nextConnection&&a.nextConnection.targetBlock();c=c?"":this.blockToCode(a);
|
|
274
|
+
return d+b+c}getAdjusted(a,b,c=0,d=!1,e=Order$$module$build$src$generators$javascript$javascript_generator.NONE){a.workspace.options.oneBasedIndex&&c--;const f=a.workspace.options.oneBasedIndex?"1":"0";let g=e;0<c?g=Order$$module$build$src$generators$javascript$javascript_generator.ADDITION:0>c?g=Order$$module$build$src$generators$javascript$javascript_generator.SUBTRACTION:d&&(g=Order$$module$build$src$generators$javascript$javascript_generator.UNARY_NEGATION);a=this.valueToCode(a,b,g)||f;if(0===
|
|
275
|
+
c&&!d)return a;if($.isNumber$$module$build$src$core$utils$string(a))return a=String(Number(a)+c),d&&(a=String(-Number(a))),a;0<c?a=`${a} + ${c}`:0>c&&(a=`${a} - ${-c}`);d&&(a=c?`-(${a})`:`-${a}`);Math.floor(e)>=Math.floor(g)&&(a=`(${a})`);return a}},module$build$src$generators$javascript$javascript_generator={};module$build$src$generators$javascript$javascript_generator.JavascriptGenerator=JavascriptGenerator$$module$build$src$generators$javascript$javascript_generator;
|
|
276
|
+
module$build$src$generators$javascript$javascript_generator.Order=Order$$module$build$src$generators$javascript$javascript_generator;var module$build$src$generators$javascript$colour={};module$build$src$generators$javascript$colour.colour_blend=colour_blend$$module$build$src$generators$javascript$colour;module$build$src$generators$javascript$colour.colour_picker=colour_picker$$module$build$src$generators$javascript$colour;module$build$src$generators$javascript$colour.colour_random=colour_random$$module$build$src$generators$javascript$colour;module$build$src$generators$javascript$colour.colour_rgb=colour_rgb$$module$build$src$generators$javascript$colour;var getSubstringIndex$$module$build$src$generators$javascript$lists=function(a,b,c){return"FIRST"===b?"0":"FROM_END"===b?a+".length - 1 - "+c:"LAST"===b?a+".length - 1":c},module$build$src$generators$javascript$lists={};module$build$src$generators$javascript$lists.lists_create_empty=lists_create_empty$$module$build$src$generators$javascript$lists;module$build$src$generators$javascript$lists.lists_create_with=lists_create_with$$module$build$src$generators$javascript$lists;
|
|
274
277
|
module$build$src$generators$javascript$lists.lists_getIndex=lists_getIndex$$module$build$src$generators$javascript$lists;module$build$src$generators$javascript$lists.lists_getSublist=lists_getSublist$$module$build$src$generators$javascript$lists;module$build$src$generators$javascript$lists.lists_indexOf=lists_indexOf$$module$build$src$generators$javascript$lists;module$build$src$generators$javascript$lists.lists_isEmpty=lists_isEmpty$$module$build$src$generators$javascript$lists;
|
|
275
278
|
module$build$src$generators$javascript$lists.lists_length=lists_length$$module$build$src$generators$javascript$lists;module$build$src$generators$javascript$lists.lists_repeat=lists_repeat$$module$build$src$generators$javascript$lists;module$build$src$generators$javascript$lists.lists_reverse=lists_reverse$$module$build$src$generators$javascript$lists;module$build$src$generators$javascript$lists.lists_setIndex=lists_setIndex$$module$build$src$generators$javascript$lists;
|
|
276
279
|
module$build$src$generators$javascript$lists.lists_sort=lists_sort$$module$build$src$generators$javascript$lists;module$build$src$generators$javascript$lists.lists_split=lists_split$$module$build$src$generators$javascript$lists;var controls_ifelse$$module$build$src$generators$javascript$logic=controls_if$$module$build$src$generators$javascript$logic,module$build$src$generators$javascript$logic={};module$build$src$generators$javascript$logic.controls_if=controls_if$$module$build$src$generators$javascript$logic;module$build$src$generators$javascript$logic.controls_ifelse=controls_if$$module$build$src$generators$javascript$logic;module$build$src$generators$javascript$logic.logic_boolean=logic_boolean$$module$build$src$generators$javascript$logic;
|
|
@@ -285,9 +288,9 @@ module$build$src$generators$javascript$procedures.procedures_defnoreturn=procedu
|
|
|
285
288
|
module$build$src$generators$javascript$text.text_changeCase=text_changeCase$$module$build$src$generators$javascript$text;module$build$src$generators$javascript$text.text_charAt=text_charAt$$module$build$src$generators$javascript$text;module$build$src$generators$javascript$text.text_count=text_count$$module$build$src$generators$javascript$text;module$build$src$generators$javascript$text.text_getSubstring=text_getSubstring$$module$build$src$generators$javascript$text;
|
|
286
289
|
module$build$src$generators$javascript$text.text_indexOf=text_indexOf$$module$build$src$generators$javascript$text;module$build$src$generators$javascript$text.text_isEmpty=text_isEmpty$$module$build$src$generators$javascript$text;module$build$src$generators$javascript$text.text_join=text_join$$module$build$src$generators$javascript$text;module$build$src$generators$javascript$text.text_length=text_length$$module$build$src$generators$javascript$text;
|
|
287
290
|
module$build$src$generators$javascript$text.text_multiline=text_multiline$$module$build$src$generators$javascript$text;module$build$src$generators$javascript$text.text_print=text_print$$module$build$src$generators$javascript$text;module$build$src$generators$javascript$text.text_prompt=text_prompt_ext$$module$build$src$generators$javascript$text;module$build$src$generators$javascript$text.text_prompt_ext=text_prompt_ext$$module$build$src$generators$javascript$text;
|
|
288
|
-
module$build$src$generators$javascript$text.text_replace=text_replace$$module$build$src$generators$javascript$text;module$build$src$generators$javascript$text.text_reverse=text_reverse$$module$build$src$generators$javascript$text;module$build$src$generators$javascript$text.text_trim=text_trim$$module$build$src$generators$javascript$text;var module$build$src$generators$javascript$variables={};module$build$src$generators$javascript$variables.variables_get=variables_get$$module$build$src$generators$javascript$variables;module$build$src$generators$javascript$variables.variables_set=variables_set$$module$build$src$generators$javascript$variables;var module$build$src$generators$javascript$variables_dynamic={};module$build$src$generators$javascript$variables_dynamic.variables_get_dynamic=variables_get$$module$build$src$generators$javascript$variables;module$build$src$generators$javascript$variables_dynamic.variables_set_dynamic=variables_set$$module$build$src$generators$javascript$variables;var javascriptGenerator$$module$build$src$generators$javascript=new JavascriptGenerator$$module$build$src$generators$javascript$javascript_generator
|
|
289
|
-
|
|
290
|
-
|
|
291
|
+
module$build$src$generators$javascript$text.text_replace=text_replace$$module$build$src$generators$javascript$text;module$build$src$generators$javascript$text.text_reverse=text_reverse$$module$build$src$generators$javascript$text;module$build$src$generators$javascript$text.text_trim=text_trim$$module$build$src$generators$javascript$text;var module$build$src$generators$javascript$variables={};module$build$src$generators$javascript$variables.variables_get=variables_get$$module$build$src$generators$javascript$variables;module$build$src$generators$javascript$variables.variables_set=variables_set$$module$build$src$generators$javascript$variables;var module$build$src$generators$javascript$variables_dynamic={};module$build$src$generators$javascript$variables_dynamic.variables_get_dynamic=variables_get$$module$build$src$generators$javascript$variables;module$build$src$generators$javascript$variables_dynamic.variables_set_dynamic=variables_set$$module$build$src$generators$javascript$variables;var javascriptGenerator$$module$build$src$generators$javascript=new JavascriptGenerator$$module$build$src$generators$javascript$javascript_generator,generators$$module$build$src$generators$javascript=Object.assign({},module$build$src$generators$javascript$colour,module$build$src$generators$javascript$lists,module$build$src$generators$javascript$logic,module$build$src$generators$javascript$loops,module$build$src$generators$javascript$math,module$build$src$generators$javascript$procedures,module$build$src$generators$javascript$text,
|
|
292
|
+
module$build$src$generators$javascript$variables,module$build$src$generators$javascript$variables_dynamic);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];var module$build$src$generators$javascript={};module$build$src$generators$javascript.JavascriptGenerator=JavascriptGenerator$$module$build$src$generators$javascript$javascript_generator;
|
|
293
|
+
module$build$src$generators$javascript.Order=Order$$module$build$src$generators$javascript$javascript_generator;module$build$src$generators$javascript.javascriptGenerator=javascriptGenerator$$module$build$src$generators$javascript;
|
|
291
294
|
module$build$src$generators$javascript.__namespace__=$;
|
|
292
295
|
return module$build$src$generators$javascript;
|
|
293
296
|
}));
|