blockly 11.0.0-beta.0 → 11.0.0-beta.10

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 (289) hide show
  1. package/blockly.min.js +852 -891
  2. package/blockly_compressed.js +794 -796
  3. package/blockly_compressed.js.map +1 -1
  4. package/blocks.js +4 -22
  5. package/blocks_compressed.js +38 -41
  6. package/blocks_compressed.js.map +1 -1
  7. package/core/block.d.ts +58 -10
  8. package/core/block_svg.d.ts +50 -44
  9. package/core/blockly.d.ts +22 -56
  10. package/core/bubbles/bubble.d.ts +17 -2
  11. package/core/bubbles/mini_workspace_bubble.d.ts +1 -1
  12. package/core/bubbles/text_bubble.d.ts +1 -1
  13. package/core/bubbles/textinput_bubble.d.ts +1 -1
  14. package/core/clipboard/workspace_comment_paster.d.ts +5 -4
  15. package/core/clipboard.d.ts +0 -19
  16. package/core/comments/comment_view.d.ts +217 -0
  17. package/core/comments/rendered_workspace_comment.d.ts +90 -0
  18. package/core/comments/workspace_comment.d.ts +107 -0
  19. package/core/comments.d.ts +9 -0
  20. package/core/connection.d.ts +1 -1
  21. package/core/constants.d.ts +5 -0
  22. package/core/contextmenu.d.ts +1 -34
  23. package/core/contextmenu_items.d.ts +8 -0
  24. package/core/contextmenu_registry.d.ts +18 -3
  25. package/core/delete_area.d.ts +1 -2
  26. package/core/dragging/block_drag_strategy.d.ts +105 -0
  27. package/core/dragging/bubble_drag_strategy.d.ts +20 -0
  28. package/core/dragging/comment_drag_strategy.d.ts +21 -0
  29. package/core/dragging/dragger.d.ts +48 -0
  30. package/core/dragging.d.ts +11 -0
  31. package/core/events/events.d.ts +3 -0
  32. package/core/events/events_block_change.d.ts +15 -0
  33. package/core/events/events_click.d.ts +1 -1
  34. package/core/events/events_comment_base.d.ts +6 -1
  35. package/core/events/events_comment_change.d.ts +1 -1
  36. package/core/events/events_comment_collapse.d.ts +39 -0
  37. package/core/events/events_comment_create.d.ts +5 -1
  38. package/core/events/events_comment_delete.d.ts +5 -1
  39. package/core/events/events_comment_move.d.ts +17 -1
  40. package/core/events/utils.d.ts +3 -3
  41. package/core/field_dropdown.d.ts +1 -0
  42. package/core/field_image.d.ts +1 -1
  43. package/core/flyout_base.d.ts +17 -1
  44. package/core/flyout_button.d.ts +26 -1
  45. package/core/generator.d.ts +1 -1
  46. package/core/gesture.d.ts +29 -53
  47. package/core/grid.d.ts +29 -8
  48. package/core/icons/comment_icon.d.ts +8 -3
  49. package/core/icons/icon.d.ts +0 -6
  50. package/core/icons/icon_types.d.ts +2 -2
  51. package/core/icons/mutator_icon.d.ts +1 -16
  52. package/core/icons/warning_icon.d.ts +1 -1
  53. package/core/inputs/input.d.ts +10 -19
  54. package/core/insertion_marker_manager.d.ts +2 -0
  55. package/core/insertion_marker_previewer.d.ts +56 -0
  56. package/core/interfaces/i_comment_icon.d.ts +21 -0
  57. package/core/interfaces/i_connection_previewer.d.ts +39 -0
  58. package/core/interfaces/i_deletable.d.ts +6 -0
  59. package/core/interfaces/i_delete_area.d.ts +1 -2
  60. package/core/interfaces/i_draggable.d.ts +47 -3
  61. package/core/interfaces/i_dragger.d.ts +32 -0
  62. package/core/interfaces/i_has_bubble.d.ts +1 -1
  63. package/core/interfaces/i_parameter_model.d.ts +7 -0
  64. package/core/interfaces/i_procedure_model.d.ts +7 -0
  65. package/core/interfaces/i_selectable.d.ts +5 -3
  66. package/core/internal_constants.d.ts +0 -7
  67. package/core/keyboard_nav/ast_node.d.ts +21 -2
  68. package/core/options.d.ts +1 -0
  69. package/core/registry.d.ts +10 -4
  70. package/core/render_management.d.ts +4 -1
  71. package/core/rendered_connection.d.ts +3 -1
  72. package/core/renderers/common/constants.d.ts +6 -2
  73. package/core/renderers/common/drawer.d.ts +18 -7
  74. package/core/renderers/common/i_path_object.d.ts +6 -15
  75. package/core/renderers/common/info.d.ts +5 -2
  76. package/core/renderers/common/marker_svg.d.ts +7 -0
  77. package/core/renderers/common/path_object.d.ts +13 -0
  78. package/core/renderers/common/renderer.d.ts +3 -0
  79. package/core/renderers/measurables/connection.d.ts +1 -0
  80. package/core/renderers/measurables/icon.d.ts +0 -5
  81. package/core/renderers/zelos/drawer.d.ts +4 -0
  82. package/core/renderers/zelos/renderer.d.ts +4 -2
  83. package/core/serialization/blocks.d.ts +1 -0
  84. package/core/serialization/priorities.d.ts +2 -0
  85. package/core/serialization/procedures.d.ts +28 -26
  86. package/core/serialization/workspace_comments.d.ts +45 -0
  87. package/core/serialization.d.ts +2 -1
  88. package/core/toolbox/toolbox.d.ts +1 -2
  89. package/core/utils/dom.d.ts +0 -9
  90. package/core/utils/keycodes.d.ts +32 -32
  91. package/core/utils/size.d.ts +10 -0
  92. package/core/utils/string.d.ts +0 -10
  93. package/core/utils/toolbox.d.ts +1 -0
  94. package/core/workspace.d.ts +9 -1
  95. package/core/workspace_audio.d.ts +10 -0
  96. package/core/workspace_svg.d.ts +10 -32
  97. package/core/xml.d.ts +9 -3
  98. package/core-node.js +31 -0
  99. package/core.js +4 -26
  100. package/dart.d.ts +1 -1
  101. package/dart.js +4 -22
  102. package/dart_compressed.js +22 -72
  103. package/dart_compressed.js.map +1 -1
  104. package/generators/dart/dart_generator.d.ts +17 -17
  105. package/generators/dart/text.d.ts +0 -1
  106. package/generators/javascript/javascript_generator.d.ts +34 -35
  107. package/generators/javascript/text.d.ts +0 -1
  108. package/generators/lua/lua_generator.d.ts +10 -10
  109. package/generators/lua/text.d.ts +0 -1
  110. package/generators/php/php_generator.d.ts +36 -36
  111. package/generators/php/text.d.ts +0 -1
  112. package/generators/python/python_generator.d.ts +20 -21
  113. package/generators/python/text.d.ts +0 -1
  114. package/index.js +19 -7
  115. package/javascript.d.ts +1 -1
  116. package/javascript.js +4 -23
  117. package/javascript_compressed.js +19 -54
  118. package/javascript_compressed.js.map +1 -1
  119. package/lua.d.ts +1 -1
  120. package/lua.js +4 -22
  121. package/lua_compressed.js +24 -47
  122. package/lua_compressed.js.map +1 -1
  123. package/media/delete-icon.svg +1 -0
  124. package/media/foldout-icon.svg +1 -0
  125. package/media/resize-handle.svg +3 -0
  126. package/msg/ab.js +1 -0
  127. package/msg/ace.js +1 -0
  128. package/msg/af.js +1 -0
  129. package/msg/am.js +1 -0
  130. package/msg/ar.js +2 -1
  131. package/msg/ast.js +1 -0
  132. package/msg/az.js +1 -0
  133. package/msg/ba.js +1 -0
  134. package/msg/bcc.js +1 -0
  135. package/msg/be-tarask.js +9 -8
  136. package/msg/be.js +1 -0
  137. package/msg/bg.js +1 -0
  138. package/msg/bn.js +6 -5
  139. package/msg/br.js +1 -0
  140. package/msg/bs.js +1 -0
  141. package/msg/ca.js +1 -0
  142. package/msg/cdo.js +1 -0
  143. package/msg/ce.d.ts +8 -0
  144. package/msg/ce.js +1 -0
  145. package/msg/cs.js +1 -0
  146. package/msg/da.js +5 -4
  147. package/msg/de.js +1 -0
  148. package/msg/diq.js +1 -0
  149. package/msg/dtp.d.ts +8 -0
  150. package/msg/dtp.js +1 -0
  151. package/msg/dty.js +1 -0
  152. package/msg/ee.js +1 -0
  153. package/msg/el.js +2 -1
  154. package/msg/en-gb.js +1 -0
  155. package/msg/en.js +1 -0
  156. package/msg/eo.js +1 -0
  157. package/msg/es.js +1 -0
  158. package/msg/et.js +1 -0
  159. package/msg/eu.js +1 -0
  160. package/msg/fa.js +1 -0
  161. package/msg/fi.js +1 -0
  162. package/msg/fo.js +1 -0
  163. package/msg/fr.js +1 -0
  164. package/msg/frr.js +1 -0
  165. package/msg/gl.js +1 -0
  166. package/msg/gn.js +1 -0
  167. package/msg/gor.js +1 -0
  168. package/msg/ha.js +1 -0
  169. package/msg/hak.js +1 -0
  170. package/msg/he.js +2 -1
  171. package/msg/hi.js +1 -0
  172. package/msg/hr.js +1 -0
  173. package/msg/hrx.js +1 -0
  174. package/msg/hsb.d.ts +8 -0
  175. package/msg/hsb.js +1 -0
  176. package/msg/hu.js +1 -0
  177. package/msg/hy.js +1 -0
  178. package/msg/ia.js +1 -0
  179. package/msg/id.js +7 -6
  180. package/msg/ig.js +1 -0
  181. package/msg/inh.js +4 -3
  182. package/msg/is.js +1 -0
  183. package/msg/it.js +1 -0
  184. package/msg/ja.js +2 -1
  185. package/msg/ka.js +1 -0
  186. package/msg/kab.js +1 -0
  187. package/msg/kbd-cyrl.js +1 -0
  188. package/msg/km.js +1 -0
  189. package/msg/kn.js +1 -0
  190. package/msg/ko.js +1 -0
  191. package/msg/ksh.js +1 -0
  192. package/msg/ku-latn.js +1 -0
  193. package/msg/ky.js +1 -0
  194. package/msg/la.js +1 -0
  195. package/msg/lb.js +1 -0
  196. package/msg/lki.js +1 -0
  197. package/msg/lo.js +1 -0
  198. package/msg/lrc.js +1 -0
  199. package/msg/lt.js +1 -0
  200. package/msg/lv.js +1 -0
  201. package/msg/mg.js +1 -0
  202. package/msg/mk.js +1 -0
  203. package/msg/ml.js +1 -0
  204. package/msg/mnw.js +1 -0
  205. package/msg/ms.js +1 -0
  206. package/msg/my.js +1 -0
  207. package/msg/mzn.js +1 -0
  208. package/msg/nb.js +1 -0
  209. package/msg/ne.js +1 -0
  210. package/msg/nl.js +4 -3
  211. package/msg/oc.js +1 -0
  212. package/msg/olo.js +1 -0
  213. package/msg/pa.js +1 -0
  214. package/msg/pl.js +1 -0
  215. package/msg/pms.js +1 -0
  216. package/msg/ps.js +1 -0
  217. package/msg/pt-br.js +1 -0
  218. package/msg/pt.js +2 -1
  219. package/msg/ro.js +1 -0
  220. package/msg/ru.js +1 -0
  221. package/msg/sc.js +1 -0
  222. package/msg/sco.js +1 -0
  223. package/msg/sd.js +1 -0
  224. package/msg/shn.js +1 -0
  225. package/msg/si.js +1 -0
  226. package/msg/sk.js +1 -0
  227. package/msg/skr-arab.js +1 -0
  228. package/msg/sl.js +1 -0
  229. package/msg/smn.js +1 -0
  230. package/msg/sq.js +1 -0
  231. package/msg/sr-latn.js +1 -0
  232. package/msg/sr.js +1 -0
  233. package/msg/sv.js +1 -0
  234. package/msg/sw.js +1 -0
  235. package/msg/ta.js +3 -2
  236. package/msg/tcy.js +1 -0
  237. package/msg/tdd.d.ts +8 -0
  238. package/msg/tdd.js +1 -0
  239. package/msg/te.js +1 -0
  240. package/msg/th.js +1 -0
  241. package/msg/ti.js +1 -0
  242. package/msg/tl.js +3 -2
  243. package/msg/tlh.js +1 -0
  244. package/msg/tr.js +1 -0
  245. package/msg/ug-arab.js +1 -0
  246. package/msg/uk.js +1 -0
  247. package/msg/ur.js +3 -2
  248. package/msg/uz.js +1 -0
  249. package/msg/vi.js +1 -0
  250. package/msg/xmf.js +1 -0
  251. package/msg/yo.js +1 -0
  252. package/msg/zgh.js +1 -0
  253. package/msg/zh-hans.js +1 -0
  254. package/msg/zh-hant.js +15 -14
  255. package/package.json +49 -15
  256. package/php.d.ts +1 -1
  257. package/php.js +4 -22
  258. package/php_compressed.js +13 -46
  259. package/php_compressed.js.map +1 -1
  260. package/python.d.ts +1 -1
  261. package/python.js +4 -23
  262. package/python_compressed.js +21 -40
  263. package/python_compressed.js.map +1 -1
  264. package/blockly.js +0 -22
  265. package/browser.js +0 -30
  266. package/core/block_dragger.d.ts +0 -162
  267. package/core/bubble_dragger.d.ts +0 -77
  268. package/core/field_angle.d.ts +0 -208
  269. package/core/field_colour.d.ts +0 -243
  270. package/core/field_multilineinput.d.ts +0 -182
  271. package/core/interfaces/i_block_dragger.d.ts +0 -47
  272. package/core/renderers/minimalist/constants.d.ts +0 -21
  273. package/core/renderers/minimalist/drawer.d.ts +0 -26
  274. package/core/renderers/minimalist/info.d.ts +0 -35
  275. package/core/renderers/minimalist/minimalist.d.ts +0 -12
  276. package/core/renderers/minimalist/renderer.d.ts +0 -48
  277. package/core/workspace_comment.d.ts +0 -190
  278. package/core/workspace_comment_svg.d.ts +0 -361
  279. package/core-browser.js +0 -26
  280. package/generators/dart/colour.d.ts +0 -16
  281. package/generators/javascript/colour.d.ts +0 -16
  282. package/generators/lua/colour.d.ts +0 -16
  283. package/generators/php/colour.d.ts +0 -16
  284. package/generators/python/colour.d.ts +0 -16
  285. package/msg/constants.d.ts +0 -14
  286. package/msg/qqq.d.ts +0 -14
  287. package/msg/synonyms.d.ts +0 -14
  288. package/msg/yue.js +0 -441
  289. package/node.js +0 -21
