nodeskini 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (534) hide show
  1. package/blocklySkini/archive/blocklyControleur.js +87 -0
  2. package/blocklySkini/archive/blocklySkini.js +84 -0
  3. package/blocklySkini/archive/blocklyhop.js +75 -0
  4. package/blocklySkini/archive/clientControleurBlocly.js +170 -0
  5. package/blocklySkini/archive/index.html +76 -0
  6. package/blocklySkini/archive/testHHsuspend.txt +89 -0
  7. package/blocklySkini/archive/testHHtrap.txt +262 -0
  8. package/blocklySkini/archive/testOrchestration.txt +177 -0
  9. package/blocklySkini/archive/testOrchestration.xml +447 -0
  10. package/blocklySkini/archive/testOrchestration2.xml +456 -0
  11. package/blocklySkini/blockly/README.md +77 -0
  12. package/blocklySkini/blockly/blockly.d.ts +21480 -0
  13. package/blocklySkini/blockly/blockly.js +25 -0
  14. package/blocklySkini/blockly/blockly.min.js +2188 -0
  15. package/blocklySkini/blockly/blockly_compressed.js +1455 -0
  16. package/blocklySkini/blockly/blockly_compressed.js.map +1 -0
  17. package/blocklySkini/blockly/blocks/colour.js +122 -0
  18. package/blocklySkini/blockly/blocks/lists.js +862 -0
  19. package/blocklySkini/blockly/blocks/logic.js +635 -0
  20. package/blocklySkini/blockly/blocks/loops.js +357 -0
  21. package/blocklySkini/blockly/blocks/math.js +566 -0
  22. package/blocklySkini/blockly/blocks/procedures.js +1072 -0
  23. package/blocklySkini/blockly/blocks/text.js +923 -0
  24. package/blocklySkini/blockly/blocks/variables.js +163 -0
  25. package/blocklySkini/blockly/blocks/variables_dynamic.js +180 -0
  26. package/blocklySkini/blockly/blocks.d.ts +15 -0
  27. package/blocklySkini/blockly/blocks.js +27 -0
  28. package/blocklySkini/blockly/blocks_compressed.js +182 -0
  29. package/blocklySkini/blockly/blocks_compressed.js.map +1 -0
  30. package/blocklySkini/blockly/browser.js +36 -0
  31. package/blocklySkini/blockly/core/block.js +2010 -0
  32. package/blocklySkini/blockly/core/block_animations.js +203 -0
  33. package/blocklySkini/blockly/core/block_drag_surface.js +212 -0
  34. package/blocklySkini/blockly/core/block_dragger.js +378 -0
  35. package/blocklySkini/blockly/core/block_events.js +548 -0
  36. package/blocklySkini/blockly/core/block_svg.js +1763 -0
  37. package/blocklySkini/blockly/core/blockly.js +674 -0
  38. package/blocklySkini/blockly/core/blocks.js +23 -0
  39. package/blocklySkini/blockly/core/bubble.js +880 -0
  40. package/blocklySkini/blockly/core/bubble_dragger.js +274 -0
  41. package/blocklySkini/blockly/core/comment.js +439 -0
  42. package/blocklySkini/blockly/core/components/component.js +554 -0
  43. package/blocklySkini/blockly/core/components/tree/basenode.js +895 -0
  44. package/blocklySkini/blockly/core/components/tree/treecontrol.js +332 -0
  45. package/blocklySkini/blockly/core/components/tree/treenode.js +172 -0
  46. package/blocklySkini/blockly/core/connection.js +682 -0
  47. package/blocklySkini/blockly/core/connection_checker.js +285 -0
  48. package/blocklySkini/blockly/core/connection_db.js +295 -0
  49. package/blocklySkini/blockly/core/constants.js +277 -0
  50. package/blocklySkini/blockly/core/contextmenu.js +307 -0
  51. package/blocklySkini/blockly/core/contextmenu_items.js +534 -0
  52. package/blocklySkini/blockly/core/contextmenu_registry.js +165 -0
  53. package/blocklySkini/blockly/core/css.js +549 -0
  54. package/blocklySkini/blockly/core/dropdowndiv.js +776 -0
  55. package/blocklySkini/blockly/core/events.js +387 -0
  56. package/blocklySkini/blockly/core/events_abstract.js +106 -0
  57. package/blocklySkini/blockly/core/extensions.js +450 -0
  58. package/blocklySkini/blockly/core/field.js +1162 -0
  59. package/blocklySkini/blockly/core/field_angle.js +562 -0
  60. package/blocklySkini/blockly/core/field_checkbox.js +220 -0
  61. package/blocklySkini/blockly/core/field_colour.js +664 -0
  62. package/blocklySkini/blockly/core/field_dropdown.js +760 -0
  63. package/blocklySkini/blockly/core/field_image.js +286 -0
  64. package/blocklySkini/blockly/core/field_label.js +130 -0
  65. package/blocklySkini/blockly/core/field_label_serializable.js +69 -0
  66. package/blocklySkini/blockly/core/field_multilineinput.js +299 -0
  67. package/blocklySkini/blockly/core/field_number.js +317 -0
  68. package/blocklySkini/blockly/core/field_registry.js +66 -0
  69. package/blocklySkini/blockly/core/field_textinput.js +616 -0
  70. package/blocklySkini/blockly/core/field_variable.js +463 -0
  71. package/blocklySkini/blockly/core/flyout_base.js +1071 -0
  72. package/blocklySkini/blockly/core/flyout_button.js +325 -0
  73. package/blocklySkini/blockly/core/flyout_dragger.js +76 -0
  74. package/blocklySkini/blockly/core/flyout_horizontal.js +388 -0
  75. package/blocklySkini/blockly/core/flyout_vertical.js +397 -0
  76. package/blocklySkini/blockly/core/generator.js +482 -0
  77. package/blocklySkini/blockly/core/gesture.js +993 -0
  78. package/blocklySkini/blockly/core/grid.js +222 -0
  79. package/blocklySkini/blockly/core/icon.js +206 -0
  80. package/blocklySkini/blockly/core/inject.js +487 -0
  81. package/blocklySkini/blockly/core/input.js +296 -0
  82. package/blocklySkini/blockly/core/insertion_marker_manager.js +700 -0
  83. package/blocklySkini/blockly/core/interfaces/i_accessibility.js +72 -0
  84. package/blocklySkini/blockly/core/interfaces/i_bounded_element.js +31 -0
  85. package/blocklySkini/blockly/core/interfaces/i_bubble.js +83 -0
  86. package/blocklySkini/blockly/core/interfaces/i_connection_checker.js +94 -0
  87. package/blocklySkini/blockly/core/interfaces/i_contextmenu.js +26 -0
  88. package/blocklySkini/blockly/core/interfaces/i_copyable.js +40 -0
  89. package/blocklySkini/blockly/core/interfaces/i_deletable.js +27 -0
  90. package/blocklySkini/blockly/core/interfaces/i_deletearea.js +28 -0
  91. package/blocklySkini/blockly/core/interfaces/i_flyout.js +178 -0
  92. package/blocklySkini/blockly/core/interfaces/i_movable.js +27 -0
  93. package/blocklySkini/blockly/core/interfaces/i_registrable.js +22 -0
  94. package/blocklySkini/blockly/core/interfaces/i_registrable_field.js +31 -0
  95. package/blocklySkini/blockly/core/interfaces/i_selectable.js +43 -0
  96. package/blocklySkini/blockly/core/interfaces/i_styleable.js +33 -0
  97. package/blocklySkini/blockly/core/interfaces/i_toolbox.js +131 -0
  98. package/blocklySkini/blockly/core/interfaces/i_toolbox_item.js +148 -0
  99. package/blocklySkini/blockly/core/keyboard_nav/action.js +26 -0
  100. package/blocklySkini/blockly/core/keyboard_nav/ast_node.js +684 -0
  101. package/blocklySkini/blockly/core/keyboard_nav/basic_cursor.js +208 -0
  102. package/blocklySkini/blockly/core/keyboard_nav/cursor.js +170 -0
  103. package/blocklySkini/blockly/core/keyboard_nav/flyout_cursor.js +106 -0
  104. package/blocklySkini/blockly/core/keyboard_nav/key_map.js +190 -0
  105. package/blocklySkini/blockly/core/keyboard_nav/marker.js +120 -0
  106. package/blocklySkini/blockly/core/keyboard_nav/navigation.js +1084 -0
  107. package/blocklySkini/blockly/core/keyboard_nav/tab_navigate_cursor.js +48 -0
  108. package/blocklySkini/blockly/core/marker_manager.js +183 -0
  109. package/blocklySkini/blockly/core/menu.js +465 -0
  110. package/blocklySkini/blockly/core/menuitem.js +280 -0
  111. package/blocklySkini/blockly/core/msg.js +31 -0
  112. package/blocklySkini/blockly/core/mutator.js +555 -0
  113. package/blocklySkini/blockly/core/names.js +186 -0
  114. package/blocklySkini/blockly/core/options.js +365 -0
  115. package/blocklySkini/blockly/core/procedures.js +404 -0
  116. package/blocklySkini/blockly/core/registry.js +265 -0
  117. package/blocklySkini/blockly/core/rendered_connection.js +565 -0
  118. package/blocklySkini/blockly/core/renderers/common/block_rendering.js +81 -0
  119. package/blocklySkini/blockly/core/renderers/common/constants.js +1256 -0
  120. package/blocklySkini/blockly/core/renderers/common/debugger.js +431 -0
  121. package/blocklySkini/blockly/core/renderers/common/drawer.js +468 -0
  122. package/blocklySkini/blockly/core/renderers/common/i_path_object.js +151 -0
  123. package/blocklySkini/blockly/core/renderers/common/info.js +775 -0
  124. package/blocklySkini/blockly/core/renderers/common/marker_svg.js +687 -0
  125. package/blocklySkini/blockly/core/renderers/common/path_object.js +279 -0
  126. package/blocklySkini/blockly/core/renderers/common/renderer.js +301 -0
  127. package/blocklySkini/blockly/core/renderers/geras/constants.js +64 -0
  128. package/blocklySkini/blockly/core/renderers/geras/drawer.js +205 -0
  129. package/blocklySkini/blockly/core/renderers/geras/highlight_constants.js +311 -0
  130. package/blocklySkini/blockly/core/renderers/geras/highlighter.js +256 -0
  131. package/blocklySkini/blockly/core/renderers/geras/info.js +483 -0
  132. package/blocklySkini/blockly/core/renderers/geras/measurables/inputs.js +67 -0
  133. package/blocklySkini/blockly/core/renderers/geras/path_object.js +177 -0
  134. package/blocklySkini/blockly/core/renderers/geras/renderer.js +138 -0
  135. package/blocklySkini/blockly/core/renderers/measurables/base.js +44 -0
  136. package/blocklySkini/blockly/core/renderers/measurables/connections.js +114 -0
  137. package/blocklySkini/blockly/core/renderers/measurables/inputs.js +160 -0
  138. package/blocklySkini/blockly/core/renderers/measurables/row_elements.js +185 -0
  139. package/blocklySkini/blockly/core/renderers/measurables/rows.js +532 -0
  140. package/blocklySkini/blockly/core/renderers/measurables/types.js +349 -0
  141. package/blocklySkini/blockly/core/renderers/minimalist/constants.js +29 -0
  142. package/blocklySkini/blockly/core/renderers/minimalist/drawer.js +32 -0
  143. package/blocklySkini/blockly/core/renderers/minimalist/info.js +45 -0
  144. package/blocklySkini/blockly/core/renderers/minimalist/renderer.js +70 -0
  145. package/blocklySkini/blockly/core/renderers/thrasos/info.js +338 -0
  146. package/blocklySkini/blockly/core/renderers/thrasos/renderer.js +45 -0
  147. package/blocklySkini/blockly/core/renderers/zelos/constants.js +1002 -0
  148. package/blocklySkini/blockly/core/renderers/zelos/drawer.js +233 -0
  149. package/blocklySkini/blockly/core/renderers/zelos/info.js +587 -0
  150. package/blocklySkini/blockly/core/renderers/zelos/marker_svg.js +148 -0
  151. package/blocklySkini/blockly/core/renderers/zelos/measurables/inputs.js +47 -0
  152. package/blocklySkini/blockly/core/renderers/zelos/measurables/row_elements.js +37 -0
  153. package/blocklySkini/blockly/core/renderers/zelos/measurables/rows.js +108 -0
  154. package/blocklySkini/blockly/core/renderers/zelos/path_object.js +244 -0
  155. package/blocklySkini/blockly/core/renderers/zelos/renderer.js +130 -0
  156. package/blocklySkini/blockly/core/requires.js +84 -0
  157. package/blocklySkini/blockly/core/scrollbar.js +880 -0
  158. package/blocklySkini/blockly/core/theme/classic.js +87 -0
  159. package/blocklySkini/blockly/core/theme/dark.js +33 -0
  160. package/blocklySkini/blockly/core/theme/deuteranopia.js +104 -0
  161. package/blocklySkini/blockly/core/theme/highcontrast.js +119 -0
  162. package/blocklySkini/blockly/core/theme/modern.js +108 -0
  163. package/blocklySkini/blockly/core/theme/tritanopia.js +103 -0
  164. package/blocklySkini/blockly/core/theme/zelos.js +106 -0
  165. package/blocklySkini/blockly/core/theme.js +236 -0
  166. package/blocklySkini/blockly/core/theme_manager.js +197 -0
  167. package/blocklySkini/blockly/core/toolbox/category.js +690 -0
  168. package/blocklySkini/blockly/core/toolbox/collapsible_category.js +294 -0
  169. package/blocklySkini/blockly/core/toolbox/separator.js +123 -0
  170. package/blocklySkini/blockly/core/toolbox/toolbox.js +984 -0
  171. package/blocklySkini/blockly/core/toolbox/toolbox_item.js +145 -0
  172. package/blocklySkini/blockly/core/toolbox.js +943 -0
  173. package/blocklySkini/blockly/core/tooltip.js +387 -0
  174. package/blocklySkini/blockly/core/touch.js +255 -0
  175. package/blocklySkini/blockly/core/touch_gesture.js +325 -0
  176. package/blocklySkini/blockly/core/trashcan.js +661 -0
  177. package/blocklySkini/blockly/core/ui_events.js +85 -0
  178. package/blocklySkini/blockly/core/utils/aria.js +167 -0
  179. package/blocklySkini/blockly/core/utils/colour.js +208 -0
  180. package/blocklySkini/blockly/core/utils/coordinate.js +125 -0
  181. package/blocklySkini/blockly/core/utils/deprecation.js +34 -0
  182. package/blocklySkini/blockly/core/utils/dom.js +391 -0
  183. package/blocklySkini/blockly/core/utils/global.js +37 -0
  184. package/blocklySkini/blockly/core/utils/idgenerator.js +33 -0
  185. package/blocklySkini/blockly/core/utils/keycodes.js +164 -0
  186. package/blocklySkini/blockly/core/utils/math.js +56 -0
  187. package/blocklySkini/blockly/core/utils/metrics.js +124 -0
  188. package/blocklySkini/blockly/core/utils/object.js +73 -0
  189. package/blocklySkini/blockly/core/utils/rect.js +54 -0
  190. package/blocklySkini/blockly/core/utils/size.js +58 -0
  191. package/blocklySkini/blockly/core/utils/string.js +284 -0
  192. package/blocklySkini/blockly/core/utils/style.js +281 -0
  193. package/blocklySkini/blockly/core/utils/svg.js +181 -0
  194. package/blocklySkini/blockly/core/utils/svg_paths.js +142 -0
  195. package/blocklySkini/blockly/core/utils/toolbox.js +401 -0
  196. package/blocklySkini/blockly/core/utils/useragent.js +110 -0
  197. package/blocklySkini/blockly/core/utils/xml.js +79 -0
  198. package/blocklySkini/blockly/core/utils.js +652 -0
  199. package/blocklySkini/blockly/core/variable_events.js +248 -0
  200. package/blocklySkini/blockly/core/variable_map.js +414 -0
  201. package/blocklySkini/blockly/core/variable_model.js +95 -0
  202. package/blocklySkini/blockly/core/variables.js +571 -0
  203. package/blocklySkini/blockly/core/variables_dynamic.js +100 -0
  204. package/blocklySkini/blockly/core/warning.js +200 -0
  205. package/blocklySkini/blockly/core/widgetdiv.js +241 -0
  206. package/blocklySkini/blockly/core/workspace.js +786 -0
  207. package/blocklySkini/blockly/core/workspace_audio.js +153 -0
  208. package/blocklySkini/blockly/core/workspace_comment.js +373 -0
  209. package/blocklySkini/blockly/core/workspace_comment_render_svg.js +461 -0
  210. package/blocklySkini/blockly/core/workspace_comment_svg.js +701 -0
  211. package/blocklySkini/blockly/core/workspace_drag_surface_svg.js +176 -0
  212. package/blocklySkini/blockly/core/workspace_dragger.js +85 -0
  213. package/blocklySkini/blockly/core/workspace_events.js +93 -0
  214. package/blocklySkini/blockly/core/workspace_svg.js +2661 -0
  215. package/blocklySkini/blockly/core/ws_comment_events.js +417 -0
  216. package/blocklySkini/blockly/core/xml.js +827 -0
  217. package/blocklySkini/blockly/core/zoom_controls.js +449 -0
  218. package/blocklySkini/blockly/core-browser.js +34 -0
  219. package/blocklySkini/blockly/core.d.ts +15 -0
  220. package/blocklySkini/blockly/core.js +38 -0
  221. package/blocklySkini/blockly/dart.d.ts +15 -0
  222. package/blocklySkini/blockly/dart.js +27 -0
  223. package/blocklySkini/blockly/dart_compressed.js +114 -0
  224. package/blocklySkini/blockly/dart_compressed.js.map +1 -0
  225. package/blocklySkini/blockly/generators/dart/colour.js +114 -0
  226. package/blocklySkini/blockly/generators/dart/lists.js +447 -0
  227. package/blocklySkini/blockly/generators/dart/logic.js +127 -0
  228. package/blocklySkini/blockly/generators/dart/loops.js +169 -0
  229. package/blocklySkini/blockly/generators/dart/math.js +485 -0
  230. package/blocklySkini/blockly/generators/dart/procedures.js +111 -0
  231. package/blocklySkini/blockly/generators/dart/text.js +339 -0
  232. package/blocklySkini/blockly/generators/dart/variables.js +32 -0
  233. package/blocklySkini/blockly/generators/dart/variables_dynamic.js +21 -0
  234. package/blocklySkini/blockly/generators/dart.js +290 -0
  235. package/blocklySkini/blockly/generators/javascript/colour.js +89 -0
  236. package/blocklySkini/blockly/generators/javascript/lists.js +388 -0
  237. package/blocklySkini/blockly/generators/javascript/logic.js +129 -0
  238. package/blocklySkini/blockly/generators/javascript/loops.js +184 -0
  239. package/blocklySkini/blockly/generators/javascript/math.js +409 -0
  240. package/blocklySkini/blockly/generators/javascript/procedures.js +113 -0
  241. package/blocklySkini/blockly/generators/javascript/text.js +367 -0
  242. package/blocklySkini/blockly/generators/javascript/variables.js +32 -0
  243. package/blocklySkini/blockly/generators/javascript/variables_dynamic.js +23 -0
  244. package/blocklySkini/blockly/generators/javascript.js +317 -0
  245. package/blocklySkini/blockly/generators/lua/colour.js +76 -0
  246. package/blocklySkini/blockly/generators/lua/lists.js +368 -0
  247. package/blocklySkini/blockly/generators/lua/logic.js +127 -0
  248. package/blocklySkini/blockly/generators/lua/loops.js +173 -0
  249. package/blocklySkini/blockly/generators/lua/math.js +423 -0
  250. package/blocklySkini/blockly/generators/lua/procedures.js +113 -0
  251. package/blocklySkini/blockly/generators/lua/text.js +353 -0
  252. package/blocklySkini/blockly/generators/lua/variables.js +32 -0
  253. package/blocklySkini/blockly/generators/lua/variables_dynamic.js +21 -0
  254. package/blocklySkini/blockly/generators/lua.js +198 -0
  255. package/blocklySkini/blockly/generators/php/colour.js +91 -0
  256. package/blocklySkini/blockly/generators/php/lists.js +498 -0
  257. package/blocklySkini/blockly/generators/php/logic.js +128 -0
  258. package/blocklySkini/blockly/generators/php/loops.js +170 -0
  259. package/blocklySkini/blockly/generators/php/math.js +370 -0
  260. package/blocklySkini/blockly/generators/php/procedures.js +132 -0
  261. package/blocklySkini/blockly/generators/php/text.js +271 -0
  262. package/blocklySkini/blockly/generators/php/variables.js +32 -0
  263. package/blocklySkini/blockly/generators/php/variables_dynamic.js +21 -0
  264. package/blocklySkini/blockly/generators/php.js +318 -0
  265. package/blocklySkini/blockly/generators/python/colour.js +72 -0
  266. package/blocklySkini/blockly/generators/python/lists.js +349 -0
  267. package/blocklySkini/blockly/generators/python/logic.js +127 -0
  268. package/blocklySkini/blockly/generators/python/loops.js +214 -0
  269. package/blocklySkini/blockly/generators/python/math.js +385 -0
  270. package/blocklySkini/blockly/generators/python/procedures.js +134 -0
  271. package/blocklySkini/blockly/generators/python/text.js +293 -0
  272. package/blocklySkini/blockly/generators/python/variables.js +32 -0
  273. package/blocklySkini/blockly/generators/python/variables_dynamic.js +21 -0
  274. package/blocklySkini/blockly/generators/python.js +322 -0
  275. package/blocklySkini/blockly/index.d.ts +22 -0
  276. package/blocklySkini/blockly/index.js +24 -0
  277. package/blocklySkini/blockly/javascript.d.ts +15 -0
  278. package/blocklySkini/blockly/javascript.js +27 -0
  279. package/blocklySkini/blockly/javascript_compressed.js +115 -0
  280. package/blocklySkini/blockly/javascript_compressed.js.map +1 -0
  281. package/blocklySkini/blockly/lua.d.ts +15 -0
  282. package/blocklySkini/blockly/lua.js +27 -0
  283. package/blocklySkini/blockly/lua_compressed.js +94 -0
  284. package/blocklySkini/blockly/lua_compressed.js.map +1 -0
  285. package/blocklySkini/blockly/media/1x1.gif +0 -0
  286. package/blocklySkini/blockly/media/click.mp3 +0 -0
  287. package/blocklySkini/blockly/media/click.ogg +0 -0
  288. package/blocklySkini/blockly/media/click.wav +0 -0
  289. package/blocklySkini/blockly/media/delete.mp3 +0 -0
  290. package/blocklySkini/blockly/media/delete.ogg +0 -0
  291. package/blocklySkini/blockly/media/delete.wav +0 -0
  292. package/blocklySkini/blockly/media/disconnect.mp3 +0 -0
  293. package/blocklySkini/blockly/media/disconnect.ogg +0 -0
  294. package/blocklySkini/blockly/media/disconnect.wav +0 -0
  295. package/blocklySkini/blockly/media/dropdown-arrow.svg +1 -0
  296. package/blocklySkini/blockly/media/handclosed.cur +0 -0
  297. package/blocklySkini/blockly/media/handdelete.cur +0 -0
  298. package/blocklySkini/blockly/media/handopen.cur +0 -0
  299. package/blocklySkini/blockly/media/pilcrow.png +0 -0
  300. package/blocklySkini/blockly/media/quote0.png +0 -0
  301. package/blocklySkini/blockly/media/quote1.png +0 -0
  302. package/blocklySkini/blockly/media/sprites.png +0 -0
  303. package/blocklySkini/blockly/media/sprites.svg +74 -0
  304. package/blocklySkini/blockly/msg/ab.d.ts +16 -0
  305. package/blocklySkini/blockly/msg/ab.js +447 -0
  306. package/blocklySkini/blockly/msg/ar.d.ts +16 -0
  307. package/blocklySkini/blockly/msg/ar.js +447 -0
  308. package/blocklySkini/blockly/msg/az.d.ts +16 -0
  309. package/blocklySkini/blockly/msg/az.js +447 -0
  310. package/blocklySkini/blockly/msg/ba.d.ts +16 -0
  311. package/blocklySkini/blockly/msg/ba.js +447 -0
  312. package/blocklySkini/blockly/msg/bcc.d.ts +16 -0
  313. package/blocklySkini/blockly/msg/bcc.js +447 -0
  314. package/blocklySkini/blockly/msg/be-tarask.d.ts +16 -0
  315. package/blocklySkini/blockly/msg/be-tarask.js +447 -0
  316. package/blocklySkini/blockly/msg/be.d.ts +16 -0
  317. package/blocklySkini/blockly/msg/be.js +447 -0
  318. package/blocklySkini/blockly/msg/bg.d.ts +16 -0
  319. package/blocklySkini/blockly/msg/bg.js +447 -0
  320. package/blocklySkini/blockly/msg/bn.d.ts +16 -0
  321. package/blocklySkini/blockly/msg/bn.js +447 -0
  322. package/blocklySkini/blockly/msg/br.d.ts +16 -0
  323. package/blocklySkini/blockly/msg/br.js +447 -0
  324. package/blocklySkini/blockly/msg/ca.d.ts +16 -0
  325. package/blocklySkini/blockly/msg/ca.js +447 -0
  326. package/blocklySkini/blockly/msg/constants.d.ts +16 -0
  327. package/blocklySkini/blockly/msg/cs.d.ts +16 -0
  328. package/blocklySkini/blockly/msg/cs.js +447 -0
  329. package/blocklySkini/blockly/msg/da.d.ts +16 -0
  330. package/blocklySkini/blockly/msg/da.js +447 -0
  331. package/blocklySkini/blockly/msg/de.d.ts +16 -0
  332. package/blocklySkini/blockly/msg/de.js +447 -0
  333. package/blocklySkini/blockly/msg/diq.d.ts +16 -0
  334. package/blocklySkini/blockly/msg/diq.js +447 -0
  335. package/blocklySkini/blockly/msg/dty.d.ts +16 -0
  336. package/blocklySkini/blockly/msg/dty.js +447 -0
  337. package/blocklySkini/blockly/msg/ee.d.ts +16 -0
  338. package/blocklySkini/blockly/msg/ee.js +447 -0
  339. package/blocklySkini/blockly/msg/el.d.ts +16 -0
  340. package/blocklySkini/blockly/msg/el.js +447 -0
  341. package/blocklySkini/blockly/msg/en-gb.d.ts +16 -0
  342. package/blocklySkini/blockly/msg/en-gb.js +447 -0
  343. package/blocklySkini/blockly/msg/en.d.ts +16 -0
  344. package/blocklySkini/blockly/msg/en.js +447 -0
  345. package/blocklySkini/blockly/msg/eo.d.ts +16 -0
  346. package/blocklySkini/blockly/msg/eo.js +447 -0
  347. package/blocklySkini/blockly/msg/es.d.ts +16 -0
  348. package/blocklySkini/blockly/msg/es.js +447 -0
  349. package/blocklySkini/blockly/msg/et.d.ts +16 -0
  350. package/blocklySkini/blockly/msg/et.js +447 -0
  351. package/blocklySkini/blockly/msg/eu.d.ts +16 -0
  352. package/blocklySkini/blockly/msg/eu.js +447 -0
  353. package/blocklySkini/blockly/msg/fa.d.ts +16 -0
  354. package/blocklySkini/blockly/msg/fa.js +447 -0
  355. package/blocklySkini/blockly/msg/fi.d.ts +16 -0
  356. package/blocklySkini/blockly/msg/fi.js +447 -0
  357. package/blocklySkini/blockly/msg/fr.d.ts +16 -0
  358. package/blocklySkini/blockly/msg/fr.js +447 -0
  359. package/blocklySkini/blockly/msg/gl.d.ts +16 -0
  360. package/blocklySkini/blockly/msg/gl.js +447 -0
  361. package/blocklySkini/blockly/msg/gor.d.ts +16 -0
  362. package/blocklySkini/blockly/msg/gor.js +447 -0
  363. package/blocklySkini/blockly/msg/ha.d.ts +16 -0
  364. package/blocklySkini/blockly/msg/ha.js +447 -0
  365. package/blocklySkini/blockly/msg/he.d.ts +16 -0
  366. package/blocklySkini/blockly/msg/he.js +447 -0
  367. package/blocklySkini/blockly/msg/hi.d.ts +16 -0
  368. package/blocklySkini/blockly/msg/hi.js +447 -0
  369. package/blocklySkini/blockly/msg/hrx.d.ts +16 -0
  370. package/blocklySkini/blockly/msg/hrx.js +447 -0
  371. package/blocklySkini/blockly/msg/hu.d.ts +16 -0
  372. package/blocklySkini/blockly/msg/hu.js +447 -0
  373. package/blocklySkini/blockly/msg/hy.d.ts +16 -0
  374. package/blocklySkini/blockly/msg/hy.js +447 -0
  375. package/blocklySkini/blockly/msg/ia.d.ts +16 -0
  376. package/blocklySkini/blockly/msg/ia.js +447 -0
  377. package/blocklySkini/blockly/msg/id.d.ts +16 -0
  378. package/blocklySkini/blockly/msg/id.js +447 -0
  379. package/blocklySkini/blockly/msg/ig.d.ts +16 -0
  380. package/blocklySkini/blockly/msg/ig.js +447 -0
  381. package/blocklySkini/blockly/msg/is.d.ts +16 -0
  382. package/blocklySkini/blockly/msg/is.js +447 -0
  383. package/blocklySkini/blockly/msg/it.d.ts +16 -0
  384. package/blocklySkini/blockly/msg/it.js +447 -0
  385. package/blocklySkini/blockly/msg/ja.d.ts +16 -0
  386. package/blocklySkini/blockly/msg/ja.js +447 -0
  387. package/blocklySkini/blockly/msg/kab.d.ts +16 -0
  388. package/blocklySkini/blockly/msg/kab.js +447 -0
  389. package/blocklySkini/blockly/msg/kn.d.ts +16 -0
  390. package/blocklySkini/blockly/msg/kn.js +447 -0
  391. package/blocklySkini/blockly/msg/ko.d.ts +16 -0
  392. package/blocklySkini/blockly/msg/ko.js +447 -0
  393. package/blocklySkini/blockly/msg/lb.d.ts +16 -0
  394. package/blocklySkini/blockly/msg/lb.js +447 -0
  395. package/blocklySkini/blockly/msg/lki.d.ts +16 -0
  396. package/blocklySkini/blockly/msg/lki.js +447 -0
  397. package/blocklySkini/blockly/msg/lo.d.ts +16 -0
  398. package/blocklySkini/blockly/msg/lo.js +447 -0
  399. package/blocklySkini/blockly/msg/lrc.d.ts +16 -0
  400. package/blocklySkini/blockly/msg/lrc.js +447 -0
  401. package/blocklySkini/blockly/msg/lt.d.ts +16 -0
  402. package/blocklySkini/blockly/msg/lt.js +447 -0
  403. package/blocklySkini/blockly/msg/lv.d.ts +16 -0
  404. package/blocklySkini/blockly/msg/lv.js +447 -0
  405. package/blocklySkini/blockly/msg/mk.d.ts +16 -0
  406. package/blocklySkini/blockly/msg/mk.js +447 -0
  407. package/blocklySkini/blockly/msg/mnw.d.ts +16 -0
  408. package/blocklySkini/blockly/msg/mnw.js +447 -0
  409. package/blocklySkini/blockly/msg/ms.d.ts +16 -0
  410. package/blocklySkini/blockly/msg/ms.js +447 -0
  411. package/blocklySkini/blockly/msg/msg.d.ts +444 -0
  412. package/blocklySkini/blockly/msg/nb.d.ts +16 -0
  413. package/blocklySkini/blockly/msg/nb.js +447 -0
  414. package/blocklySkini/blockly/msg/nl.d.ts +16 -0
  415. package/blocklySkini/blockly/msg/nl.js +447 -0
  416. package/blocklySkini/blockly/msg/oc.d.ts +16 -0
  417. package/blocklySkini/blockly/msg/oc.js +447 -0
  418. package/blocklySkini/blockly/msg/pl.d.ts +16 -0
  419. package/blocklySkini/blockly/msg/pl.js +447 -0
  420. package/blocklySkini/blockly/msg/pms.d.ts +16 -0
  421. package/blocklySkini/blockly/msg/pms.js +447 -0
  422. package/blocklySkini/blockly/msg/pt-br.d.ts +16 -0
  423. package/blocklySkini/blockly/msg/pt-br.js +447 -0
  424. package/blocklySkini/blockly/msg/pt.d.ts +16 -0
  425. package/blocklySkini/blockly/msg/pt.js +447 -0
  426. package/blocklySkini/blockly/msg/qqq.d.ts +16 -0
  427. package/blocklySkini/blockly/msg/ro.d.ts +16 -0
  428. package/blocklySkini/blockly/msg/ro.js +447 -0
  429. package/blocklySkini/blockly/msg/ru.d.ts +16 -0
  430. package/blocklySkini/blockly/msg/ru.js +447 -0
  431. package/blocklySkini/blockly/msg/sc.d.ts +16 -0
  432. package/blocklySkini/blockly/msg/sc.js +447 -0
  433. package/blocklySkini/blockly/msg/sd.d.ts +16 -0
  434. package/blocklySkini/blockly/msg/sd.js +447 -0
  435. package/blocklySkini/blockly/msg/shn.d.ts +16 -0
  436. package/blocklySkini/blockly/msg/shn.js +447 -0
  437. package/blocklySkini/blockly/msg/sk.d.ts +16 -0
  438. package/blocklySkini/blockly/msg/sk.js +447 -0
  439. package/blocklySkini/blockly/msg/skr-arab.d.ts +16 -0
  440. package/blocklySkini/blockly/msg/skr-arab.js +447 -0
  441. package/blocklySkini/blockly/msg/sl.d.ts +16 -0
  442. package/blocklySkini/blockly/msg/sl.js +447 -0
  443. package/blocklySkini/blockly/msg/sq.d.ts +16 -0
  444. package/blocklySkini/blockly/msg/sq.js +447 -0
  445. package/blocklySkini/blockly/msg/sr-latn.d.ts +16 -0
  446. package/blocklySkini/blockly/msg/sr-latn.js +447 -0
  447. package/blocklySkini/blockly/msg/sr.d.ts +16 -0
  448. package/blocklySkini/blockly/msg/sr.js +447 -0
  449. package/blocklySkini/blockly/msg/sv.d.ts +16 -0
  450. package/blocklySkini/blockly/msg/sv.js +447 -0
  451. package/blocklySkini/blockly/msg/synonyms.d.ts +16 -0
  452. package/blocklySkini/blockly/msg/ta.d.ts +16 -0
  453. package/blocklySkini/blockly/msg/ta.js +447 -0
  454. package/blocklySkini/blockly/msg/tcy.d.ts +16 -0
  455. package/blocklySkini/blockly/msg/tcy.js +447 -0
  456. package/blocklySkini/blockly/msg/te.d.ts +16 -0
  457. package/blocklySkini/blockly/msg/te.js +447 -0
  458. package/blocklySkini/blockly/msg/th.d.ts +16 -0
  459. package/blocklySkini/blockly/msg/th.js +447 -0
  460. package/blocklySkini/blockly/msg/tl.d.ts +16 -0
  461. package/blocklySkini/blockly/msg/tl.js +447 -0
  462. package/blocklySkini/blockly/msg/tlh.d.ts +16 -0
  463. package/blocklySkini/blockly/msg/tlh.js +447 -0
  464. package/blocklySkini/blockly/msg/tr.d.ts +16 -0
  465. package/blocklySkini/blockly/msg/tr.js +447 -0
  466. package/blocklySkini/blockly/msg/ug-arab.d.ts +16 -0
  467. package/blocklySkini/blockly/msg/ug-arab.js +447 -0
  468. package/blocklySkini/blockly/msg/uk.d.ts +16 -0
  469. package/blocklySkini/blockly/msg/uk.js +447 -0
  470. package/blocklySkini/blockly/msg/ur.d.ts +16 -0
  471. package/blocklySkini/blockly/msg/ur.js +447 -0
  472. package/blocklySkini/blockly/msg/vi.d.ts +16 -0
  473. package/blocklySkini/blockly/msg/vi.js +447 -0
  474. package/blocklySkini/blockly/msg/xmf.d.ts +16 -0
  475. package/blocklySkini/blockly/msg/xmf.js +447 -0
  476. package/blocklySkini/blockly/msg/yo.d.ts +16 -0
  477. package/blocklySkini/blockly/msg/yo.js +447 -0
  478. package/blocklySkini/blockly/msg/zh-hans.d.ts +16 -0
  479. package/blocklySkini/blockly/msg/zh-hans.js +447 -0
  480. package/blocklySkini/blockly/msg/zh-hant.d.ts +16 -0
  481. package/blocklySkini/blockly/msg/zh-hant.js +447 -0
  482. package/blocklySkini/blockly/node.js +35 -0
  483. package/blocklySkini/blockly/package.json +84 -0
  484. package/blocklySkini/blockly/php.d.ts +15 -0
  485. package/blocklySkini/blockly/php.js +27 -0
  486. package/blocklySkini/blockly/php_compressed.js +103 -0
  487. package/blocklySkini/blockly/php_compressed.js.map +1 -0
  488. package/blocklySkini/blockly/python.d.ts +15 -0
  489. package/blocklySkini/blockly/python.js +27 -0
  490. package/blocklySkini/blockly/python_compressed.js +98 -0
  491. package/blocklySkini/blockly/python_compressed.js.map +1 -0
  492. package/blocklySkini/blocklySkini.html +81 -0
  493. package/blocklySkini/orchestrations/.xml +1 -0
  494. package/blocklySkini/orchestrations/BluesSkini-1.xml +231 -0
  495. package/blocklySkini/orchestrations/BluesSkini-2.xml +741 -0
  496. package/blocklySkini/orchestrations/BluesSkini-3.xml +731 -0
  497. package/blocklySkini/orchestrations/BluesSkini-4.xml +695 -0
  498. package/blocklySkini/orchestrations/BluesSkini-5.xml +731 -0
  499. package/blocklySkini/orchestrations/BluesSkini.xml +704 -0
  500. package/blocklySkini/orchestrations/FunkBitwig-1.xml +778 -0
  501. package/blocklySkini/orchestrations/FunkBitwig-2.xml +471 -0
  502. package/blocklySkini/orchestrations/JouerLeBonInstrument1-1.xml +784 -0
  503. package/blocklySkini/orchestrations/MajeurMineur-1.xml +638 -0
  504. package/blocklySkini/orchestrations/Opus5-3 - Copie.xml +1041 -0
  505. package/blocklySkini/orchestrations/Opus5-3.xml +1128 -0
  506. package/blocklySkini/orchestrations/Quatuor1-1.xml +357 -0
  507. package/blocklySkini/orchestrations/TechnoBitwig-1.xml +221 -0
  508. package/blocklySkini/orchestrations/TestBlockly.xml +497 -0
  509. package/blocklySkini/orchestrations/TestBlockly1.xml +500 -0
  510. package/blocklySkini/orchestrations/TestBlockly2.xml +792 -0
  511. package/blocklySkini/orchestrations/TestBlockly3-1.xml +1182 -0
  512. package/blocklySkini/orchestrations/TestBlockly3.xml +1251 -0
  513. package/blocklySkini/orchestrations/TestFunction.xml +143 -0
  514. package/blocklySkini/orchestrations/TestIf.xml +80 -0
  515. package/blocklySkini/orchestrations/TestLoop.xml +127 -0
  516. package/blocklySkini/orchestrations/TestOrchestration2.xml +460 -0
  517. package/blocklySkini/orchestrations/TestPrint.xml +70 -0
  518. package/blocklySkini/orchestrations/TestSubMod.xml +81 -0
  519. package/blocklySkini/orchestrations/Testlogic.xml +113 -0
  520. package/blocklySkini/orchestrations/TrouveLaPercu-1.xml +813 -0
  521. package/blocklySkini/orchestrations/TrouveLaPercu-2.xml +813 -0
  522. package/blocklySkini/orchestrations/bar.xml +496 -0
  523. package/blocklySkini/orchestrations/bar2.xml +496 -0
  524. package/blocklySkini/orchestrations/foo.xml +500 -0
  525. package/blocklySkini/orchestrations/opus5Blockly - Copie.xml +496 -0
  526. package/blocklySkini/orchestrations/opus5Blockly-3.xml +868 -0
  527. package/blocklySkini/orchestrations/opus5Blockly.xml +496 -0
  528. package/blocklySkini/orchestrations/testOrchestration3.xml +483 -0
  529. package/blocklySkini/orchestrations/testOrchestration4.xml +487 -0
  530. package/blocklySkini/scripts/hiphop_blocks.js +6104 -0
  531. package/blocklySkini/scripts/main2.js +801 -0
  532. package/blocklySkini/styles/index.css +320 -0
  533. package/blocklySkini/styles/material.css +11552 -0
  534. package/package.json +5 -5