@@ -11,23 +11,23 @@ import type { Workspace } from '../../core/workspace.js';
11
11
  * https://dart.dev/guides/language/language-tour#operators
12
12
  */
13
13
  export declare enum Order {
14
- ATOMIC = 0,
15
- UNARY_POSTFIX = 1,
16
- UNARY_PREFIX = 2,
17
- MULTIPLICATIVE = 3,
18
- ADDITIVE = 4,
19
- SHIFT = 5,
20
- BITWISE_AND = 6,
21
- BITWISE_XOR = 7,
22
- BITWISE_OR = 8,
23
- RELATIONAL = 9,
24
- EQUALITY = 10,
25
- LOGICAL_AND = 11,
26
- LOGICAL_OR = 12,
27
- IF_NULL = 13,
28
- CONDITIONAL = 14,
29
- CASCADE = 15,
30
- ASSIGNMENT = 16,
14
+ ATOMIC = 0,// 0 "" ...
15
+ UNARY_POSTFIX = 1,// expr++ expr-- () [] . ?.
16
+ UNARY_PREFIX = 2,// -expr !expr ~expr ++expr --expr
17
+ MULTIPLICATIVE = 3,// * / % ~/
18
+ ADDITIVE = 4,// + -
19
+ SHIFT = 5,// << >>
20
+ BITWISE_AND = 6,// &
21
+ BITWISE_XOR = 7,// ^
22
+ BITWISE_OR = 8,// |
23
+ RELATIONAL = 9,// >= > <= < as is is!
24
+ EQUALITY = 10,// == !=
25
+ LOGICAL_AND = 11,// &&
26
+ LOGICAL_OR = 12,// ||
27
+ IF_NULL = 13,// ??
28
+ CONDITIONAL = 14,// expr ? expr: expr
29
+ CASCADE = 15,// ..
30
+ ASSIGNMENT = 16,// = *= /= ~/= %= += -= <<= >>= &= ^= |=
31
31
  NONE = 99
32
32
  }
33
33
  /**
@@ -10,7 +10,6 @@ import type { Block } from '../../core/block.js';
10
10
  import type { DartGenerator } from './dart_generator.js';
11
11
  import { Order } from './dart_generator.js';
12
12
  export declare function text(block: Block, generator: DartGenerator): [string, Order];
13
- export declare function text_multiline(block: Block, generator: DartGenerator): [string, Order];
14
13
  export declare function text_join(block: Block, generator: DartGenerator): [string, Order];
15
14
  export declare function text_append(block: Block, generator: DartGenerator): string;
16
15
  export declare function text_length(block: Block, generator: DartGenerator): [string, Order];
@@ -11,40 +11,40 @@ import type { Workspace } from '../../core/workspace.js';
11
11
  * https://developer.mozilla.org/en/JavaScript/Reference/Operators/Operator_Precedence
12
12
  */
13
13
  export declare enum Order {
14
- ATOMIC = 0,
15
- NEW = 1.1,
16
- MEMBER = 1.2,
17
- FUNCTION_CALL = 2,
18
- INCREMENT = 3,
19
- DECREMENT = 3,
20
- BITWISE_NOT = 4.1,
21
- UNARY_PLUS = 4.2,
22
- UNARY_NEGATION = 4.3,
23
- LOGICAL_NOT = 4.4,
24
- TYPEOF = 4.5,
25
- VOID = 4.6,
26
- DELETE = 4.7,
27
- AWAIT = 4.8,
28
- EXPONENTIATION = 5,
29
- MULTIPLICATION = 5.1,
30
- DIVISION = 5.2,
31
- MODULUS = 5.3,
32
- SUBTRACTION = 6.1,
33
- ADDITION = 6.2,
34
- BITWISE_SHIFT = 7,
35
- RELATIONAL = 8,
36
- IN = 8,
37
- INSTANCEOF = 8,
38
- EQUALITY = 9,
39
- BITWISE_AND = 10,
40
- BITWISE_XOR = 11,
41
- BITWISE_OR = 12,
42
- LOGICAL_AND = 13,
43
- LOGICAL_OR = 14,
44
- CONDITIONAL = 15,
45
- ASSIGNMENT = 16,
46
- YIELD = 17,
47
- COMMA = 18,
14
+ ATOMIC = 0,// 0 "" ...
15
+ NEW = 1.1,// new
16
+ MEMBER = 1.2,// . []
17
+ FUNCTION_CALL = 2,// ()
18
+ INCREMENT = 3,// ++
19
+ DECREMENT = 3,// --
20
+ BITWISE_NOT = 4.1,// ~
21
+ UNARY_PLUS = 4.2,// +
22
+ UNARY_NEGATION = 4.3,// -
23
+ LOGICAL_NOT = 4.4,// !
24
+ TYPEOF = 4.5,// typeof
25
+ VOID = 4.6,// void
26
+ DELETE = 4.7,// delete
27
+ AWAIT = 4.8,// await
28
+ EXPONENTIATION = 5,// **
29
+ MULTIPLICATION = 5.1,// *
30
+ DIVISION = 5.2,// /
31
+ MODULUS = 5.3,// %
32
+ SUBTRACTION = 6.1,// -
33
+ ADDITION = 6.2,// +
34
+ BITWISE_SHIFT = 7,// << >> >>>
35
+ RELATIONAL = 8,// < <= > >=
36
+ IN = 8,// in
37
+ INSTANCEOF = 8,// instanceof
38
+ EQUALITY = 9,// == != === !==
39
+ BITWISE_AND = 10,// &
40
+ BITWISE_XOR = 11,// ^
41
+ BITWISE_OR = 12,// |
42
+ LOGICAL_AND = 13,// &&
43
+ LOGICAL_OR = 14,// ||
44
+ CONDITIONAL = 15,// ?:
45
+ ASSIGNMENT = 16,// = += -= **= *= /= %= <<= >>= ...
46
+ YIELD = 17,// yield
47
+ COMMA = 18,// ,
48
48
  NONE = 99
49
49
  }