@@ -0,0 +1,114 @@
1
+ // Do not edit this file; automatically generated by gulp.
2
+
3
+ /* eslint-disable */
4
+ ;(function(root, factory) {
5
+ if (typeof define === 'function' && define.amd) { // AMD
6
+ define(['./blockly_compressed.js'], factory);
7
+ } else if (typeof exports === 'object') { // Node.js
8
+ module.exports = factory(require('./blockly_compressed.js'));
9
+ } else { // Browser
10
+ root.Blockly.Dart = factory(root.Blockly);
11
+ }
12
+ }(this, function(Blockly) {
13
+ 'use strict';Blockly.Dart=new Blockly.Generator("Dart");Blockly.Dart.addReservedWords("assert,break,case,catch,class,const,continue,default,do,else,enum,extends,false,final,finally,for,if,in,is,new,null,rethrow,return,super,switch,this,throw,true,try,var,void,while,with,print,identityHashCode,identical,BidirectionalIterator,Comparable,double,Function,int,Invocation,Iterable,Iterator,List,Map,Match,num,Pattern,RegExp,Set,StackTrace,String,StringSink,Type,bool,DateTime,Deprecated,Duration,Expando,Null,Object,RuneIterator,Runes,Stopwatch,StringBuffer,Symbol,Uri,Comparator,AbstractClassInstantiationError,ArgumentError,AssertionError,CastError,ConcurrentModificationError,CyclicInitializationError,Error,Exception,FallThroughError,FormatException,IntegerDivisionByZeroException,NoSuchMethodError,NullThrownError,OutOfMemoryError,RangeError,StackOverflowError,StateError,TypeError,UnimplementedError,UnsupportedError");
14
+ Blockly.Dart.ORDER_ATOMIC=0;Blockly.Dart.ORDER_UNARY_POSTFIX=1;Blockly.Dart.ORDER_UNARY_PREFIX=2;Blockly.Dart.ORDER_MULTIPLICATIVE=3;Blockly.Dart.ORDER_ADDITIVE=4;Blockly.Dart.ORDER_SHIFT=5;Blockly.Dart.ORDER_BITWISE_AND=6;Blockly.Dart.ORDER_BITWISE_XOR=7;Blockly.Dart.ORDER_BITWISE_OR=8;Blockly.Dart.ORDER_RELATIONAL=9;Blockly.Dart.ORDER_EQUALITY=10;Blockly.Dart.ORDER_LOGICAL_AND=11;Blockly.Dart.ORDER_LOGICAL_OR=12;Blockly.Dart.ORDER_IF_NULL=13;Blockly.Dart.ORDER_CONDITIONAL=14;
15
+ Blockly.Dart.ORDER_CASCADE=15;Blockly.Dart.ORDER_ASSIGNMENT=16;Blockly.Dart.ORDER_NONE=99;
16
+ Blockly.Dart.init=function(a){Blockly.Dart.definitions_=Object.create(null);Blockly.Dart.functionNames_=Object.create(null);Blockly.Dart.variableDB_?Blockly.Dart.variableDB_.reset():Blockly.Dart.variableDB_=new Blockly.Names(Blockly.Dart.RESERVED_WORDS_);Blockly.Dart.variableDB_.setVariableMap(a.getVariableMap());for(var b=[],c=Blockly.Variables.allDeveloperVariables(a),d=0;d<c.length;d++)b.push(Blockly.Dart.variableDB_.getName(c[d],Blockly.Names.DEVELOPER_VARIABLE_TYPE));a=Blockly.Variables.allUsedVarModels(a);
17
+ for(d=0;d<a.length;d++)b.push(Blockly.Dart.variableDB_.getName(a[d].getId(),Blockly.VARIABLE_CATEGORY_NAME));b.length&&(Blockly.Dart.definitions_.variables="var "+b.join(", ")+";")};
18
+ Blockly.Dart.finish=function(a){a&&(a=Blockly.Dart.prefixLines(a,Blockly.Dart.INDENT));a="main() {\n"+a+"}";var b=[],c=[],d;for(d in Blockly.Dart.definitions_){var e=Blockly.Dart.definitions_[d];e.match(/^import\s/)?b.push(e):c.push(e)}delete Blockly.Dart.definitions_;delete Blockly.Dart.functionNames_;Blockly.Dart.variableDB_.reset();return(b.join("\n")+"\n\n"+c.join("\n\n")).replace(/\n\n+/g,"\n\n").replace(/\n*$/,"\n\n\n")+a};Blockly.Dart.scrubNakedValue=function(a){return a+";\n"};
19
+ Blockly.Dart.quote_=function(a){a=a.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n").replace(/\$/g,"\\$").replace(/'/g,"\\'");return"'"+a+"'"};Blockly.Dart.multiline_quote_=function(a){return a.split(/\n/g).map(Blockly.Dart.quote_).join(" + '\\n' + \n")};
20
+ Blockly.Dart.scrub_=function(a,b,c){var d="";if(!a.outputConnection||!a.outputConnection.targetConnection){var e=a.getCommentText();e&&(e=Blockly.utils.string.wrap(e,Blockly.Dart.COMMENT_WRAP-3),d=a.getProcedureDef?d+Blockly.Dart.prefixLines(e+"\n","/// "):d+Blockly.Dart.prefixLines(e+"\n","// "));for(var f=0;f<a.inputList.length;f++)a.inputList[f].type==Blockly.INPUT_VALUE&&(e=a.inputList[f].connection.targetBlock())&&(e=Blockly.Dart.allNestedComments(e))&&(d+=Blockly.Dart.prefixLines(e,"// "))}a=
21
+ a.nextConnection&&a.nextConnection.targetBlock();c=c?"":Blockly.Dart.blockToCode(a);return d+b+c};
22
+ Blockly.Dart.getAdjusted=function(a,b,c,d,e){c=c||0;e=e||Blockly.Dart.ORDER_NONE;a.workspace.options.oneBasedIndex&&c--;var f=a.workspace.options.oneBasedIndex?"1":"0";a=c?Blockly.Dart.valueToCode(a,b,Blockly.Dart.ORDER_ADDITIVE)||f:d?Blockly.Dart.valueToCode(a,b,Blockly.Dart.ORDER_UNARY_PREFIX)||f:Blockly.Dart.valueToCode(a,b,e)||f;if(Blockly.isNumber(a))a=parseInt(a,10)+c,d&&(a=-a);else{if(0<c){a=a+" + "+c;var g=Blockly.Dart.ORDER_ADDITIVE}else 0>c&&(a=a+" - "+-c,g=Blockly.Dart.ORDER_ADDITIVE);
23
+ d&&(a=c?"-("+a+")":"-"+a,g=Blockly.Dart.ORDER_UNARY_PREFIX);g=Math.floor(g);e=Math.floor(e);g&&e>=g&&(a="("+a+")")}return a};Blockly.Dart.colour={};Blockly.Dart.addReservedWords("Math");Blockly.Dart.colour_picker=function(a){return[Blockly.Dart.quote_(a.getFieldValue("COLOUR")),Blockly.Dart.ORDER_ATOMIC]};
24
+ Blockly.Dart.colour_random=function(a){Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";return[Blockly.Dart.provideFunction_("colour_random",["String "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"() {"," String hex = '0123456789abcdef';"," var rnd = new Math.Random();"," return '#${hex[rnd.nextInt(16)]}${hex[rnd.nextInt(16)]}'"," '${hex[rnd.nextInt(16)]}${hex[rnd.nextInt(16)]}'"," '${hex[rnd.nextInt(16)]}${hex[rnd.nextInt(16)]}';","}"])+"()",Blockly.Dart.ORDER_UNARY_POSTFIX]};
25
+ Blockly.Dart.colour_rgb=function(a){var b=Blockly.Dart.valueToCode(a,"RED",Blockly.Dart.ORDER_NONE)||0,c=Blockly.Dart.valueToCode(a,"GREEN",Blockly.Dart.ORDER_NONE)||0;a=Blockly.Dart.valueToCode(a,"BLUE",Blockly.Dart.ORDER_NONE)||0;Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";return[Blockly.Dart.provideFunction_("colour_rgb",["String "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(num r, num g, num b) {"," num rn = (Math.max(Math.min(r, 100), 0) * 2.55).round();"," String rs = rn.toInt().toRadixString(16);",
26
+ " rs = '0$rs';"," rs = rs.substring(rs.length - 2);"," num gn = (Math.max(Math.min(g, 100), 0) * 2.55).round();"," String gs = gn.toInt().toRadixString(16);"," gs = '0$gs';"," gs = gs.substring(gs.length - 2);"," num bn = (Math.max(Math.min(b, 100), 0) * 2.55).round();"," String bs = bn.toInt().toRadixString(16);"," bs = '0$bs';"," bs = bs.substring(bs.length - 2);"," return '#$rs$gs$bs';","}"])+"("+b+", "+c+", "+a+")",Blockly.Dart.ORDER_UNARY_POSTFIX]};
27
+ Blockly.Dart.colour_blend=function(a){var b=Blockly.Dart.valueToCode(a,"COLOUR1",Blockly.Dart.ORDER_NONE)||"'#000000'",c=Blockly.Dart.valueToCode(a,"COLOUR2",Blockly.Dart.ORDER_NONE)||"'#000000'";a=Blockly.Dart.valueToCode(a,"RATIO",Blockly.Dart.ORDER_NONE)||.5;Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";return[Blockly.Dart.provideFunction_("colour_blend",["String "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(String c1, String c2, num ratio) {"," ratio = Math.max(Math.min(ratio, 1), 0);",
28
+ " int r1 = int.parse('0x${c1.substring(1, 3)}');"," int g1 = int.parse('0x${c1.substring(3, 5)}');"," int b1 = int.parse('0x${c1.substring(5, 7)}');"," int r2 = int.parse('0x${c2.substring(1, 3)}');"," int g2 = int.parse('0x${c2.substring(3, 5)}');"," int b2 = int.parse('0x${c2.substring(5, 7)}');"," num rn = (r1 * (1 - ratio) + r2 * ratio).round();"," String rs = rn.toInt().toRadixString(16);"," num gn = (g1 * (1 - ratio) + g2 * ratio).round();"," String gs = gn.toInt().toRadixString(16);",
29
+ " num bn = (b1 * (1 - ratio) + b2 * ratio).round();"," String bs = bn.toInt().toRadixString(16);"," rs = '0$rs';"," rs = rs.substring(rs.length - 2);"," gs = '0$gs';"," gs = gs.substring(gs.length - 2);"," bs = '0$bs';"," bs = bs.substring(bs.length - 2);"," return '#$rs$gs$bs';","}"])+"("+b+", "+c+", "+a+")",Blockly.Dart.ORDER_UNARY_POSTFIX]};Blockly.Dart.lists={};Blockly.Dart.addReservedWords("Math");Blockly.Dart.lists_create_empty=function(a){return["[]",Blockly.Dart.ORDER_ATOMIC]};Blockly.Dart.lists_create_with=function(a){for(var b=Array(a.itemCount_),c=0;c<a.itemCount_;c++)b[c]=Blockly.Dart.valueToCode(a,"ADD"+c,Blockly.Dart.ORDER_NONE)||"null";return["["+b.join(", ")+"]",Blockly.Dart.ORDER_ATOMIC]};
30
+ Blockly.Dart.lists_repeat=function(a){var b=Blockly.Dart.valueToCode(a,"ITEM",Blockly.Dart.ORDER_NONE)||"null";return["new List.filled("+(Blockly.Dart.valueToCode(a,"NUM",Blockly.Dart.ORDER_NONE)||"0")+", "+b+")",Blockly.Dart.ORDER_UNARY_POSTFIX]};Blockly.Dart.lists_length=function(a){return[(Blockly.Dart.valueToCode(a,"VALUE",Blockly.Dart.ORDER_UNARY_POSTFIX)||"[]")+".length",Blockly.Dart.ORDER_UNARY_POSTFIX]};
31
+ Blockly.Dart.lists_isEmpty=function(a){return[(Blockly.Dart.valueToCode(a,"VALUE",Blockly.Dart.ORDER_UNARY_POSTFIX)||"[]")+".isEmpty",Blockly.Dart.ORDER_UNARY_POSTFIX]};
32
+ Blockly.Dart.lists_indexOf=function(a){var b="FIRST"==a.getFieldValue("END")?"indexOf":"lastIndexOf",c=Blockly.Dart.valueToCode(a,"FIND",Blockly.Dart.ORDER_NONE)||"''";b=(Blockly.Dart.valueToCode(a,"VALUE",Blockly.Dart.ORDER_UNARY_POSTFIX)||"[]")+"."+b+"("+c+")";return a.workspace.options.oneBasedIndex?[b+" + 1",Blockly.Dart.ORDER_ADDITIVE]:[b,Blockly.Dart.ORDER_UNARY_POSTFIX]};
33
+ Blockly.Dart.lists_getIndex=function(a){function b(){var f=Blockly.Dart.variableDB_.getDistinctName("tmp_list",Blockly.VARIABLE_CATEGORY_NAME),g="List "+f+" = "+e+";\n";e=f;return g}var c=a.getFieldValue("MODE")||"GET",d=a.getFieldValue("WHERE")||"FROM_START",e=Blockly.Dart.valueToCode(a,"VALUE","RANDOM"==d||"FROM_END"==d?Blockly.Dart.ORDER_NONE:Blockly.Dart.ORDER_UNARY_POSTFIX)||"[]";if(("RANDOM"!=d||"REMOVE"!=c)&&"FROM_END"!=d||e.match(/^\w+$/))switch(d){case "FIRST":if("GET"==c)return[e+".first",
34
+ Blockly.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==c)return[e+".removeAt(0)",Blockly.Dart.ORDER_UNARY_POSTFIX];if("REMOVE"==c)return e+".removeAt(0);\n";break;case "LAST":if("GET"==c)return[e+".last",Blockly.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==c)return[e+".removeLast()",Blockly.Dart.ORDER_UNARY_POSTFIX];if("REMOVE"==c)return e+".removeLast();\n";break;case "FROM_START":d=Blockly.Dart.getAdjusted(a,"AT");if("GET"==c)return[e+"["+d+"]",Blockly.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==c)return[e+
35
+ ".removeAt("+d+")",Blockly.Dart.ORDER_UNARY_POSTFIX];if("REMOVE"==c)return e+".removeAt("+d+");\n";break;case "FROM_END":d=Blockly.Dart.getAdjusted(a,"AT",1,!1,Blockly.Dart.ORDER_ADDITIVE);if("GET"==c)return[e+"["+e+".length - "+d+"]",Blockly.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==c||"REMOVE"==c){a=e+".removeAt("+e+".length - "+d+")";if("GET_REMOVE"==c)return[a,Blockly.Dart.ORDER_UNARY_POSTFIX];if("REMOVE"==c)return a+";\n"}break;case "RANDOM":Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";
36
+ if("REMOVE"==c)return c=Blockly.Dart.variableDB_.getDistinctName("tmp_x",Blockly.VARIABLE_CATEGORY_NAME),"int "+c+" = new Math.Random().nextInt("+e+".length);\n"+(e+".removeAt("+c+");\n");if("GET"==c)return c=Blockly.Dart.provideFunction_("lists_get_random_item",["dynamic "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List my_list) {"," int x = new Math.Random().nextInt(my_list.length);"," return my_list[x];","}"]),[c+"("+e+")",Blockly.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==c)return c=Blockly.Dart.provideFunction_("lists_remove_random_item",
37
+ ["dynamic "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List my_list) {"," int x = new Math.Random().nextInt(my_list.length);"," return my_list.removeAt(x);","}"]),[c+"("+e+")",Blockly.Dart.ORDER_UNARY_POSTFIX]}else{if("RANDOM"==d)return Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",a=b(),c=Blockly.Dart.variableDB_.getDistinctName("tmp_x",Blockly.VARIABLE_CATEGORY_NAME),a+("int "+c+" = new Math.Random().nextInt("+e+".length);\n")+(e+".removeAt("+c+");\n");if("REMOVE"==c)return d=
38
+ Blockly.Dart.getAdjusted(a,"AT",1,!1,Blockly.Dart.ORDER_ADDITIVE),a=b(),a+=e+".removeAt("+e+".length - "+d+");\n";if("GET"==c)return d=Blockly.Dart.getAdjusted(a,"AT",1),c=Blockly.Dart.provideFunction_("lists_get_from_end",["dynamic "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List my_list, num x) {"," x = my_list.length - x;"," return my_list[x];","}"]),[c+"("+e+", "+d+")",Blockly.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==c)return d=Blockly.Dart.getAdjusted(a,"AT",1),c=Blockly.Dart.provideFunction_("lists_remove_from_end",
39
+ ["dynamic "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List my_list, num x) {"," x = my_list.length - x;"," return my_list.removeAt(x);","}"]),[c+"("+e+", "+d+")",Blockly.Dart.ORDER_UNARY_POSTFIX]}throw Error("Unhandled combination (lists_getIndex).");};
40
+ Blockly.Dart.lists_setIndex=function(a){function b(){if(e.match(/^\w+$/))return"";var g=Blockly.Dart.variableDB_.getDistinctName("tmp_list",Blockly.VARIABLE_CATEGORY_NAME),k="List "+g+" = "+e+";\n";e=g;return k}var c=a.getFieldValue("MODE")||"GET",d=a.getFieldValue("WHERE")||"FROM_START",e=Blockly.Dart.valueToCode(a,"LIST",Blockly.Dart.ORDER_UNARY_POSTFIX)||"[]",f=Blockly.Dart.valueToCode(a,"TO",Blockly.Dart.ORDER_ASSIGNMENT)||"null";switch(d){case "FIRST":if("SET"==c)return e+"[0] = "+f+";\n";if("INSERT"==
41
+ c)return e+".insert(0, "+f+");\n";break;case "LAST":if("SET"==c)return a=b(),a+(e+"["+e+".length - 1] = "+f+";\n");if("INSERT"==c)return e+".add("+f+");\n";break;case "FROM_START":d=Blockly.Dart.getAdjusted(a,"AT");if("SET"==c)return e+"["+d+"] = "+f+";\n";if("INSERT"==c)return e+".insert("+d+", "+f+");\n";break;case "FROM_END":d=Blockly.Dart.getAdjusted(a,"AT",1,!1,Blockly.Dart.ORDER_ADDITIVE);a=b();if("SET"==c)return a+(e+"["+e+".length - "+d+"] = "+f+";\n");if("INSERT"==c)return a+(e+".insert("+
42
+ e+".length - "+d+", "+f+");\n");break;case "RANDOM":Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";a=b();d=Blockly.Dart.variableDB_.getDistinctName("tmp_x",Blockly.VARIABLE_CATEGORY_NAME);a+="int "+d+" = new Math.Random().nextInt("+e+".length);\n";if("SET"==c)return a+(e+"["+d+"] = "+f+";\n");if("INSERT"==c)return a+(e+".insert("+d+", "+f+");\n")}throw Error("Unhandled combination (lists_setIndex).");};
43
+ Blockly.Dart.lists_getSublist=function(a){var b=Blockly.Dart.valueToCode(a,"LIST",Blockly.Dart.ORDER_UNARY_POSTFIX)||"[]",c=a.getFieldValue("WHERE1"),d=a.getFieldValue("WHERE2");if(b.match(/^\w+$/)||"FROM_END"!=c&&"FROM_START"==d){switch(c){case "FROM_START":var e=Blockly.Dart.getAdjusted(a,"AT1");break;case "FROM_END":e=Blockly.Dart.getAdjusted(a,"AT1",1,!1,Blockly.Dart.ORDER_ADDITIVE);e=b+".length - "+e;break;case "FIRST":e="0";break;default:throw Error("Unhandled option (lists_getSublist).");}switch(d){case "FROM_START":var f=
44
+ Blockly.Dart.getAdjusted(a,"AT2",1);break;case "FROM_END":f=Blockly.Dart.getAdjusted(a,"AT2",0,!1,Blockly.Dart.ORDER_ADDITIVE);f=b+".length - "+f;break;case "LAST":break;default:throw Error("Unhandled option (lists_getSublist).");}a="LAST"==d?b+".sublist("+e+")":b+".sublist("+e+", "+f+")"}else e=Blockly.Dart.getAdjusted(a,"AT1"),f=Blockly.Dart.getAdjusted(a,"AT2"),a=Blockly.Dart.provideFunction_("lists_get_sublist",["List "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List list, String where1, num at1, String where2, num at2) {",
45
+ " int getAt(String where, num at) {"," if (where == 'FROM_END') {"," at = list.length - 1 - at;"," } else if (where == 'FIRST') {"," at = 0;"," } else if (where == 'LAST') {"," at = list.length - 1;"," } else if (where != 'FROM_START') {"," throw 'Unhandled option (lists_getSublist).';"," }"," return at;"," }"," at1 = getAt(where1, at1);"," at2 = getAt(where2, at2) + 1;"," return list.sublist(at1, at2);","}"])+"("+b+", '"+c+"', "+e+", '"+d+"', "+f+")";return[a,
46
+ Blockly.Dart.ORDER_UNARY_POSTFIX]};
47
+ Blockly.Dart.lists_sort=function(a){var b=Blockly.Dart.valueToCode(a,"LIST",Blockly.Dart.ORDER_NONE)||"[]",c="1"===a.getFieldValue("DIRECTION")?1:-1;a=a.getFieldValue("TYPE");return[Blockly.Dart.provideFunction_("lists_sort",["List "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List list, String type, int direction) {"," var compareFuncs = {",' "NUMERIC": (a, b) => (direction * a.compareTo(b)).toInt(),',' "TEXT": (a, b) => direction * a.toString().compareTo(b.toString()),',' "IGNORE_CASE": ',
48
+ " (a, b) => direction * "," a.toString().toLowerCase().compareTo(b.toString().toLowerCase())"," };"," list = new List.from(list);"," var compare = compareFuncs[type];"," list.sort(compare);"," return list;","}"])+"("+b+', "'+a+'", '+c+")",Blockly.Dart.ORDER_UNARY_POSTFIX]};
49
+ Blockly.Dart.lists_split=function(a){var b=Blockly.Dart.valueToCode(a,"INPUT",Blockly.Dart.ORDER_UNARY_POSTFIX),c=Blockly.Dart.valueToCode(a,"DELIM",Blockly.Dart.ORDER_NONE)||"''";a=a.getFieldValue("MODE");if("SPLIT"==a)b||(b="''"),a="split";else if("JOIN"==a)b||(b="[]"),a="join";else throw Error("Unknown mode: "+a);return[b+"."+a+"("+c+")",Blockly.Dart.ORDER_UNARY_POSTFIX]};
50
+ Blockly.Dart.lists_reverse=function(a){return["new List.from("+(Blockly.Dart.valueToCode(a,"LIST",Blockly.Dart.ORDER_NONE)||"[]")+".reversed)",Blockly.Dart.ORDER_UNARY_POSTFIX]};Blockly.Dart.logic={};
51
+ Blockly.Dart.controls_if=function(a){var b=0,c="";Blockly.Dart.STATEMENT_PREFIX&&(c+=Blockly.Dart.injectId(Blockly.Dart.STATEMENT_PREFIX,a));do{var d=Blockly.Dart.valueToCode(a,"IF"+b,Blockly.Dart.ORDER_NONE)||"false";var e=Blockly.Dart.statementToCode(a,"DO"+b);Blockly.Dart.STATEMENT_SUFFIX&&(e=Blockly.Dart.prefixLines(Blockly.Dart.injectId(Blockly.Dart.STATEMENT_SUFFIX,a),Blockly.Dart.INDENT)+e);c+=(0<b?"else ":"")+"if ("+d+") {\n"+e+"}";++b}while(a.getInput("IF"+b));if(a.getInput("ELSE")||Blockly.Dart.STATEMENT_SUFFIX)e=
52
+ Blockly.Dart.statementToCode(a,"ELSE"),Blockly.Dart.STATEMENT_SUFFIX&&(e=Blockly.Dart.prefixLines(Blockly.Dart.injectId(Blockly.Dart.STATEMENT_SUFFIX,a),Blockly.Dart.INDENT)+e),c+=" else {\n"+e+"}";return c+"\n"};Blockly.Dart.controls_ifelse=Blockly.Dart.controls_if;
53
+ Blockly.Dart.logic_compare=function(a){var b={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="}[a.getFieldValue("OP")],c="=="==b||"!="==b?Blockly.Dart.ORDER_EQUALITY:Blockly.Dart.ORDER_RELATIONAL,d=Blockly.Dart.valueToCode(a,"A",c)||"0";a=Blockly.Dart.valueToCode(a,"B",c)||"0";return[d+" "+b+" "+a,c]};
54
+ Blockly.Dart.logic_operation=function(a){var b="AND"==a.getFieldValue("OP")?"&&":"||",c="&&"==b?Blockly.Dart.ORDER_LOGICAL_AND:Blockly.Dart.ORDER_LOGICAL_OR,d=Blockly.Dart.valueToCode(a,"A",c);a=Blockly.Dart.valueToCode(a,"B",c);if(d||a){var e="&&"==b?"true":"false";d||(d=e);a||(a=e)}else a=d="false";return[d+" "+b+" "+a,c]};Blockly.Dart.logic_negate=function(a){var b=Blockly.Dart.ORDER_UNARY_PREFIX;return["!"+(Blockly.Dart.valueToCode(a,"BOOL",b)||"true"),b]};
55
+ Blockly.Dart.logic_boolean=function(a){return["TRUE"==a.getFieldValue("BOOL")?"true":"false",Blockly.Dart.ORDER_ATOMIC]};Blockly.Dart.logic_null=function(a){return["null",Blockly.Dart.ORDER_ATOMIC]};Blockly.Dart.logic_ternary=function(a){var b=Blockly.Dart.valueToCode(a,"IF",Blockly.Dart.ORDER_CONDITIONAL)||"false",c=Blockly.Dart.valueToCode(a,"THEN",Blockly.Dart.ORDER_CONDITIONAL)||"null";a=Blockly.Dart.valueToCode(a,"ELSE",Blockly.Dart.ORDER_CONDITIONAL)||"null";return[b+" ? "+c+" : "+a,Blockly.Dart.ORDER_CONDITIONAL]};Blockly.Dart.loops={};
56
+ Blockly.Dart.controls_repeat_ext=function(a){var b=a.getField("TIMES")?String(Number(a.getFieldValue("TIMES"))):Blockly.Dart.valueToCode(a,"TIMES",Blockly.Dart.ORDER_ASSIGNMENT)||"0",c=Blockly.Dart.statementToCode(a,"DO");c=Blockly.Dart.addLoopTrap(c,a);a="";var d=Blockly.Dart.variableDB_.getDistinctName("count",Blockly.VARIABLE_CATEGORY_NAME),e=b;b.match(/^\w+$/)||Blockly.isNumber(b)||(e=Blockly.Dart.variableDB_.getDistinctName("repeat_end",Blockly.VARIABLE_CATEGORY_NAME),a+="var "+e+" = "+b+";\n");
57
+ return a+("for (int "+d+" = 0; "+d+" < "+e+"; "+d+"++) {\n"+c+"}\n")};Blockly.Dart.controls_repeat=Blockly.Dart.controls_repeat_ext;Blockly.Dart.controls_whileUntil=function(a){var b="UNTIL"==a.getFieldValue("MODE"),c=Blockly.Dart.valueToCode(a,"BOOL",b?Blockly.Dart.ORDER_UNARY_PREFIX:Blockly.Dart.ORDER_NONE)||"false",d=Blockly.Dart.statementToCode(a,"DO");d=Blockly.Dart.addLoopTrap(d,a);b&&(c="!"+c);return"while ("+c+") {\n"+d+"}\n"};
58
+ Blockly.Dart.controls_for=function(a){var b=Blockly.Dart.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME),c=Blockly.Dart.valueToCode(a,"FROM",Blockly.Dart.ORDER_ASSIGNMENT)||"0",d=Blockly.Dart.valueToCode(a,"TO",Blockly.Dart.ORDER_ASSIGNMENT)||"0",e=Blockly.Dart.valueToCode(a,"BY",Blockly.Dart.ORDER_ASSIGNMENT)||"1",f=Blockly.Dart.statementToCode(a,"DO");f=Blockly.Dart.addLoopTrap(f,a);if(Blockly.isNumber(c)&&Blockly.isNumber(d)&&Blockly.isNumber(e)){var g=Number(c)<=Number(d);
59
+ a="for ("+b+" = "+c+"; "+b+(g?" <= ":" >= ")+d+"; "+b;b=Math.abs(Number(e));a=(1==b?a+(g?"++":"--"):a+((g?" += ":" -= ")+b))+(") {\n"+f+"}\n")}else a="",g=c,c.match(/^\w+$/)||Blockly.isNumber(c)||(g=Blockly.Dart.variableDB_.getDistinctName(b+"_start",Blockly.VARIABLE_CATEGORY_NAME),a+="var "+g+" = "+c+";\n"),c=d,d.match(/^\w+$/)||Blockly.isNumber(d)||(c=Blockly.Dart.variableDB_.getDistinctName(b+"_end",Blockly.VARIABLE_CATEGORY_NAME),a+="var "+c+" = "+d+";\n"),d=Blockly.Dart.variableDB_.getDistinctName(b+
60
+ "_inc",Blockly.VARIABLE_CATEGORY_NAME),a+="num "+d+" = ",a=Blockly.isNumber(e)?a+(Math.abs(e)+";\n"):a+("("+e+").abs();\n"),a=a+("if ("+g+" > "+c+") {\n")+(Blockly.Dart.INDENT+d+" = -"+d+";\n"),a+="}\n",a+="for ("+b+" = "+g+"; "+d+" >= 0 ? "+b+" <= "+c+" : "+b+" >= "+c+"; "+b+" += "+d+") {\n"+f+"}\n";return a};
61
+ Blockly.Dart.controls_forEach=function(a){var b=Blockly.Dart.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME),c=Blockly.Dart.valueToCode(a,"LIST",Blockly.Dart.ORDER_ASSIGNMENT)||"[]",d=Blockly.Dart.statementToCode(a,"DO");d=Blockly.Dart.addLoopTrap(d,a);return"for (var "+b+" in "+c+") {\n"+d+"}\n"};
62
+ Blockly.Dart.controls_flow_statements=function(a){var b="";Blockly.Dart.STATEMENT_PREFIX&&(b+=Blockly.Dart.injectId(Blockly.Dart.STATEMENT_PREFIX,a));Blockly.Dart.STATEMENT_SUFFIX&&(b+=Blockly.Dart.injectId(Blockly.Dart.STATEMENT_SUFFIX,a));if(Blockly.Dart.STATEMENT_PREFIX){var c=Blockly.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.getSurroundLoop(a);c&&!c.suppressPrefixSuffix&&(b+=Blockly.Dart.injectId(Blockly.Dart.STATEMENT_PREFIX,c))}switch(a.getFieldValue("FLOW")){case "BREAK":return b+"break;\n";
63
+ case "CONTINUE":return b+"continue;\n"}throw Error("Unknown flow statement.");};Blockly.Dart.math={};Blockly.Dart.addReservedWords("Math");Blockly.Dart.math_number=function(a){a=Number(a.getFieldValue("NUM"));if(Infinity==a){a="double.infinity";var b=Blockly.Dart.ORDER_UNARY_POSTFIX}else-Infinity==a?(a="-double.infinity",b=Blockly.Dart.ORDER_UNARY_PREFIX):b=0>a?Blockly.Dart.ORDER_UNARY_PREFIX:Blockly.Dart.ORDER_ATOMIC;return[a,b]};
64
+ Blockly.Dart.math_arithmetic=function(a){var b={ADD:[" + ",Blockly.Dart.ORDER_ADDITIVE],MINUS:[" - ",Blockly.Dart.ORDER_ADDITIVE],MULTIPLY:[" * ",Blockly.Dart.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",Blockly.Dart.ORDER_MULTIPLICATIVE],POWER:[null,Blockly.Dart.ORDER_NONE]}[a.getFieldValue("OP")],c=b[0];b=b[1];var d=Blockly.Dart.valueToCode(a,"A",b)||"0";a=Blockly.Dart.valueToCode(a,"B",b)||"0";return c?[d+c+a,b]:(Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",["Math.pow("+d+", "+
65
+ a+")",Blockly.Dart.ORDER_UNARY_POSTFIX])};
66
+ Blockly.Dart.math_single=function(a){var b=a.getFieldValue("OP");if("NEG"==b)return a=Blockly.Dart.valueToCode(a,"NUM",Blockly.Dart.ORDER_UNARY_PREFIX)||"0","-"==a[0]&&(a=" "+a),["-"+a,Blockly.Dart.ORDER_UNARY_PREFIX];Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";a="ABS"==b||"ROUND"==b.substring(0,5)?Blockly.Dart.valueToCode(a,"NUM",Blockly.Dart.ORDER_UNARY_POSTFIX)||"0":"SIN"==b||"COS"==b||"TAN"==b?Blockly.Dart.valueToCode(a,"NUM",Blockly.Dart.ORDER_MULTIPLICATIVE)||"0":
67
+ Blockly.Dart.valueToCode(a,"NUM",Blockly.Dart.ORDER_NONE)||"0";switch(b){case "ABS":var c=a+".abs()";break;case "ROOT":c="Math.sqrt("+a+")";break;case "LN":c="Math.log("+a+")";break;case "EXP":c="Math.exp("+a+")";break;case "POW10":c="Math.pow(10,"+a+")";break;case "ROUND":c=a+".round()";break;case "ROUNDUP":c=a+".ceil()";break;case "ROUNDDOWN":c=a+".floor()";break;case "SIN":c="Math.sin("+a+" / 180 * Math.pi)";break;case "COS":c="Math.cos("+a+" / 180 * Math.pi)";break;case "TAN":c="Math.tan("+a+
68
+ " / 180 * Math.pi)"}if(c)return[c,Blockly.Dart.ORDER_UNARY_POSTFIX];switch(b){case "LOG10":c="Math.log("+a+") / Math.log(10)";break;case "ASIN":c="Math.asin("+a+") / Math.pi * 180";break;case "ACOS":c="Math.acos("+a+") / Math.pi * 180";break;case "ATAN":c="Math.atan("+a+") / Math.pi * 180";break;default:throw Error("Unknown math operator: "+b);}return[c,Blockly.Dart.ORDER_MULTIPLICATIVE]};
69
+ Blockly.Dart.math_constant=function(a){var b={PI:["Math.pi",Blockly.Dart.ORDER_UNARY_POSTFIX],E:["Math.e",Blockly.Dart.ORDER_UNARY_POSTFIX],GOLDEN_RATIO:["(1 + Math.sqrt(5)) / 2",Blockly.Dart.ORDER_MULTIPLICATIVE],SQRT2:["Math.sqrt2",Blockly.Dart.ORDER_UNARY_POSTFIX],SQRT1_2:["Math.sqrt1_2",Blockly.Dart.ORDER_UNARY_POSTFIX],INFINITY:["double.infinity",Blockly.Dart.ORDER_ATOMIC]};a=a.getFieldValue("CONSTANT");"INFINITY"!=a&&(Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;");
70
+ return b[a]};
71
+ Blockly.Dart.math_number_property=function(a){var b=Blockly.Dart.valueToCode(a,"NUMBER_TO_CHECK",Blockly.Dart.ORDER_MULTIPLICATIVE);if(!b)return["false",Blockly.Dart.ORDER_ATOMIC];var c=a.getFieldValue("PROPERTY");if("PRIME"==c)return Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",[Blockly.Dart.provideFunction_("math_isPrime",["bool "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(n) {"," // https://en.wikipedia.org/wiki/Primality_test#Naive_methods"," if (n == 2 || n == 3) {"," return true;",
72
+ " }"," // False if n is null, negative, is 1, or not whole."," // And false if n is divisible by 2 or 3."," if (n == null || n <= 1 || n % 1 != 0 || n % 2 == 0 || n % 3 == 0) {"," return false;"," }"," // Check all the numbers of form 6k +/- 1, up to sqrt(n)."," for (var x = 6; x <= Math.sqrt(n) + 1; x += 6) {"," if (n % (x - 1) == 0 || n % (x + 1) == 0) {"," return false;"," }"," }"," return true;","}"])+"("+b+")",Blockly.Dart.ORDER_UNARY_POSTFIX];switch(c){case "EVEN":var d=
73
+ b+" % 2 == 0";break;case "ODD":d=b+" % 2 == 1";break;case "WHOLE":d=b+" % 1 == 0";break;case "POSITIVE":d=b+" > 0";break;case "NEGATIVE":d=b+" < 0";break;case "DIVISIBLE_BY":a=Blockly.Dart.valueToCode(a,"DIVISOR",Blockly.Dart.ORDER_MULTIPLICATIVE);if(!a)return["false",Blockly.Dart.ORDER_ATOMIC];d=b+" % "+a+" == 0"}return[d,Blockly.Dart.ORDER_EQUALITY]};
74
+ Blockly.Dart.math_change=function(a){var b=Blockly.Dart.valueToCode(a,"DELTA",Blockly.Dart.ORDER_ADDITIVE)||"0";a=Blockly.Dart.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME);return a+" = ("+a+" is num ? "+a+" : 0) + "+b+";\n"};Blockly.Dart.math_round=Blockly.Dart.math_single;Blockly.Dart.math_trig=Blockly.Dart.math_single;
75
+ Blockly.Dart.math_on_list=function(a){var b=a.getFieldValue("OP");a=Blockly.Dart.valueToCode(a,"LIST",Blockly.Dart.ORDER_NONE)||"[]";switch(b){case "SUM":b=Blockly.Dart.provideFunction_("math_sum",["num "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List<num> myList) {"," num sumVal = 0;"," myList.forEach((num entry) {sumVal += entry;});"," return sumVal;","}"]);b=b+"("+a+")";break;case "MIN":Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";b=Blockly.Dart.provideFunction_("math_min",
76
+ ["num "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List<num> myList) {"," if (myList.isEmpty) return null;"," num minVal = myList[0];"," myList.forEach((num entry) {minVal = Math.min(minVal, entry);});"," return minVal;","}"]);b=b+"("+a+")";break;case "MAX":Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";b=Blockly.Dart.provideFunction_("math_max",["num "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List<num> myList) {"," if (myList.isEmpty) return null;"," num maxVal = myList[0];",
77
+ " myList.forEach((num entry) {maxVal = Math.max(maxVal, entry);});"," return maxVal;","}"]);b=b+"("+a+")";break;case "AVERAGE":b=Blockly.Dart.provideFunction_("math_mean",["num "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List myList) {"," // First filter list for numbers only."," List localList = new List.from(myList);"," localList.removeWhere((a) => a is! num);"," if (localList.isEmpty) return null;"," num sumVal = 0;"," localList.forEach((var entry) {sumVal += entry;});"," return sumVal / localList.length;",
78
+ "}"]);b=b+"("+a+")";break;case "MEDIAN":b=Blockly.Dart.provideFunction_("math_median",["num "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List myList) {"," // First filter list for numbers only, then sort, then return middle value"," // or the average of two middle values if list has an even number of elements."," List localList = new List.from(myList);"," localList.removeWhere((a) => a is! num);"," if (localList.isEmpty) return null;"," localList.sort((a, b) => (a - b));"," int index = localList.length ~/ 2;",
79
+ " if (localList.length % 2 == 1) {"," return localList[index];"," } else {"," return (localList[index - 1] + localList[index]) / 2;"," }","}"]);b=b+"("+a+")";break;case "MODE":Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";b=Blockly.Dart.provideFunction_("math_modes",["List "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List values) {"," List modes = [];"," List counts = [];"," int maxCount = 0;"," for (int i = 0; i < values.length; i++) {"," var value = values[i];",
80
+ " bool found = false;"," int thisCount;"," for (int j = 0; j < counts.length; j++) {"," if (counts[j][0] == value) {"," thisCount = ++counts[j][1];"," found = true;"," break;"," }"," }"," if (!found) {"," counts.add([value, 1]);"," thisCount = 1;"," }"," maxCount = Math.max(thisCount, maxCount);"," }"," for (int j = 0; j < counts.length; j++) {"," if (counts[j][1] == maxCount) {"," modes.add(counts[j][0]);"," }"," }"," return modes;",
81
+ "}"]);b=b+"("+a+")";break;case "STD_DEV":Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";b=Blockly.Dart.provideFunction_("math_standard_deviation",["num "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List myList) {"," // First filter list for numbers only."," List numbers = new List.from(myList);"," numbers.removeWhere((a) => a is! num);"," if (numbers.isEmpty) return null;"," num n = numbers.length;"," num sum = 0;"," numbers.forEach((x) => sum += x);"," num mean = sum / n;",
82
+ " num sumSquare = 0;"," numbers.forEach((x) => sumSquare += Math.pow(x - mean, 2));"," return Math.sqrt(sumSquare / n);","}"]);b=b+"("+a+")";break;case "RANDOM":Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";b=Blockly.Dart.provideFunction_("math_random_item",["dynamic "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List myList) {"," int x = new Math.Random().nextInt(myList.length);"," return myList[x];","}"]);b=b+"("+a+")";break;default:throw Error("Unknown operator: "+
83
+ b);}return[b,Blockly.Dart.ORDER_UNARY_POSTFIX]};Blockly.Dart.math_modulo=function(a){var b=Blockly.Dart.valueToCode(a,"DIVIDEND",Blockly.Dart.ORDER_MULTIPLICATIVE)||"0";a=Blockly.Dart.valueToCode(a,"DIVISOR",Blockly.Dart.ORDER_MULTIPLICATIVE)||"0";return[b+" % "+a,Blockly.Dart.ORDER_MULTIPLICATIVE]};
84
+ Blockly.Dart.math_constrain=function(a){Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";var b=Blockly.Dart.valueToCode(a,"VALUE",Blockly.Dart.ORDER_NONE)||"0",c=Blockly.Dart.valueToCode(a,"LOW",Blockly.Dart.ORDER_NONE)||"0";a=Blockly.Dart.valueToCode(a,"HIGH",Blockly.Dart.ORDER_NONE)||"double.infinity";return["Math.min(Math.max("+b+", "+c+"), "+a+")",Blockly.Dart.ORDER_UNARY_POSTFIX]};
85
+ Blockly.Dart.math_random_int=function(a){Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";var b=Blockly.Dart.valueToCode(a,"FROM",Blockly.Dart.ORDER_NONE)||"0";a=Blockly.Dart.valueToCode(a,"TO",Blockly.Dart.ORDER_NONE)||"0";return[Blockly.Dart.provideFunction_("math_random_int",["int "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(num a, num b) {"," if (a > b) {"," // Swap a and b to ensure a is smaller."," num c = a;"," a = b;"," b = c;"," }"," return new Math.Random().nextInt(b - a + 1) + a;",
86
+ "}"])+"("+b+", "+a+")",Blockly.Dart.ORDER_UNARY_POSTFIX]};Blockly.Dart.math_random_float=function(a){Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";return["new Math.Random().nextDouble()",Blockly.Dart.ORDER_UNARY_POSTFIX]};
87
+ Blockly.Dart.math_atan2=function(a){Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";var b=Blockly.Dart.valueToCode(a,"X",Blockly.Dart.ORDER_NONE)||"0";return["Math.atan2("+(Blockly.Dart.valueToCode(a,"Y",Blockly.Dart.ORDER_NONE)||"0")+", "+b+") / Math.pi * 180",Blockly.Dart.ORDER_MULTIPLICATIVE]};Blockly.Dart.procedures={};
88
+ Blockly.Dart.procedures_defreturn=function(a){var b=Blockly.Dart.variableDB_.getName(a.getFieldValue("NAME"),Blockly.PROCEDURE_CATEGORY_NAME),c="";Blockly.Dart.STATEMENT_PREFIX&&(c+=Blockly.Dart.injectId(Blockly.Dart.STATEMENT_PREFIX,a));Blockly.Dart.STATEMENT_SUFFIX&&(c+=Blockly.Dart.injectId(Blockly.Dart.STATEMENT_SUFFIX,a));c&&(c=Blockly.Dart.prefixLines(c,Blockly.Dart.INDENT));var d="";Blockly.Dart.INFINITE_LOOP_TRAP&&(d=Blockly.Dart.prefixLines(Blockly.Dart.injectId(Blockly.Dart.INFINITE_LOOP_TRAP,a),
89
+ Blockly.Dart.INDENT));var e=Blockly.Dart.statementToCode(a,"STACK"),f=Blockly.Dart.valueToCode(a,"RETURN",Blockly.Dart.ORDER_NONE)||"",g="";e&&f&&(g=c);f&&(f=Blockly.Dart.INDENT+"return "+f+";\n");for(var k=f?"dynamic":"void",l=[],m=a.getVars(),h=0;h<m.length;h++)l[h]=Blockly.Dart.variableDB_.getName(m[h],Blockly.VARIABLE_CATEGORY_NAME);c=k+" "+b+"("+l.join(", ")+") {\n"+c+d+e+g+f+"}";c=Blockly.Dart.scrub_(a,c);Blockly.Dart.definitions_["%"+b]=c;return null};Blockly.Dart.procedures_defnoreturn=Blockly.Dart.procedures_defreturn;
90
+ Blockly.Dart.procedures_callreturn=function(a){for(var b=Blockly.Dart.variableDB_.getName(a.getFieldValue("NAME"),Blockly.PROCEDURE_CATEGORY_NAME),c=[],d=a.getVars(),e=0;e<d.length;e++)c[e]=Blockly.Dart.valueToCode(a,"ARG"+e,Blockly.Dart.ORDER_NONE)||"null";return[b+"("+c.join(", ")+")",Blockly.Dart.ORDER_UNARY_POSTFIX]};Blockly.Dart.procedures_callnoreturn=function(a){return Blockly.Dart.procedures_callreturn(a)[0]+";\n"};
91
+ Blockly.Dart.procedures_ifreturn=function(a){var b="if ("+(Blockly.Dart.valueToCode(a,"CONDITION",Blockly.Dart.ORDER_NONE)||"false")+") {\n";Blockly.Dart.STATEMENT_SUFFIX&&(b+=Blockly.Dart.prefixLines(Blockly.Dart.injectId(Blockly.Dart.STATEMENT_SUFFIX,a),Blockly.Dart.INDENT));a.hasReturnValue_?(a=Blockly.Dart.valueToCode(a,"VALUE",Blockly.Dart.ORDER_NONE)||"null",b+=Blockly.Dart.INDENT+"return "+a+";\n"):b+=Blockly.Dart.INDENT+"return;\n";return b+"}\n"};Blockly.Dart.texts={};Blockly.Dart.addReservedWords("Html,Math");Blockly.Dart.text=function(a){return[Blockly.Dart.quote_(a.getFieldValue("TEXT")),Blockly.Dart.ORDER_ATOMIC]};Blockly.Dart.text_multiline=function(a){return[Blockly.Dart.multiline_quote_(a.getFieldValue("TEXT")),Blockly.Dart.ORDER_ATOMIC]};
92
+ Blockly.Dart.text_join=function(a){switch(a.itemCount_){case 0:return["''",Blockly.Dart.ORDER_ATOMIC];case 1:return[(Blockly.Dart.valueToCode(a,"ADD0",Blockly.Dart.ORDER_UNARY_POSTFIX)||"''")+".toString()",Blockly.Dart.ORDER_UNARY_POSTFIX];default:for(var b=Array(a.itemCount_),c=0;c<a.itemCount_;c++)b[c]=Blockly.Dart.valueToCode(a,"ADD"+c,Blockly.Dart.ORDER_NONE)||"''";a="["+b.join(",")+"].join()";return[a,Blockly.Dart.ORDER_UNARY_POSTFIX]}};
93
+ Blockly.Dart.text_append=function(a){var b=Blockly.Dart.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME);a=Blockly.Dart.valueToCode(a,"TEXT",Blockly.Dart.ORDER_NONE)||"''";return b+" = ["+b+", "+a+"].join();\n"};Blockly.Dart.text_length=function(a){return[(Blockly.Dart.valueToCode(a,"VALUE",Blockly.Dart.ORDER_UNARY_POSTFIX)||"''")+".length",Blockly.Dart.ORDER_UNARY_POSTFIX]};
94
+ Blockly.Dart.text_isEmpty=function(a){return[(Blockly.Dart.valueToCode(a,"VALUE",Blockly.Dart.ORDER_UNARY_POSTFIX)||"''")+".isEmpty",Blockly.Dart.ORDER_UNARY_POSTFIX]};
95
+ Blockly.Dart.text_indexOf=function(a){var b="FIRST"==a.getFieldValue("END")?"indexOf":"lastIndexOf",c=Blockly.Dart.valueToCode(a,"FIND",Blockly.Dart.ORDER_NONE)||"''";b=(Blockly.Dart.valueToCode(a,"VALUE",Blockly.Dart.ORDER_UNARY_POSTFIX)||"''")+"."+b+"("+c+")";return a.workspace.options.oneBasedIndex?[b+" + 1",Blockly.Dart.ORDER_ADDITIVE]:[b,Blockly.Dart.ORDER_UNARY_POSTFIX]};
96
+ Blockly.Dart.text_charAt=function(a){var b=a.getFieldValue("WHERE")||"FROM_START",c=Blockly.Dart.valueToCode(a,"VALUE",Blockly.Dart.ORDER_UNARY_POSTFIX)||"''";switch(b){case "FIRST":return[c+"[0]",Blockly.Dart.ORDER_UNARY_POSTFIX];case "FROM_START":return a=Blockly.Dart.getAdjusted(a,"AT"),[c+"["+a+"]",Blockly.Dart.ORDER_UNARY_POSTFIX];case "LAST":case "FROM_END":return a=Blockly.Dart.getAdjusted(a,"AT",1),b=Blockly.Dart.provideFunction_("text_get_from_end",["String "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+
97
+ "(String text, num x) {"," return text[text.length - x];","}"]),[b+"("+c+", "+a+")",Blockly.Dart.ORDER_UNARY_POSTFIX];case "RANDOM":return Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",b=Blockly.Dart.provideFunction_("text_random_letter",["String "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(String text) {"," int x = new Math.Random().nextInt(text.length);"," return text[x];","}"]),[b+"("+c+")",Blockly.Dart.ORDER_UNARY_POSTFIX]}throw Error("Unhandled option (text_charAt).");
98
+ };
99
+ Blockly.Dart.text_getSubstring=function(a){var b=Blockly.Dart.valueToCode(a,"STRING",Blockly.Dart.ORDER_UNARY_POSTFIX)||"''",c=a.getFieldValue("WHERE1"),d=a.getFieldValue("WHERE2");if("FIRST"==c&&"LAST"==d)a=b;else if(b.match(/^'?\w+'?$/)||"FROM_END"!=c&&"FROM_START"==d){switch(c){case "FROM_START":var e=Blockly.Dart.getAdjusted(a,"AT1");break;case "FROM_END":e=Blockly.Dart.getAdjusted(a,"AT1",1,!1,Blockly.Dart.ORDER_ADDITIVE);e=b+".length - "+e;break;case "FIRST":e="0";break;default:throw Error("Unhandled option (text_getSubstring).");}switch(d){case "FROM_START":var f=
100
+ Blockly.Dart.getAdjusted(a,"AT2",1);break;case "FROM_END":f=Blockly.Dart.getAdjusted(a,"AT2",0,!1,Blockly.Dart.ORDER_ADDITIVE);f=b+".length - "+f;break;case "LAST":break;default:throw Error("Unhandled option (text_getSubstring).");}a="LAST"==d?b+".substring("+e+")":b+".substring("+e+", "+f+")"}else e=Blockly.Dart.getAdjusted(a,"AT1"),f=Blockly.Dart.getAdjusted(a,"AT2"),a=Blockly.Dart.provideFunction_("text_get_substring",["String "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(String text, String where1, num at1, String where2, num at2) {",
101
+ " int getAt(String where, num at) {"," if (where == 'FROM_END') {"," at = text.length - 1 - at;"," } else if (where == 'FIRST') {"," at = 0;"," } else if (where == 'LAST') {"," at = text.length - 1;"," } else if (where != 'FROM_START') {"," throw 'Unhandled option (text_getSubstring).';"," }"," return at;"," }"," at1 = getAt(where1, at1);"," at2 = getAt(where2, at2) + 1;"," return text.substring(at1, at2);","}"])+"("+b+", '"+c+"', "+e+", '"+d+"', "+f+")";
102
+ return[a,Blockly.Dart.ORDER_UNARY_POSTFIX]};
103
+ Blockly.Dart.text_changeCase=function(a){var b={UPPERCASE:".toUpperCase()",LOWERCASE:".toLowerCase()",TITLECASE:null}[a.getFieldValue("CASE")];a=Blockly.Dart.valueToCode(a,"TEXT",b?Blockly.Dart.ORDER_UNARY_POSTFIX:Blockly.Dart.ORDER_NONE)||"''";return[b?a+b:Blockly.Dart.provideFunction_("text_toTitleCase",["String "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(String str) {"," RegExp exp = new RegExp(r'\\b');"," List<String> list = str.split(exp);"," final title = new StringBuffer();"," for (String part in list) {",
104
+ " if (part.length > 0) {"," title.write(part[0].toUpperCase());"," if (part.length > 0) {"," title.write(part.substring(1).toLowerCase());"," }"," }"," }"," return title.toString();","}"])+"("+a+")",Blockly.Dart.ORDER_UNARY_POSTFIX]};
105
+ Blockly.Dart.text_trim=function(a){var b={LEFT:".replaceFirst(new RegExp(r'^\\s+'), '')",RIGHT:".replaceFirst(new RegExp(r'\\s+$'), '')",BOTH:".trim()"}[a.getFieldValue("MODE")];return[(Blockly.Dart.valueToCode(a,"TEXT",Blockly.Dart.ORDER_UNARY_POSTFIX)||"''")+b,Blockly.Dart.ORDER_UNARY_POSTFIX]};Blockly.Dart.text_print=function(a){return"print("+(Blockly.Dart.valueToCode(a,"TEXT",Blockly.Dart.ORDER_NONE)||"''")+");\n"};
106
+ Blockly.Dart.text_prompt_ext=function(a){Blockly.Dart.definitions_.import_dart_html="import 'dart:html' as Html;";var b="Html.window.prompt("+(a.getField("TEXT")?Blockly.Dart.quote_(a.getFieldValue("TEXT")):Blockly.Dart.valueToCode(a,"TEXT",Blockly.Dart.ORDER_NONE)||"''")+", '')";"NUMBER"==a.getFieldValue("TYPE")&&(Blockly.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",b="Math.parseDouble("+b+")");return[b,Blockly.Dart.ORDER_UNARY_POSTFIX]};Blockly.Dart.text_prompt=Blockly.Dart.text_prompt_ext;
107
+ Blockly.Dart.text_count=function(a){var b=Blockly.Dart.valueToCode(a,"TEXT",Blockly.Dart.ORDER_UNARY_POSTFIX)||"''";a=Blockly.Dart.valueToCode(a,"SUB",Blockly.Dart.ORDER_NONE)||"''";return[Blockly.Dart.provideFunction_("text_count",["int "+Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_+"(String haystack, String needle) {"," if (needle.length == 0) {"," return haystack.length + 1;"," }"," int index = 0;"," int count = 0;"," while (index != -1) {"," index = haystack.indexOf(needle, index);"," if (index != -1) {",
108
+ " count++;"," index += needle.length;"," }"," }"," return count;","}"])+"("+b+", "+a+")",Blockly.Dart.ORDER_UNARY_POSTFIX]};Blockly.Dart.text_replace=function(a){var b=Blockly.Dart.valueToCode(a,"TEXT",Blockly.Dart.ORDER_UNARY_POSTFIX)||"''",c=Blockly.Dart.valueToCode(a,"FROM",Blockly.Dart.ORDER_NONE)||"''";a=Blockly.Dart.valueToCode(a,"TO",Blockly.Dart.ORDER_NONE)||"''";return[b+".replaceAll("+c+", "+a+")",Blockly.Dart.ORDER_UNARY_POSTFIX]};
109
+ Blockly.Dart.text_reverse=function(a){return["new String.fromCharCodes("+(Blockly.Dart.valueToCode(a,"TEXT",Blockly.Dart.ORDER_UNARY_POSTFIX)||"''")+".runes.toList().reversed)",Blockly.Dart.ORDER_UNARY_POSTFIX]};Blockly.Dart.variables={};Blockly.Dart.variables_get=function(a){return[Blockly.Dart.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME),Blockly.Dart.ORDER_ATOMIC]};Blockly.Dart.variables_set=function(a){var b=Blockly.Dart.valueToCode(a,"VALUE",Blockly.Dart.ORDER_ASSIGNMENT)||"0";return Blockly.Dart.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME)+" = "+b+";\n"};Blockly.Dart.variablesDynamic={};Blockly.Dart.variables_get_dynamic=Blockly.Dart.variables_get;Blockly.Dart.variables_set_dynamic=Blockly.Dart.variables_set;
110
+ return Blockly.Dart;
111
+ }));
112
+
113
+
114
+ //# sourceMappingURL=dart_compressed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["generators/dart.js","generators/dart/colour.js","generators/dart/lists.js","generators/dart/logic.js","generators/dart/loops.js","generators/dart/math.js","generators/dart/procedures.js","generators/dart/text.js","generators/dart/variables.js","generators/dart/variables_dynamic.js"],"names":["Blockly","Dart","Generator","addReservedWords","ORDER_ATOMIC","ORDER_UNARY_POSTFIX","ORDER_UNARY_PREFIX","ORDER_MULTIPLICATIVE","ORDER_ADDITIVE","ORDER_SHIFT","ORDER_BITWISE_AND","ORDER_BITWISE_XOR","ORDER_BITWISE_OR","ORDER_RELATIONAL","ORDER_EQUALITY","ORDER_LOGICAL_AND","ORDER_LOGICAL_OR","ORDER_IF_NULL","ORDER_CONDITIONAL","ORDER_CASCADE","ORDER_ASSIGNMENT","ORDER_NONE","init","Blockly.Dart.init","workspace","definitions_","Object","create","functionNames_","variableDB_","reset","Names","RESERVED_WORDS_","setVariableMap","getVariableMap","defvars","devVarList","Variables","allDeveloperVariables","i","length","push","getName","DEVELOPER_VARIABLE_TYPE","variables","allUsedVarModels","getId","VARIABLE_CATEGORY_NAME","join","finish","Blockly.Dart.finish","code","prefixLines","INDENT","imports","definitions","name","def","match","replace","scrubNakedValue","Blockly.Dart.scrubNakedValue","line","quote_","Blockly.Dart.quote_","string","multiline_quote_","Blockly.Dart.multiline_quote_","split","lines","map","scrub_","Blockly.Dart.scrub_","block","opt_thisOnly","commentCode","outputConnection","targetConnection","comment","getCommentText","utils","wrap","COMMENT_WRAP","getProcedureDef","inputList","type","INPUT_VALUE","childBlock","connection","targetBlock","allNestedComments","nextBlock","nextConnection","nextCode","blockToCode","getAdjusted","Blockly.Dart.getAdjusted","atId","opt_delta","opt_negate","opt_order","delta","order","options","oneBasedIndex","defaultAtIndex","at","valueToCode","isNumber","parseInt","innerOrder","Math","floor","getFieldValue","functionName","provideFunction_","FUNCTION_NAME_PLACEHOLDER_","red","green","blue","c1","c2","ratio","elements","Array","itemCount_","element","operator","item","cacheList","listVar","getDistinctName","list","mode","where","listOrder","xVar","Error","value","where1","where2","at1","at2","direction","sortFunctionName","input","delimiter","n","STATEMENT_PREFIX","injectId","conditionCode","branchCode","statementToCode","STATEMENT_SUFFIX","getInput","OPERATORS","argument0","argument1","defaultArgument","value_if","value_then","value_else","repeats","getField","String","Number","branch","addLoopTrap","loopVar","endVar","until","variable0","increment","up","step","abs","startVar","incVar","xfix","loop","Constants","Loops","CONTROL_FLOW_IN_LOOP_CHECK_MIXIN","getSurroundLoop","suppressPrefixSuffix","Infinity","tuple","arg","substring","CONSTANTS","constant","number_to_check","dropdown_property","divisor","varName","func","argument2","funcName","PROCEDURE_CATEGORY_NAME","xfix1","loopTrap","INFINITE_LOOP_TRAP","returnValue","xfix2","returnType","args","getVars","hasReturnValue_","text","textOrder","msg","sub","from","to"],"mappings":"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","file":"dart_compressed.js","sourceRoot":"./"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2014 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /**
8
+ * @fileoverview Generating Dart for colour blocks.
9
+ * @author fraser@google.com (Neil Fraser)
10
+ */
11
+ 'use strict';
12
+
13
+ goog.provide('Blockly.Dart.colour');
14
+
15
+ goog.require('Blockly.Dart');
16
+
17
+
18
+ Blockly.Dart.addReservedWords('Math');
19
+
20
+ Blockly.Dart['colour_picker'] = function(block) {
21
+ // Colour picker.
22
+ var code = Blockly.Dart.quote_(block.getFieldValue('COLOUR'));
23
+ return [code, Blockly.Dart.ORDER_ATOMIC];
24
+ };
25
+
26
+ Blockly.Dart['colour_random'] = function(block) {
27
+ // Generate a random colour.
28
+ Blockly.Dart.definitions_['import_dart_math'] =
29
+ 'import \'dart:math\' as Math;';
30
+ var functionName = Blockly.Dart.provideFunction_(
31
+ 'colour_random',
32
+ ['String ' + Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_ + '() {',
33
+ ' String hex = \'0123456789abcdef\';',
34
+ ' var rnd = new Math.Random();',
35
+ ' return \'#${hex[rnd.nextInt(16)]}${hex[rnd.nextInt(16)]}\'',
36
+ ' \'${hex[rnd.nextInt(16)]}${hex[rnd.nextInt(16)]}\'',
37
+ ' \'${hex[rnd.nextInt(16)]}${hex[rnd.nextInt(16)]}\';',
38
+ '}']);
39
+ var code = functionName + '()';
40
+ return [code, Blockly.Dart.ORDER_UNARY_POSTFIX];
41
+ };
42
+
43
+ Blockly.Dart['colour_rgb'] = function(block) {
44
+ // Compose a colour from RGB components expressed as percentages.
45
+ var red = Blockly.Dart.valueToCode(block, 'RED',
46
+ Blockly.Dart.ORDER_NONE) || 0;
47
+ var green = Blockly.Dart.valueToCode(block, 'GREEN',
48
+ Blockly.Dart.ORDER_NONE) || 0;
49
+ var blue = Blockly.Dart.valueToCode(block, 'BLUE',
50
+ Blockly.Dart.ORDER_NONE) || 0;
51
+
52
+ Blockly.Dart.definitions_['import_dart_math'] =
53
+ 'import \'dart:math\' as Math;';
54
+ var functionName = Blockly.Dart.provideFunction_(
55
+ 'colour_rgb',
56
+ ['String ' + Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_ +
57
+ '(num r, num g, num b) {',
58
+ ' num rn = (Math.max(Math.min(r, 100), 0) * 2.55).round();',
59
+ ' String rs = rn.toInt().toRadixString(16);',
60
+ ' rs = \'0$rs\';',
61
+ ' rs = rs.substring(rs.length - 2);',
62
+ ' num gn = (Math.max(Math.min(g, 100), 0) * 2.55).round();',
63
+ ' String gs = gn.toInt().toRadixString(16);',
64
+ ' gs = \'0$gs\';',
65
+ ' gs = gs.substring(gs.length - 2);',
66
+ ' num bn = (Math.max(Math.min(b, 100), 0) * 2.55).round();',
67
+ ' String bs = bn.toInt().toRadixString(16);',
68
+ ' bs = \'0$bs\';',
69
+ ' bs = bs.substring(bs.length - 2);',
70
+ ' return \'#$rs$gs$bs\';',
71
+ '}']);
72
+ var code = functionName + '(' + red + ', ' + green + ', ' + blue + ')';
73
+ return [code, Blockly.Dart.ORDER_UNARY_POSTFIX];
74
+ };
75
+
76
+ Blockly.Dart['colour_blend'] = function(block) {
77
+ // Blend two colours together.
78
+ var c1 = Blockly.Dart.valueToCode(block, 'COLOUR1',
79
+ Blockly.Dart.ORDER_NONE) || '\'#000000\'';
80
+ var c2 = Blockly.Dart.valueToCode(block, 'COLOUR2',
81
+ Blockly.Dart.ORDER_NONE) || '\'#000000\'';
82
+ var ratio = Blockly.Dart.valueToCode(block, 'RATIO',
83
+ Blockly.Dart.ORDER_NONE) || 0.5;
84
+
85
+ Blockly.Dart.definitions_['import_dart_math'] =
86
+ 'import \'dart:math\' as Math;';
87
+ var functionName = Blockly.Dart.provideFunction_(
88
+ 'colour_blend',
89
+ ['String ' + Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_ +
90
+ '(String c1, String c2, num ratio) {',
91
+ ' ratio = Math.max(Math.min(ratio, 1), 0);',
92
+ ' int r1 = int.parse(\'0x${c1.substring(1, 3)}\');',
93
+ ' int g1 = int.parse(\'0x${c1.substring(3, 5)}\');',
94
+ ' int b1 = int.parse(\'0x${c1.substring(5, 7)}\');',
95
+ ' int r2 = int.parse(\'0x${c2.substring(1, 3)}\');',
96
+ ' int g2 = int.parse(\'0x${c2.substring(3, 5)}\');',
97
+ ' int b2 = int.parse(\'0x${c2.substring(5, 7)}\');',
98
+ ' num rn = (r1 * (1 - ratio) + r2 * ratio).round();',
99
+ ' String rs = rn.toInt().toRadixString(16);',
100
+ ' num gn = (g1 * (1 - ratio) + g2 * ratio).round();',
101
+ ' String gs = gn.toInt().toRadixString(16);',
102
+ ' num bn = (b1 * (1 - ratio) + b2 * ratio).round();',
103
+ ' String bs = bn.toInt().toRadixString(16);',
104
+ ' rs = \'0$rs\';',
105
+ ' rs = rs.substring(rs.length - 2);',
106
+ ' gs = \'0$gs\';',
107
+ ' gs = gs.substring(gs.length - 2);',
108
+ ' bs = \'0$bs\';',
109
+ ' bs = bs.substring(bs.length - 2);',
110
+ ' return \'#$rs$gs$bs\';',
111
+ '}']);
112
+ var code = functionName + '(' + c1 + ', ' + c2 + ', ' + ratio + ')';
113
+ return [code, Blockly.Dart.ORDER_UNARY_POSTFIX];
114
+ };