50
50
  /**
@@ -100,7 +100,6 @@ export declare class JavascriptGenerator extends CodeGenerator {
100
100
  * @param code The JavaScript code created for this block.
101
101
  * @param thisOnly True to generate code for only this statement.
102
102
  * @returns JavaScript code with comments and subsequent blocks added.
103
- * @protected
104
103
  */
105
104
  scrub_(block: Block, code: string, thisOnly?: boolean): string;
106
105
  /**
@@ -10,7 +10,6 @@ import type { Block } from '../../core/block.js';
10
10
  import type { JavascriptGenerator } from './javascript_generator.js';
11
11
  import { Order } from './javascript_generator.js';
12
12
  export declare function text(block: Block, generator: JavascriptGenerator): [string, Order];
13
- export declare function text_multiline(block: Block, generator: JavascriptGenerator): [string, Order];
14
13
  export declare function text_join(block: Block, generator: JavascriptGenerator): [string, Order];
15
14
  export declare function text_append(block: Block, generator: JavascriptGenerator): string;
16
15
  export declare function text_length(block: Block, generator: JavascriptGenerator): [string, Order];
@@ -11,16 +11,16 @@ import type { Workspace } from '../../core/workspace.js';
11
11
  * http://www.lua.org/manual/5.3/manual.html#3.4.8
12
12
  */
13
13
  export declare enum Order {
14
- ATOMIC = 0,
15
- HIGH = 1,
16
- EXPONENTIATION = 2,
17
- UNARY = 3,
18
- MULTIPLICATIVE = 4,
19
- ADDITIVE = 5,
20
- CONCATENATION = 6,
21
- RELATIONAL = 7,
22
- AND = 8,
23
- OR = 9,
14
+ ATOMIC = 0,// literals
15
+ HIGH = 1,// Function calls, tables[]
16
+ EXPONENTIATION = 2,// ^
17
+ UNARY = 3,// not # - ~
18
+ MULTIPLICATIVE = 4,// * / %
19
+ ADDITIVE = 5,// + -
20
+ CONCATENATION = 6,// ..
21
+ RELATIONAL = 7,// < > <= >= ~= ==
22
+ AND = 8,// and
23
+ OR = 9,// or
24
24
  NONE = 99
25
25
  }
26
26
  /**
@@ -10,7 +10,6 @@ import type { Block } from '../../core/block.js';
10
10
  import type { LuaGenerator } from './lua_generator.js';
11
11
  import { Order } from './lua_generator.js';
12
12
  export declare function text(block: Block, generator: LuaGenerator): [string, Order];
13
- export declare function text_multiline(block: Block, generator: LuaGenerator): [string, Order];
14
13
  export declare function text_join(block: Block, generator: LuaGenerator): [string, Order];
15
14
  export declare function text_append(block: Block, generator: LuaGenerator): string;
16
15
  export declare function text_length(block: Block, generator: LuaGenerator): [string, Order];
@@ -11,42 +11,42 @@ import type { Workspace } from '../../core/workspace.js';
11
11
  * http://php.net/manual/en/language.operators.precedence.php
12
12
  */
13
13
  export declare enum Order {
14
- ATOMIC = 0,
15
- CLONE = 1,
16
- NEW = 1,
17
- MEMBER = 2.1,
18
- FUNCTION_CALL = 2.2,
19
- POWER = 3,
20
- INCREMENT = 4,
21
- DECREMENT = 4,
22
- BITWISE_NOT = 4,
23
- CAST = 4,
24
- SUPPRESS_ERROR = 4,
25
- INSTANCEOF = 5,
26
- LOGICAL_NOT = 6,
27
- UNARY_PLUS = 7.1,
28
- UNARY_NEGATION = 7.2,
29
- MULTIPLICATION = 8.1,
30
- DIVISION = 8.2,
31
- MODULUS = 8.3,
32
- ADDITION = 9.1,
33
- SUBTRACTION = 9.2,
34
- STRING_CONCAT = 9.3,
35
- BITWISE_SHIFT = 10,
36
- RELATIONAL = 11,
37
- EQUALITY = 12,
38
- REFERENCE = 13,
39
- BITWISE_AND = 13,
40
- BITWISE_XOR = 14,
41
- BITWISE_OR = 15,
42
- LOGICAL_AND = 16,
43
- LOGICAL_OR = 17,
44
- IF_NULL = 18,
45
- CONDITIONAL = 19,
46
- ASSIGNMENT = 20,
47
- LOGICAL_AND_WEAK = 21,
48
- LOGICAL_XOR = 22,
49
- LOGICAL_OR_WEAK = 23,
14
+ ATOMIC = 0,// 0 "" ...
15
+ CLONE = 1,// clone
16
+ NEW = 1,// new
17
+ MEMBER = 2.1,// []
18
+ FUNCTION_CALL = 2.2,// ()
19
+ POWER = 3,// **
20
+ INCREMENT = 4,// ++
21
+ DECREMENT = 4,// --
22
+ BITWISE_NOT = 4,// ~
23
+ CAST = 4,// (int) (float) (string) (array) ...
24
+ SUPPRESS_ERROR = 4,// @
25
+ INSTANCEOF = 5,// instanceof
26
+ LOGICAL_NOT = 6,// !
27
+ UNARY_PLUS = 7.1,// +
28
+ UNARY_NEGATION = 7.2,// -
29
+ MULTIPLICATION = 8.1,// *
30
+ DIVISION = 8.2,// /
31
+ MODULUS = 8.3,// %
32
+ ADDITION = 9.1,// +
33
+ SUBTRACTION = 9.2,// -
34
+ STRING_CONCAT = 9.3,// .
35
+ BITWISE_SHIFT = 10,// << >>
36
+ RELATIONAL = 11,// < <= > >=
37
+ EQUALITY = 12,// == != === !== <> <=>
38
+ REFERENCE = 13,// &
39
+ BITWISE_AND = 13,// &
40
+ BITWISE_XOR = 14,// ^
41
+ BITWISE_OR = 15,// |
42
+ LOGICAL_AND = 16,// &&
43
+ LOGICAL_OR = 17,// ||
44
+ IF_NULL = 18,// ??
45
+ CONDITIONAL = 19,// ?:
46
+ ASSIGNMENT = 20,// = += -= *= /= %= <<= >>= ...
47
+ LOGICAL_AND_WEAK = 21,// and
48
+ LOGICAL_XOR = 22,// xor
49
+ LOGICAL_OR_WEAK = 23,// or
50
50
  NONE = 99
51
51
  }
52
52
  export declare class PhpGenerator extends CodeGenerator {
@@ -10,7 +10,6 @@ import type { Block } from '../../core/block.js';
10
10
  import { Order } from './php_generator.js';
11
11
  import type { PhpGenerator } from './php_generator.js';
12
12
  export declare function text(block: Block, generator: PhpGenerator): [string, Order];
13
- export declare function text_multiline(block: Block, generator: PhpGenerator): [string, Order];
14
13
  export declare function text_join(block: Block, generator: PhpGenerator): [string, Order];
15
14
  export declare function text_append(block: Block, generator: PhpGenerator): string;
16
15
  export declare function text_length(block: Block, generator: PhpGenerator): [string, Order];
@@ -11,26 +11,26 @@ import type { Workspace } from '../../core/workspace.js';
11
11
  * http://docs.python.org/reference/expressions.html#summary
12
12
  */
13
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,
14
+ ATOMIC = 0,// 0 "" ...
15
+ COLLECTION = 1,// tuples, lists, dictionaries
16
+ STRING_CONVERSION = 1,// `expression...`
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,// in, not in, is, is not, >, >=, <>, !=, ==
29
+ LOGICAL_NOT = 12,// not
30
+ LOGICAL_AND = 13,// and
31
+ LOGICAL_OR = 14,// or
32
+ CONDITIONAL = 15,// if else
33
+ LAMBDA = 16,// lambda
34
34
  NONE = 99
35
35
  }
36
36
  /**
@@ -90,7 +90,6 @@ export declare class PythonGenerator extends CodeGenerator {
90
90
  * @param code The Python code created for this block.
91
91
  * @param thisOnly True to generate code for only this statement.
92
92
  * @returns Python code with comments and subsequent blocks added.
93
-
94
93
  */
95
94
  scrub_(block: Block, code: string, thisOnly?: boolean): string;
96
95
  /**
@@ -7,7 +7,6 @@ import type { Block } from '../../core/block.js';
7
7
  import { Order } from './python_generator.js';
8
8
  import type { PythonGenerator } from './python_generator.js';
9
9
  export declare function text(block: Block, generator: PythonGenerator): [string, Order];
10
- export declare function text_multiline(block: Block, generator: PythonGenerator): [string, Order];
11
10
  export declare function text_join(block: Block, generator: PythonGenerator): [string, Order];
12
11
  export declare function text_append(block: Block, generator: PythonGenerator): string;
13
12
  export declare function text_length(block: Block, generator: PythonGenerator): [string, Order];
package/index.js CHANGED
@@ -1,13 +1,13 @@
1
1
  /* eslint-disable */
2
2
  ;(function(root, factory) {
3
3
  if (typeof define === 'function' && define.amd) { // AMD
4
- define(['./browser'], factory);
4
+ define(['blockly/core', 'blockly/msg/en', 'blockly/blocks'], factory);
5
5
  } else if (typeof exports === 'object') { // Node.js
6
- module.exports = factory(require('./node'));
6
+ module.exports = factory(require('blockly/core'), require('blockly/msg/en'), require('blockly/blocks'));
7
7
  } else { // Browser
8
- root.Blockly = factory(root.Blockly);
8
+ root.Blockly = factory(root.Blockly, root.Blockly.Msg, root.Blockly.Blocks);
9
9
  }
10
- }(this, function(Blockly) {
10
+ }(this, function(Blockly, en, blocks) {
11
11
  /**
12
12
  * @license
13
13
  * Copyright 2019 Google LLC
@@ -15,10 +15,22 @@
15
15
  */
16
16
 
17
17
  /**
18
- * @fileoverview Blockly module; this is a wrapper which selects
19
- * either browser.js or node.js, depending on which environment we
20
- * are running in.
18
+ * @file Main entrypoint for blockly package. Via its UMD wrapper,
19
+ * this module loads blockly/core, blockly/blocks and blockly/msg/en
20
+ * and then calls setLocale(en).
21
+ *
22
+ * This entrypoint previously also loaded one or more generators
23
+ * (JavaScript in browser, all five in node.js environments) but it no
24
+ * longer makes sense to do so because of changes to generators
25
+ * exports (they no longer have the side effect of defining
26
+ * Blockly.JavaScript, etc., when loaded as modules).
21
27
  */
22
28
 
29
+ /* eslint-disable */
30
+ 'use strict';
31
+
32
+ // Include the EN Locale by default.
33
+ Blockly.setLocale(en);
34
+
23
35
  return Blockly;
24
36
  }));
package/javascript.d.ts CHANGED
@@ -4,4 +4,4 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- export * from 'generators/javascript';
7
+ export * from './generators/javascript';
package/javascript.js CHANGED
@@ -1,23 +1,4 @@
1
- /* eslint-disable */
2
- ;(function(root, factory) {
3
- if (typeof define === 'function' && define.amd) { // AMD
4
- define(['./core', './javascript_compressed.js'], factory);
5
- } else if (typeof exports === 'object') { // Node.js
6
- module.exports = factory(require('./core'), require('./javascript_compressed.js'));
7
- } else { // Browser
8
- root.BlocklyJavaScript = factory(root.Blockly, root.BlocklyJavaScript);
9
- }
10
- }(this, function(Blockly, BlocklyJavaScript) {
11
- /**
12
- * @license
13
- * Copyright 2020 Google LLC
14
- * SPDX-License-Identifier: Apache-2.0
15
- */
16
-
17
- /**
18
- * @fileoverview JavaScript Generator module; just a wrapper for
19
- * javascript_compressed.js.
20
- */
21
-
22
- return BlocklyJavaScript;
23
- }));
1
+ // Shim for backwards-compatibility with bundlers that do not
2
+ // support the 'exports' clause in package.json, to allow them
3
+ // to load the blockly/javascript submodule entrypoint.
4
+ module.exports = require('./javascript_compressed.js');
@@ -12,42 +12,8 @@
12
12
  }
13
13
  }(this, function(__parent__) {
14
14
  var $=__parent__.__namespace__;
15
- var colour_picker$$module$build$src$generators$javascript$colour=function(a,b){return[b.quote_(a.getFieldValue("COLOUR")),Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC]},colour_random$$module$build$src$generators$javascript$colour=function(a,b){return[b.provideFunction_("colourRandom",`
16
- function ${b.FUNCTION_NAME_PLACEHOLDER_}() {
17
- var num = Math.floor(Math.random() * Math.pow(2, 24));
18
- return '#' + ('00000' + num.toString(16)).substr(-6);
19
- }
20
- `)+"()",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL]},colour_rgb$$module$build$src$generators$javascript$colour=function(a,b){const c=b.valueToCode(a,"RED",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||0,d=b.valueToCode(a,"GREEN",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||0;a=b.valueToCode(a,"BLUE",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||0;return[b.provideFunction_("colourRgb",
21
- `
22
- function ${b.FUNCTION_NAME_PLACEHOLDER_}(r, g, b) {
23
- r = Math.max(Math.min(Number(r), 100), 0) * 2.55;
24
- g = Math.max(Math.min(Number(g), 100), 0) * 2.55;
25
- b = Math.max(Math.min(Number(b), 100), 0) * 2.55;
26
- r = ('0' + (Math.round(r) || 0).toString(16)).slice(-2);
27
- g = ('0' + (Math.round(g) || 0).toString(16)).slice(-2);
28
- b = ('0' + (Math.round(b) || 0).toString(16)).slice(-2);
29
- return '#' + r + g + b;
30
- }
31
- `)+"("+c+", "+d+", "+a+")",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL]},colour_blend$$module$build$src$generators$javascript$colour=function(a,b){const c=b.valueToCode(a,"COLOUR1",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"'#000000'",d=b.valueToCode(a,"COLOUR2",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"'#000000'";a=b.valueToCode(a,"RATIO",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||
32
- .5;return[b.provideFunction_("colourBlend",`
33
- function ${b.FUNCTION_NAME_PLACEHOLDER_}(c1, c2, ratio) {
34
- ratio = Math.max(Math.min(Number(ratio), 1), 0);
35
- var r1 = parseInt(c1.substring(1, 3), 16);
36
- var g1 = parseInt(c1.substring(3, 5), 16);
37
- var b1 = parseInt(c1.substring(5, 7), 16);
38
- var r2 = parseInt(c2.substring(1, 3), 16);
39
- var g2 = parseInt(c2.substring(3, 5), 16);
40
- var b2 = parseInt(c2.substring(5, 7), 16);
41
- var r = Math.round(r1 * (1 - ratio) + r2 * ratio);
42
- var g = Math.round(g1 * (1 - ratio) + g2 * ratio);
43
- var b = Math.round(b1 * (1 - ratio) + b2 * ratio);
44
- r = ('0' + (r || 0).toString(16)).slice(-2);
45
- g = ('0' + (g || 0).toString(16)).slice(-2);
46
- b = ('0' + (b || 0).toString(16)).slice(-2);
47
- return '#' + r + g + b;
48
- }
49
- `)+"("+c+", "+d+", "+a+")",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL]},lists_create_empty$$module$build$src$generators$javascript$lists=function(a,b){return["[]",Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC]},lists_create_with$$module$build$src$generators$javascript$lists=function(a,b){const c=Array(a.itemCount_);for(let d=0;d<a.itemCount_;d++)c[d]=b.valueToCode(a,"ADD"+d,Order$$module$build$src$generators$javascript$javascript_generator.NONE)||
50
- "null";return["["+c.join(", ")+"]",Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC]},lists_repeat$$module$build$src$generators$javascript$lists=function(a,b){const c=b.provideFunction_("listsRepeat",`
15
+ var lists_create_empty$$module$build$src$generators$javascript$lists=function(a,b){return["[]",Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC]},lists_create_with$$module$build$src$generators$javascript$lists=function(a,b){const c=Array(a.itemCount_);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";return["["+c.join(", ")+"]",Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC]},
16
+ lists_repeat$$module$build$src$generators$javascript$lists=function(a,b){const c=b.provideFunction_("listsRepeat",`
51
17
  function ${b.FUNCTION_NAME_PLACEHOLDER_}(value, n) {
52
18
  var array = [];
53
19
  for (var i = 0; i < n; i++) {
@@ -177,7 +143,7 @@ function ${b.FUNCTION_NAME_PLACEHOLDER_}(values) {
177
143
  }
178
144
  for (var j = 0; j < counts.length; j++) {
179
145
  if (counts[j][1] === maxCount) {
180
- modes.push(counts[j][0]);
146
+ modes.push(counts[j][0]);
181
147
  }
182
148
  }
183
149
  return modes;
@@ -191,7 +157,7 @@ function ${b.FUNCTION_NAME_PLACEHOLDER_}(numbers) {
191
157
  for (var j = 0; j < n; j++) {
192
158
  variance += Math.pow(numbers[j] - mean, 2);
193
159
  }
194
- variance = variance / n;
160
+ variance /= n;
195
161
  return Math.sqrt(variance);
196
162
  }
197
163
  `);a=b.valueToCode(a,"LIST",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"[]";a=c+"("+a+")";break;case "RANDOM":c=b.provideFunction_("mathRandomList",`
@@ -213,17 +179,16 @@ function ${b.FUNCTION_NAME_PLACEHOLDER_}(a, b) {
213
179
  }
214
180
  `)+"("+c+", "+a+")",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL]},math_random_float$$module$build$src$generators$javascript$math=function(a,b){return["Math.random()",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL]},math_atan2$$module$build$src$generators$javascript$math=function(a,b){const c=b.valueToCode(a,"X",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"0";return["Math.atan2("+(b.valueToCode(a,"Y",
215
181
  Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"0")+", "+c+") / Math.PI * 180",Order$$module$build$src$generators$javascript$javascript_generator.DIVISION]},procedures_defreturn$$module$build$src$generators$javascript$procedures=function(a,b){const c=b.getProcedureName(a.getFieldValue("NAME"));var d="";b.STATEMENT_PREFIX&&(d+=b.injectId(b.STATEMENT_PREFIX,a));b.STATEMENT_SUFFIX&&(d+=b.injectId(b.STATEMENT_SUFFIX,a));d&&(d=b.prefixLines(d,b.INDENT));let e="";b.INFINITE_LOOP_TRAP&&
216
- (e=b.prefixLines(b.injectId(b.INFINITE_LOOP_TRAP,a),b.INDENT));const f=b.statementToCode(a,"STACK");let g=b.valueToCode(a,"RETURN",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"",h="";f&&g&&(h=d);g&&(g=b.INDENT+"return "+g+";\n");const k=[],l=a.getVars();for(let m=0;m<l.length;m++)k[m]=b.getVariableName(l[m]);d="function "+c+"("+k.join(", ")+") {\n"+d+e+f+h+g+"}";d=b.scrub_(a,d);b.definitions_["%"+c]=d;return null},procedures_callreturn$$module$build$src$generators$javascript$procedures=
217
- function(a,b){const c=b.getProcedureName(a.getFieldValue("NAME")),d=[],e=a.getVars();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";return[c+"("+d.join(", ")+")",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL]},procedures_callnoreturn$$module$build$src$generators$javascript$procedures=function(a,b){return b.forBlock.procedures_callreturn(a,b)[0]+";\n"},procedures_ifreturn$$module$build$src$generators$javascript$procedures=
218
- function(a,b){let c="if ("+(b.valueToCode(a,"CONDITION",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"false")+") {\n";b.STATEMENT_SUFFIX&&(c+=b.prefixLines(b.injectId(b.STATEMENT_SUFFIX,a),b.INDENT));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";return c+"}\n"},text$$module$build$src$generators$javascript$text=function(a,b){return[b.quote_(a.getFieldValue("TEXT")),
219
- Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC]},text_multiline$$module$build$src$generators$javascript$text=function(a,b){a=b.multiline_quote_(a.getFieldValue("TEXT"));b=-1!==a.indexOf("+")?Order$$module$build$src$generators$javascript$javascript_generator.ADDITION:Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC;return[a,b]},text_join$$module$build$src$generators$javascript$text=function(a,b){switch(a.itemCount_){case 0:return["''",Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC];
220
- case 1:return a=b.valueToCode(a,"ADD0",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"''",forceString$$module$build$src$generators$javascript$text(a);case 2:var c=b.valueToCode(a,"ADD0",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"''";a=b.valueToCode(a,"ADD1",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"''";return[forceString$$module$build$src$generators$javascript$text(c)[0]+" + "+forceString$$module$build$src$generators$javascript$text(a)[0],
221
- Order$$module$build$src$generators$javascript$javascript_generator.ADDITION];default:c=Array(a.itemCount_);for(let d=0;d<a.itemCount_;d++)c[d]=b.valueToCode(a,"ADD"+d,Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"''";return["["+c.join(",")+"].join('')",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL]}},text_append$$module$build$src$generators$javascript$text=function(a,b){const c=b.getVariableName(a.getFieldValue("VAR"));a=b.valueToCode(a,
222
- "TEXT",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"''";return c+" += "+forceString$$module$build$src$generators$javascript$text(a)[0]+";\n"},text_length$$module$build$src$generators$javascript$text=function(a,b){return[(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$javascript$javascript_generator.MEMBER)||"''")+".length",Order$$module$build$src$generators$javascript$javascript_generator.MEMBER]},text_isEmpty$$module$build$src$generators$javascript$text=
223
- function(a,b){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]},text_indexOf$$module$build$src$generators$javascript$text=function(a,b){const c="FIRST"===a.getFieldValue("END")?"indexOf":"lastIndexOf",d=b.valueToCode(a,"FIND",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"''";b=(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$javascript$javascript_generator.MEMBER)||
224
- "''")+"."+c+"("+d+")";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]},text_charAt$$module$build$src$generators$javascript$text=function(a,b){const c=a.getFieldValue("WHERE")||"FROM_START",d=b.valueToCode(a,"VALUE","RANDOM"===c?Order$$module$build$src$generators$javascript$javascript_generator.NONE:Order$$module$build$src$generators$javascript$javascript_generator.MEMBER)||
225
- "''";switch(c){case "FIRST":return[d+".charAt(0)",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];case "LAST":return[d+".slice(-1)",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];case "FROM_START":return a=b.getAdjusted(a,"AT"),[d+".charAt("+a+")",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];case "FROM_END":return a=b.getAdjusted(a,"AT",1,!0),[d+".slice("+a+").charAt(0)",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
226
- case "RANDOM":return[b.provideFunction_("textRandomLetter",`
182
+ (e=b.prefixLines(b.injectId(b.INFINITE_LOOP_TRAP,a),b.INDENT));let f="";a.getInput("STACK")&&(f=b.statementToCode(a,"STACK"));let g="";a.getInput("RETURN")&&(g=b.valueToCode(a,"RETURN",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"");let h="";f&&g&&(h=d);g&&(g=b.INDENT+"return "+g+";\n");const k=[],l=a.getVars();for(let m=0;m<l.length;m++)k[m]=b.getVariableName(l[m]);d="function "+c+"("+k.join(", ")+") {\n"+d+e+f+h+g+"}";d=b.scrub_(a,d);b.definitions_["%"+c]=d;return null},
183
+ procedures_callreturn$$module$build$src$generators$javascript$procedures=function(a,b){const c=b.getProcedureName(a.getFieldValue("NAME")),d=[],e=a.getVars();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";return[c+"("+d.join(", ")+")",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL]},procedures_callnoreturn$$module$build$src$generators$javascript$procedures=function(a,b){return b.forBlock.procedures_callreturn(a,
184
+ b)[0]+";\n"},procedures_ifreturn$$module$build$src$generators$javascript$procedures=function(a,b){let c="if ("+(b.valueToCode(a,"CONDITION",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"false")+") {\n";b.STATEMENT_SUFFIX&&(c+=b.prefixLines(b.injectId(b.STATEMENT_SUFFIX,a),b.INDENT));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";return c+
185
+ "}\n"},text$$module$build$src$generators$javascript$text=function(a,b){return[b.quote_(a.getFieldValue("TEXT")),Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC]},text_join$$module$build$src$generators$javascript$text=function(a,b){switch(a.itemCount_){case 0:return["''",Order$$module$build$src$generators$javascript$javascript_generator.ATOMIC];case 1:return a=b.valueToCode(a,"ADD0",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"''",forceString$$module$build$src$generators$javascript$text(a);
186
+ case 2:var c=b.valueToCode(a,"ADD0",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"''";a=b.valueToCode(a,"ADD1",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"''";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];default:c=Array(a.itemCount_);for(let d=0;d<a.itemCount_;d++)c[d]=
187
+ b.valueToCode(a,"ADD"+d,Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"''";return["["+c.join(",")+"].join('')",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL]}},text_append$$module$build$src$generators$javascript$text=function(a,b){const c=b.getVariableName(a.getFieldValue("VAR"));a=b.valueToCode(a,"TEXT",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"''";return c+" += "+forceString$$module$build$src$generators$javascript$text(a)[0]+
188
+ ";\n"},text_length$$module$build$src$generators$javascript$text=function(a,b){return[(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$javascript$javascript_generator.MEMBER)||"''")+".length",Order$$module$build$src$generators$javascript$javascript_generator.MEMBER]},text_isEmpty$$module$build$src$generators$javascript$text=function(a,b){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]},
189
+ text_indexOf$$module$build$src$generators$javascript$text=function(a,b){const c="FIRST"===a.getFieldValue("END")?"indexOf":"lastIndexOf",d=b.valueToCode(a,"FIND",Order$$module$build$src$generators$javascript$javascript_generator.NONE)||"''";b=(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$javascript$javascript_generator.MEMBER)||"''")+"."+c+"("+d+")";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]},
190
+ text_charAt$$module$build$src$generators$javascript$text=function(a,b){const c=a.getFieldValue("WHERE")||"FROM_START",d=b.valueToCode(a,"VALUE","RANDOM"===c?Order$$module$build$src$generators$javascript$javascript_generator.NONE:Order$$module$build$src$generators$javascript$javascript_generator.MEMBER)||"''";switch(c){case "FIRST":return[d+".charAt(0)",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];case "LAST":return[d+".slice(-1)",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];
191
+ case "FROM_START":return a=b.getAdjusted(a,"AT"),[d+".charAt("+a+")",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];case "FROM_END":return a=b.getAdjusted(a,"AT",1,!0),[d+".slice("+a+").charAt(0)",Order$$module$build$src$generators$javascript$javascript_generator.FUNCTION_CALL];case "RANDOM":return[b.provideFunction_("textRandomLetter",`
227
192
  function ${b.FUNCTION_NAME_PLACEHOLDER_}(text) {
228
193
  var x = Math.floor(Math.random() * text.length);
229
194
  return text[x];
@@ -273,7 +238,7 @@ for(c=0;c<a.length;c++)b.push(this.nameDB_.getName(a[c].getId(),$.NameType$$modu
273
238
  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
239
  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
240
  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;
241
+ module$build$src$generators$javascript$javascript_generator.Order=Order$$module$build$src$generators$javascript$javascript_generator;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;
277
242
  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;
278
243
  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;
279
244
  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;
@@ -287,10 +252,10 @@ module$build$src$generators$javascript$procedures.procedures_defnoreturn=procedu
287
252
  "FROM_END"===b?a+".length - 1 - "+c:"LAST"===b?a+".length - 1":c},text_prompt$$module$build$src$generators$javascript$text=text_prompt_ext$$module$build$src$generators$javascript$text,module$build$src$generators$javascript$text={};module$build$src$generators$javascript$text.text=text$$module$build$src$generators$javascript$text;module$build$src$generators$javascript$text.text_append=text_append$$module$build$src$generators$javascript$text;
288
253
  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;
289
254
  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;
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;
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;
255
+ 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;module$build$src$generators$javascript$text.text_replace=text_replace$$module$build$src$generators$javascript$text;
256
+ 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$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,module$build$src$generators$javascript$variables,
257
+ 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;module$build$src$generators$javascript.Order=Order$$module$build$src$generators$javascript$javascript_generator;
258
+ module$build$src$generators$javascript.javascriptGenerator=javascriptGenerator$$module$build$src$generators$javascript;
294
259
  module$build$src$generators$javascript.__namespace__=$;
295
260
  return module$build$src$generators$javascript;
296
261
  }));