blockly 9.3.2 → 10.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/README.md +9 -7
  2. package/blockly.min.js +1304 -1404
  3. package/blockly_compressed.js +1057 -1099
  4. package/blockly_compressed.js.map +1 -1
  5. package/blocks_compressed.js +120 -136
  6. package/blocks_compressed.js.map +1 -1
  7. package/core/block.d.ts +59 -32
  8. package/core/block_dragger.d.ts +2 -2
  9. package/core/block_svg.d.ts +38 -67
  10. package/core/blockly.d.ts +18 -112
  11. package/core/browser_events.d.ts +1 -2
  12. package/core/bubble_dragger.d.ts +1 -2
  13. package/core/{bubble.d.ts → bubble_old.d.ts} +3 -7
  14. package/core/bubbles/bubble.d.ts +174 -0
  15. package/core/bubbles/mini_workspace_bubble.d.ts +80 -0
  16. package/core/bubbles/text_bubble.d.ts +35 -0
  17. package/core/bubbles/textinput_bubble.d.ts +89 -0
  18. package/core/bump_objects.d.ts +6 -4
  19. package/core/connection.d.ts +19 -9
  20. package/core/connection_db.d.ts +4 -4
  21. package/core/contextmenu.d.ts +1 -2
  22. package/core/events/events.d.ts +1 -4
  23. package/core/events/events_abstract.d.ts +0 -6
  24. package/core/events/events_block_base.d.ts +0 -6
  25. package/core/events/events_block_change.d.ts +0 -6
  26. package/core/events/events_block_create.d.ts +0 -6
  27. package/core/events/events_block_delete.d.ts +0 -6
  28. package/core/events/events_block_drag.d.ts +0 -6
  29. package/core/events/events_block_move.d.ts +21 -7
  30. package/core/events/events_bubble_open.d.ts +0 -6
  31. package/core/events/events_click.d.ts +0 -6
  32. package/core/events/events_comment_base.d.ts +0 -6
  33. package/core/events/events_comment_change.d.ts +0 -6
  34. package/core/events/events_comment_create.d.ts +0 -6
  35. package/core/events/events_comment_move.d.ts +0 -6
  36. package/core/events/events_marker_move.d.ts +0 -6
  37. package/core/events/events_selected.d.ts +0 -6
  38. package/core/events/events_theme_change.d.ts +0 -6
  39. package/core/events/events_toolbox_item_select.d.ts +0 -6
  40. package/core/events/events_trashcan_open.d.ts +0 -6
  41. package/core/events/events_var_base.d.ts +0 -6
  42. package/core/events/events_var_create.d.ts +0 -6
  43. package/core/events/events_var_delete.d.ts +0 -6
  44. package/core/events/events_var_rename.d.ts +0 -6
  45. package/core/events/events_viewport.d.ts +0 -6
  46. package/core/events/utils.d.ts +1 -1
  47. package/core/events/workspace_events.d.ts +1 -16
  48. package/core/field.d.ts +31 -5
  49. package/core/field_checkbox.d.ts +1 -1
  50. package/core/field_colour.d.ts +0 -2
  51. package/core/field_dropdown.d.ts +11 -13
  52. package/core/field_image.d.ts +5 -5
  53. package/core/field_input.d.ts +9 -2
  54. package/core/field_label.d.ts +3 -1
  55. package/core/field_number.d.ts +4 -4
  56. package/core/field_variable.d.ts +5 -5
  57. package/core/flyout_base.d.ts +23 -25
  58. package/core/flyout_button.d.ts +9 -9
  59. package/core/flyout_horizontal.d.ts +1 -1
  60. package/core/flyout_vertical.d.ts +1 -1
  61. package/core/generator.d.ts +15 -2
  62. package/core/gesture.d.ts +58 -41
  63. package/core/icons/comment_icon.d.ts +108 -0
  64. package/core/icons/exceptions.d.ts +14 -0
  65. package/core/icons/icon.d.ts +38 -0
  66. package/core/icons/icon_types.d.ts +22 -0
  67. package/core/icons/mutator_icon.d.ts +90 -0
  68. package/core/icons/registry.d.ts +23 -0
  69. package/core/icons/warning_icon.d.ts +67 -0
  70. package/core/icons.d.ts +12 -0
  71. package/core/inputs/dummy_input.d.ts +20 -0
  72. package/core/{input.d.ts → inputs/input.d.ts} +20 -13
  73. package/core/{input_types.d.ts → inputs/input_types.d.ts} +2 -1
  74. package/core/inputs/statement_input.d.ts +22 -0
  75. package/core/inputs/value_input.d.ts +20 -0
  76. package/core/interfaces/i_block_dragger.d.ts +1 -1
  77. package/core/interfaces/i_bounded_element.d.ts +2 -1
  78. package/core/interfaces/i_bubble.d.ts +2 -14
  79. package/core/interfaces/i_has_bubble.d.ts +14 -0
  80. package/core/interfaces/i_icon.d.ts +75 -0
  81. package/core/interfaces/i_serializable.d.ts +24 -0
  82. package/core/keyboard_nav/ast_node.d.ts +15 -15
  83. package/core/keyboard_nav/basic_cursor.d.ts +2 -2
  84. package/core/keyboard_nav/marker.d.ts +2 -2
  85. package/core/main.d.ts +0 -10
  86. package/core/marker_manager.d.ts +0 -1
  87. package/core/names.d.ts +4 -4
  88. package/core/options.d.ts +3 -3
  89. package/core/procedures.d.ts +1 -4
  90. package/core/registry.d.ts +5 -0
  91. package/core/render_management.d.ts +9 -1
  92. package/core/rendered_connection.d.ts +7 -7
  93. package/core/renderers/common/block_rendering.d.ts +0 -10
  94. package/core/renderers/common/constants.d.ts +5 -7
  95. package/core/renderers/common/drawer.d.ts +7 -2
  96. package/core/renderers/common/info.d.ts +1 -4
  97. package/core/renderers/common/marker_svg.d.ts +4 -4
  98. package/core/renderers/common/renderer.d.ts +0 -9
  99. package/core/renderers/geras/highlighter.d.ts +1 -1
  100. package/core/renderers/geras/info.d.ts +1 -1
  101. package/core/renderers/geras/measurables/inline_input.d.ts +1 -1
  102. package/core/renderers/geras/measurables/statement_input.d.ts +1 -1
  103. package/core/renderers/geras/renderer.d.ts +1 -1
  104. package/core/renderers/measurables/external_value_input.d.ts +1 -1
  105. package/core/renderers/measurables/field.d.ts +1 -1
  106. package/core/renderers/measurables/icon.d.ts +5 -1
  107. package/core/renderers/measurables/inline_input.d.ts +1 -1
  108. package/core/renderers/measurables/input_connection.d.ts +1 -1
  109. package/core/renderers/measurables/statement_input.d.ts +1 -1
  110. package/core/renderers/zelos/constants.d.ts +2 -2
  111. package/core/renderers/zelos/info.d.ts +2 -2
  112. package/core/renderers/zelos/marker_svg.d.ts +3 -3
  113. package/core/renderers/zelos/measurables/inputs.d.ts +1 -1
  114. package/core/renderers/zelos/path_object.d.ts +3 -3
  115. package/core/scrollbar.d.ts +0 -2
  116. package/core/scrollbar_pair.d.ts +0 -2
  117. package/core/serialization/blocks.d.ts +3 -3
  118. package/core/serialization/exceptions.d.ts +11 -0
  119. package/core/shortcut_registry.d.ts +2 -2
  120. package/core/theme_manager.d.ts +0 -1
  121. package/core/touch.d.ts +0 -43
  122. package/core/trashcan.d.ts +19 -21
  123. package/core/utils/dom.d.ts +2 -2
  124. package/core/utils/object.d.ts +0 -25
  125. package/core/utils/rect.d.ts +2 -0
  126. package/core/utils/style.d.ts +0 -12
  127. package/core/utils/svg_math.d.ts +0 -8
  128. package/core/utils/xml.d.ts +15 -22
  129. package/core/utils.d.ts +0 -138
  130. package/core/widgetdiv.d.ts +5 -0
  131. package/core/workspace.d.ts +9 -3
  132. package/core/workspace_comment.d.ts +3 -3
  133. package/core/workspace_comment_svg.d.ts +31 -44
  134. package/core/workspace_dragger.d.ts +1 -4
  135. package/core/workspace_svg.d.ts +13 -50
  136. package/core/xml.d.ts +0 -12
  137. package/core-browser.js +0 -1
  138. package/core.js +0 -1
  139. package/dart_compressed.js +124 -159
  140. package/dart_compressed.js.map +1 -1
  141. package/javascript_compressed.js +127 -169
  142. package/javascript_compressed.js.map +1 -1
  143. package/lua_compressed.js +119 -142
  144. package/lua_compressed.js.map +1 -1
  145. package/msg/constants.d.ts +1 -3
  146. package/msg/msg.d.ts +1 -2
  147. package/msg/qqq.d.ts +1 -3
  148. package/msg/synonyms.d.ts +1 -3
  149. package/package.json +12 -13
  150. package/php_compressed.js +131 -161
  151. package/php_compressed.js.map +1 -1
  152. package/python_compressed.js +118 -149
  153. package/python_compressed.js.map +1 -1
  154. package/core/comment.d.ts +0 -115
  155. package/core/events/events_ui.d.ts +0 -40
  156. package/core/icon.d.ts +0 -89
  157. package/core/mutator.d.ts +0 -142
  158. package/core/renderers/common/debug.d.ts +0 -29
  159. package/core/renderers/common/debugger.d.ts +0 -117
  160. package/core/warning.d.ts +0 -53
@@ -6,37 +6,28 @@
6
6
  define(["./blockly_compressed.js"], factory);
7
7
  } else if (typeof exports === 'object') { // Node.js
8
8
  module.exports = factory(require("./blockly_compressed.js"));
9
- } else { // Browser
10
- var factoryExports = factory(root.Blockly);
11
- root.Blockly.Dart = factoryExports.dartGenerator;
12
- root.Blockly.Dart.__namespace__ = factoryExports.__namespace__;
9
+ } else { // Script
10
+ root.dart = factory(root.Blockly);
13
11
  }
14
12
  }(this, function(__parent__) {
15
13
  var $=__parent__.__namespace__;
16
- var module$exports$Blockly$Dart={},module$contents$Blockly$Dart_Variables=$.module$build$src$core$variables,module$contents$Blockly$Dart_stringUtils=$.module$build$src$core$utils$string,module$contents$Blockly$Dart_CodeGenerator=$.CodeGenerator$$module$build$src$core$generator,module$contents$Blockly$Dart_Names=$.module$build$src$core$names.Names,module$contents$Blockly$Dart_NameType=$.NameType$$module$build$src$core$names,module$contents$Blockly$Dart_inputTypes=$.module$build$src$core$input_types.inputTypes;
17
- module$exports$Blockly$Dart.dartGenerator=new $.CodeGenerator$$module$build$src$core$generator("Dart");module$exports$Blockly$Dart.dartGenerator.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");
18
- module$exports$Blockly$Dart.dartGenerator.ORDER_ATOMIC=0;module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX=1;module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_PREFIX=2;module$exports$Blockly$Dart.dartGenerator.ORDER_MULTIPLICATIVE=3;module$exports$Blockly$Dart.dartGenerator.ORDER_ADDITIVE=4;module$exports$Blockly$Dart.dartGenerator.ORDER_SHIFT=5;module$exports$Blockly$Dart.dartGenerator.ORDER_BITWISE_AND=6;module$exports$Blockly$Dart.dartGenerator.ORDER_BITWISE_XOR=7;
19
- module$exports$Blockly$Dart.dartGenerator.ORDER_BITWISE_OR=8;module$exports$Blockly$Dart.dartGenerator.ORDER_RELATIONAL=9;module$exports$Blockly$Dart.dartGenerator.ORDER_EQUALITY=10;module$exports$Blockly$Dart.dartGenerator.ORDER_LOGICAL_AND=11;module$exports$Blockly$Dart.dartGenerator.ORDER_LOGICAL_OR=12;module$exports$Blockly$Dart.dartGenerator.ORDER_IF_NULL=13;module$exports$Blockly$Dart.dartGenerator.ORDER_CONDITIONAL=14;module$exports$Blockly$Dart.dartGenerator.ORDER_CASCADE=15;
20
- module$exports$Blockly$Dart.dartGenerator.ORDER_ASSIGNMENT=16;module$exports$Blockly$Dart.dartGenerator.ORDER_NONE=99;module$exports$Blockly$Dart.dartGenerator.isInitialized=!1;
21
- module$exports$Blockly$Dart.dartGenerator.init=function(a){Object.getPrototypeOf(this).init.call(this);this.nameDB_?this.nameDB_.reset():this.nameDB_=new $.module$build$src$core$names.Names(this.RESERVED_WORDS_);this.nameDB_.setVariableMap(a.getVariableMap());this.nameDB_.populateVariables(a);this.nameDB_.populateProcedures(a);const b=[];var c=$.module$build$src$core$variables.allDeveloperVariables(a);for(let d=0;d<c.length;d++)b.push(this.nameDB_.getName(c[d],$.NameType$$module$build$src$core$names.DEVELOPER_VARIABLE));
22
- a=$.module$build$src$core$variables.allUsedVarModels(a);for(c=0;c<a.length;c++)b.push(this.nameDB_.getName(a[c].getId(),$.NameType$$module$build$src$core$names.VARIABLE));b.length&&(this.definitions_.variables="var "+b.join(", ")+";");this.isInitialized=!0};
23
- module$exports$Blockly$Dart.dartGenerator.finish=function(a){a&&(a=this.prefixLines(a,this.INDENT));a="main() {\n"+a+"}";const b=[],c=[];for(let d in this.definitions_){const e=this.definitions_[d];e.match(/^import\s/)?b.push(e):c.push(e)}a=Object.getPrototypeOf(this).finish.call(this,a);this.isInitialized=!1;this.nameDB_.reset();return(b.join("\n")+"\n\n"+c.join("\n\n")).replace(/\n\n+/g,"\n\n").replace(/\n*$/,"\n\n\n")+a};
24
- module$exports$Blockly$Dart.dartGenerator.scrubNakedValue=function(a){return a+";\n"};module$exports$Blockly$Dart.dartGenerator.quote_=function(a){a=a.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n").replace(/\$/g,"\\$").replace(/'/g,"\\'");return"'"+a+"'"};module$exports$Blockly$Dart.dartGenerator.multiline_quote_=function(a){return a.split(/\n/g).map(this.quote_).join(" + '\\n' + \n")};
25
- module$exports$Blockly$Dart.dartGenerator.scrub_=function(a,b,c){let d="";if(!a.outputConnection||!a.outputConnection.targetConnection){var e=a.getCommentText();e&&(e=$.module$build$src$core$utils$string.wrap(e,this.COMMENT_WRAP-3),d=a.getProcedureDef?d+this.prefixLines(e+"\n","/// "):d+this.prefixLines(e+"\n","// "));for(let f=0;f<a.inputList.length;f++)a.inputList[f].type===$.module$build$src$core$input_types.inputTypes.VALUE&&(e=a.inputList[f].connection.targetBlock())&&(e=this.allNestedComments(e))&&
26
- (d+=this.prefixLines(e,"// "))}a=a.nextConnection&&a.nextConnection.targetBlock();c=c?"":this.blockToCode(a);return d+b+c};
27
- module$exports$Blockly$Dart.dartGenerator.getAdjusted=function(a,b,c,d,e){c=c||0;e=e||this.ORDER_NONE;a.workspace.options.oneBasedIndex&&c--;const f=a.workspace.options.oneBasedIndex?"1":"0";let g,h;c?h=g=this.ORDER_ADDITIVE:d?h=g=this.ORDER_UNARY_PREFIX:g=e;a=this.valueToCode(a,b,g)||f;$.module$build$src$core$utils$string.isNumber(a)?(a=parseInt(a,10)+c,d&&(a=-a)):(0<c?a=a+" + "+c:0>c&&(a=a+" - "+-c),d&&(a=c?"-("+a+")":"-"+a),h=Math.floor(h),e=Math.floor(e),h&&e>=h&&(a="("+a+")"));return a};var module$exports$Blockly$Dart$colour={};module$exports$Blockly$Dart.dartGenerator.addReservedWords("Math");module$exports$Blockly$Dart.dartGenerator.colour_picker=function(a){return[module$exports$Blockly$Dart.dartGenerator.quote_(a.getFieldValue("COLOUR")),module$exports$Blockly$Dart.dartGenerator.ORDER_ATOMIC]};
28
- module$exports$Blockly$Dart.dartGenerator.colour_random=function(a){module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;";return[module$exports$Blockly$Dart.dartGenerator.provideFunction_("colour_random",`
29
- String ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}() {
14
+ var Order$$module$build$src$generators$dart={ATOMIC:0,UNARY_POSTFIX:1,UNARY_PREFIX:2,MULTIPLICATIVE:3,ADDITIVE:4,SHIFT:5,BITWISE_AND:6,BITWISE_XOR:7,BITWISE_OR:8,RELATIONAL:9,EQUALITY:10,LOGICAL_AND:11,LOGICAL_OR:12,IF_NULL:13,CONDITIONAL:14,CASCADE:15,ASSIGNMENT:16,NONE:99},DartGenerator$$module$build$src$generators$dart=class extends $.CodeGenerator$$module$build$src$core$generator{constructor(a){super(null!=a?a:"Dart");this.isInitialized=!1;for(const b in Order$$module$build$src$generators$dart)this["ORDER_"+
15
+ b]=Order$$module$build$src$generators$dart[b];this.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")}init(a){super.init();
16
+ this.nameDB_?this.nameDB_.reset():this.nameDB_=new $.Names$$module$build$src$core$names(this.RESERVED_WORDS_);this.nameDB_.setVariableMap(a.getVariableMap());this.nameDB_.populateVariables(a);this.nameDB_.populateProcedures(a);const b=[];var c=$.allDeveloperVariables$$module$build$src$core$variables(a);for(let d=0;d<c.length;d++)b.push(this.nameDB_.getName(c[d],$.NameType$$module$build$src$core$names.DEVELOPER_VARIABLE));a=$.allUsedVarModels$$module$build$src$core$variables(a);for(c=0;c<a.length;c++)b.push(this.nameDB_.getName(a[c].getId(),
17
+ $.NameType$$module$build$src$core$names.VARIABLE));b.length&&(this.definitions_.variables="var "+b.join(", ")+";");this.isInitialized=!0}finish(a){a&&(a=this.prefixLines(a,this.INDENT));a="main() {\n"+a+"}";const b=[],c=[];for(let d in this.definitions_){const e=this.definitions_[d];e.match(/^import\s/)?b.push(e):c.push(e)}a=super.finish(a);this.isInitialized=!1;this.nameDB_.reset();return(b.join("\n")+"\n\n"+c.join("\n\n")).replace(/\n\n+/g,"\n\n").replace(/\n*$/,"\n\n\n")+a}scrubNakedValue(a){return a+
18
+ ";\n"}quote_(a){a=a.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n").replace(/\$/g,"\\$").replace(/'/g,"\\'");return"'"+a+"'"}multiline_quote_(a){return a.split(/\n/g).map(this.quote_).join(" + '\\n' + \n")}scrub_(a,b,c){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=a.getProcedureDef?d+this.prefixLines(e+"\n","/// "):d+this.prefixLines(e+"\n","// "));for(let f=0;f<a.inputList.length;f++)a.inputList[f].type===
19
+ $.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);return d+b+c}getAdjusted(a,b,c,d,e){c=c||0;e=e||this.ORDER_NONE;a.workspace.options.oneBasedIndex&&c--;const f=a.workspace.options.oneBasedIndex?"1":"0";let g,h;c?h=g=this.ORDER_ADDITIVE:d?h=g=this.ORDER_UNARY_PREFIX:g=e;a=this.valueToCode(a,b,g)||f;$.isNumber$$module$build$src$core$utils$string(a)?
20
+ (a=parseInt(a,10)+c,d&&(a=-a)):(0<c?a=a+" + "+c:0>c&&(a=a+" - "+-c),d&&(a=c?"-("+a+")":"-"+a),h=Math.floor(h),e=Math.floor(e),h&&e>=h&&(a="("+a+")"));return a}},dartGenerator$$module$build$src$generators$dart=new DartGenerator$$module$build$src$generators$dart,module$build$src$generators$dart={};module$build$src$generators$dart.DartGenerator=DartGenerator$$module$build$src$generators$dart;module$build$src$generators$dart.Order=Order$$module$build$src$generators$dart;
21
+ module$build$src$generators$dart.dartGenerator=dartGenerator$$module$build$src$generators$dart;dartGenerator$$module$build$src$generators$dart.addReservedWords("Math");dartGenerator$$module$build$src$generators$dart.forBlock.colour_picker=function(a,b){return[b.quote_(a.getFieldValue("COLOUR")),Order$$module$build$src$generators$dart.ATOMIC]};dartGenerator$$module$build$src$generators$dart.forBlock.colour_random=function(a,b){b.definitions_.import_dart_math="import 'dart:math' as Math;";return[b.provideFunction_("colour_random",`
22
+ String ${b.FUNCTION_NAME_PLACEHOLDER_}() {
30
23
  String hex = '0123456789abcdef';
31
24
  var rnd = new Math.Random();
32
25
  return '#\${hex[rnd.nextInt(16)]}\${hex[rnd.nextInt(16)]}'
33
26
  '\${hex[rnd.nextInt(16)]}\${hex[rnd.nextInt(16)]}'
34
27
  '\${hex[rnd.nextInt(16)]}\${hex[rnd.nextInt(16)]}';
35
28
  }
36
- `)+"()",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
37
- module$exports$Blockly$Dart.dartGenerator.colour_rgb=function(a){const b=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"RED",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||0,c=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"GREEN",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||0;a=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"BLUE",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||0;module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math=
38
- "import 'dart:math' as Math;";return[module$exports$Blockly$Dart.dartGenerator.provideFunction_("colour_rgb",`
39
- String ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(num r, num g, num b) {
29
+ `)+"()",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};dartGenerator$$module$build$src$generators$dart.forBlock.colour_rgb=function(a,b){const c=b.valueToCode(a,"RED",Order$$module$build$src$generators$dart.NONE)||0,d=b.valueToCode(a,"GREEN",Order$$module$build$src$generators$dart.NONE)||0;a=b.valueToCode(a,"BLUE",Order$$module$build$src$generators$dart.NONE)||0;b.definitions_.import_dart_math="import 'dart:math' as Math;";return[b.provideFunction_("colour_rgb",`
30
+ String ${b.FUNCTION_NAME_PLACEHOLDER_}(num r, num g, num b) {
40
31
  num rn = (Math.max(Math.min(r, 100), 0) * 2.55).round();
41
32
  String rs = rn.toInt().toRadixString(16);
42
33
  rs = '0$rs';
@@ -51,10 +42,9 @@ String ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(n
51
42
  bs = bs.substring(bs.length - 2);
52
43
  return '#$rs$gs$bs';
53
44
  }
54
- `)+"("+b+", "+c+", "+a+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
55
- module$exports$Blockly$Dart.dartGenerator.colour_blend=function(a){const b=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"COLOUR1",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"'#000000'",c=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"COLOUR2",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"'#000000'";a=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"RATIO",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||.5;module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math=
56
- "import 'dart:math' as Math;";return[module$exports$Blockly$Dart.dartGenerator.provideFunction_("colour_blend",`
57
- String ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(String c1, String c2, num ratio) {
45
+ `)+"("+c+", "+d+", "+a+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};
46
+ dartGenerator$$module$build$src$generators$dart.forBlock.colour_blend=function(a,b){const c=b.valueToCode(a,"COLOUR1",Order$$module$build$src$generators$dart.NONE)||"'#000000'",d=b.valueToCode(a,"COLOUR2",Order$$module$build$src$generators$dart.NONE)||"'#000000'";a=b.valueToCode(a,"RATIO",Order$$module$build$src$generators$dart.NONE)||.5;b.definitions_.import_dart_math="import 'dart:math' as Math;";return[b.provideFunction_("colour_blend",`
47
+ String ${b.FUNCTION_NAME_PLACEHOLDER_}(String c1, String c2, num ratio) {
58
48
  ratio = Math.max(Math.min(ratio, 1), 0);
59
49
  int r1 = int.parse('0x\${c1.substring(1, 3)}');
60
50
  int g1 = int.parse('0x\${c1.substring(3, 5)}');
@@ -76,47 +66,43 @@ String ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(S
76
66
  bs = bs.substring(bs.length - 2);
77
67
  return '#$rs$gs$bs';
78
68
  }
79
- `)+"("+b+", "+c+", "+a+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};var module$exports$Blockly$Dart$lists={},module$contents$Blockly$Dart$lists_NameType=$.NameType$$module$build$src$core$names;module$exports$Blockly$Dart.dartGenerator.addReservedWords("Math");module$exports$Blockly$Dart.dartGenerator.lists_create_empty=function(a){return["[]",module$exports$Blockly$Dart.dartGenerator.ORDER_ATOMIC]};
80
- module$exports$Blockly$Dart.dartGenerator.lists_create_with=function(a){const b=Array(a.itemCount_);for(let c=0;c<a.itemCount_;c++)b[c]=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"ADD"+c,module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"null";return["["+b.join(", ")+"]",module$exports$Blockly$Dart.dartGenerator.ORDER_ATOMIC]};
81
- module$exports$Blockly$Dart.dartGenerator.lists_repeat=function(a){const b=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"ITEM",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"null";return["new List.filled("+(module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"NUM",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"0")+", "+b+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
82
- module$exports$Blockly$Dart.dartGenerator.lists_length=function(a){return[(module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"VALUE",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX)||"[]")+".length",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
83
- module$exports$Blockly$Dart.dartGenerator.lists_isEmpty=function(a){return[(module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"VALUE",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX)||"[]")+".isEmpty",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
84
- module$exports$Blockly$Dart.dartGenerator.lists_indexOf=function(a){var b="FIRST"===a.getFieldValue("END")?"indexOf":"lastIndexOf";const c=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"FIND",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"''";b=(module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"VALUE",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX)||"[]")+"."+b+"("+c+")";return a.workspace.options.oneBasedIndex?[b+" + 1",module$exports$Blockly$Dart.dartGenerator.ORDER_ADDITIVE]:
85
- [b,module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
86
- module$exports$Blockly$Dart.dartGenerator.lists_getIndex=function(a){function b(){const f=module$exports$Blockly$Dart.dartGenerator.nameDB_.getDistinctName("tmp_list",$.NameType$$module$build$src$core$names.VARIABLE),g="List "+f+" = "+e+";\n";e=f;return g}var c=a.getFieldValue("MODE")||"GET";const d=a.getFieldValue("WHERE")||"FROM_START";let e=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"VALUE","RANDOM"===d||"FROM_END"===d?module$exports$Blockly$Dart.dartGenerator.ORDER_NONE:module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX)||
87
- "[]";if(("RANDOM"!==d||"REMOVE"!==c)&&"FROM_END"!==d||e.match(/^\w+$/))switch(d){case "FIRST":if("GET"===c)return[e+".first",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX];if("GET_REMOVE"===c)return[e+".removeAt(0)",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX];if("REMOVE"===c)return e+".removeAt(0);\n";break;case "LAST":if("GET"===c)return[e+".last",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX];if("GET_REMOVE"===c)return[e+".removeLast()",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX];
88
- if("REMOVE"===c)return e+".removeLast();\n";break;case "FROM_START":a=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT");if("GET"===c)return[e+"["+a+"]",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX];if("GET_REMOVE"===c)return[e+".removeAt("+a+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX];if("REMOVE"===c)return e+".removeAt("+a+");\n";break;case "FROM_END":a=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT",1,!1,module$exports$Blockly$Dart.dartGenerator.ORDER_ADDITIVE);
89
- if("GET"===c)return[e+"["+e+".length - "+a+"]",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX];if("GET_REMOVE"===c||"REMOVE"===c){a=e+".removeAt("+e+".length - "+a+")";if("GET_REMOVE"===c)return[a,module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX];if("REMOVE"===c)return a+";\n"}break;case "RANDOM":module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;";if("REMOVE"===c)return c=module$exports$Blockly$Dart.dartGenerator.nameDB_.getDistinctName("tmp_x",
90
- $.NameType$$module$build$src$core$names.VARIABLE),"int "+c+" = new Math.Random().nextInt("+e+".length);\n"+(e+".removeAt("+c+");\n");if("GET"===c)return[module$exports$Blockly$Dart.dartGenerator.provideFunction_("lists_get_random_item",`
91
- dynamic ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(List my_list) {
69
+ `)+"("+c+", "+d+", "+a+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};var module$build$src$generators$dart$colour={};dartGenerator$$module$build$src$generators$dart.addReservedWords("Math");dartGenerator$$module$build$src$generators$dart.forBlock.lists_create_empty=function(a,b){return["[]",Order$$module$build$src$generators$dart.ATOMIC]};dartGenerator$$module$build$src$generators$dart.forBlock.lists_create_with=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$dart.NONE)||"null";return["["+c.join(", ")+"]",Order$$module$build$src$generators$dart.ATOMIC]};
70
+ dartGenerator$$module$build$src$generators$dart.forBlock.lists_repeat=function(a,b){const c=b.valueToCode(a,"ITEM",Order$$module$build$src$generators$dart.NONE)||"null";return["new List.filled("+(b.valueToCode(a,"NUM",Order$$module$build$src$generators$dart.NONE)||"0")+", "+c+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};
71
+ dartGenerator$$module$build$src$generators$dart.forBlock.lists_length=function(a,b){return[(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart.UNARY_POSTFIX)||"[]")+".length",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};dartGenerator$$module$build$src$generators$dart.forBlock.lists_isEmpty=function(a,b){return[(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart.UNARY_POSTFIX)||"[]")+".isEmpty",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};
72
+ dartGenerator$$module$build$src$generators$dart.forBlock.lists_indexOf=function(a,b){const c="FIRST"===a.getFieldValue("END")?"indexOf":"lastIndexOf",d=b.valueToCode(a,"FIND",Order$$module$build$src$generators$dart.NONE)||"''";b=(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart.UNARY_POSTFIX)||"[]")+"."+c+"("+d+")";return a.workspace.options.oneBasedIndex?[b+" + 1",Order$$module$build$src$generators$dart.ADDITIVE]:[b,Order$$module$build$src$generators$dart.UNARY_POSTFIX]};
73
+ dartGenerator$$module$build$src$generators$dart.forBlock.lists_getIndex=function(a,b){function c(){const g=b.nameDB_.getDistinctName("tmp_list",$.NameType$$module$build$src$core$names.VARIABLE),h="List "+g+" = "+f+";\n";f=g;return h}var d=a.getFieldValue("MODE")||"GET";const e=a.getFieldValue("WHERE")||"FROM_START";let f=b.valueToCode(a,"VALUE","RANDOM"===e||"FROM_END"===e?Order$$module$build$src$generators$dart.NONE:Order$$module$build$src$generators$dart.UNARY_POSTFIX)||"[]";if(("RANDOM"!==e||"REMOVE"!==
74
+ d)&&"FROM_END"!==e||f.match(/^\w+$/))switch(e){case "FIRST":if("GET"===d)return[f+".first",Order$$module$build$src$generators$dart.UNARY_POSTFIX];if("GET_REMOVE"===d)return[f+".removeAt(0)",Order$$module$build$src$generators$dart.UNARY_POSTFIX];if("REMOVE"===d)return f+".removeAt(0);\n";break;case "LAST":if("GET"===d)return[f+".last",Order$$module$build$src$generators$dart.UNARY_POSTFIX];if("GET_REMOVE"===d)return[f+".removeLast()",Order$$module$build$src$generators$dart.UNARY_POSTFIX];if("REMOVE"===
75
+ d)return f+".removeLast();\n";break;case "FROM_START":a=b.getAdjusted(a,"AT");if("GET"===d)return[f+"["+a+"]",Order$$module$build$src$generators$dart.UNARY_POSTFIX];if("GET_REMOVE"===d)return[f+".removeAt("+a+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX];if("REMOVE"===d)return f+".removeAt("+a+");\n";break;case "FROM_END":a=b.getAdjusted(a,"AT",1,!1,Order$$module$build$src$generators$dart.ADDITIVE);if("GET"===d)return[f+"["+f+".length - "+a+"]",Order$$module$build$src$generators$dart.UNARY_POSTFIX];
76
+ if("GET_REMOVE"===d||"REMOVE"===d){a=f+".removeAt("+f+".length - "+a+")";if("GET_REMOVE"===d)return[a,Order$$module$build$src$generators$dart.UNARY_POSTFIX];if("REMOVE"===d)return a+";\n"}break;case "RANDOM":b.definitions_.import_dart_math="import 'dart:math' as Math;";if("REMOVE"===d)return d=b.nameDB_.getDistinctName("tmp_x",$.NameType$$module$build$src$core$names.VARIABLE),"int "+d+" = new Math.Random().nextInt("+f+".length);\n"+(f+".removeAt("+d+");\n");if("GET"===d)return[b.provideFunction_("lists_get_random_item",
77
+ `
78
+ dynamic ${b.FUNCTION_NAME_PLACEHOLDER_}(List my_list) {
92
79
  int x = new Math.Random().nextInt(my_list.length);
93
80
  return my_list[x];
94
81
  }
95
- `)+"("+e+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX];if("GET_REMOVE"===c)return[module$exports$Blockly$Dart.dartGenerator.provideFunction_("lists_remove_random_item",`
96
- dynamic ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(List my_list) {
82
+ `)+"("+f+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX];if("GET_REMOVE"===d)return[b.provideFunction_("lists_remove_random_item",`
83
+ dynamic ${b.FUNCTION_NAME_PLACEHOLDER_}(List my_list) {
97
84
  int x = new Math.Random().nextInt(my_list.length);
98
85
  return my_list.removeAt(x);
99
86
  }
100
- `)+"("+e+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]}else{if("RANDOM"===d)return module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;",c=b(),a=module$exports$Blockly$Dart.dartGenerator.nameDB_.getDistinctName("tmp_x",$.NameType$$module$build$src$core$names.VARIABLE),c+("int "+a+" = new Math.Random().nextInt("+e+".length);\n")+(e+".removeAt("+a+");\n");if("REMOVE"===c)return c=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,
101
- "AT",1,!1,module$exports$Blockly$Dart.dartGenerator.ORDER_ADDITIVE),b()+(e+".removeAt("+e+".length - "+c+");\n");if("GET"===c)return c=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT",1),[module$exports$Blockly$Dart.dartGenerator.provideFunction_("lists_get_from_end",`
102
- dynamic ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(List my_list, num x) {
87
+ `)+"("+f+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX]}else{if("RANDOM"===e)return b.definitions_.import_dart_math="import 'dart:math' as Math;",d=c(),a=b.nameDB_.getDistinctName("tmp_x",$.NameType$$module$build$src$core$names.VARIABLE),d+("int "+a+" = new Math.Random().nextInt("+f+".length);\n")+(f+".removeAt("+a+");\n");if("REMOVE"===d)return d=b.getAdjusted(a,"AT",1,!1,Order$$module$build$src$generators$dart.ADDITIVE),c()+(f+".removeAt("+f+".length - "+d+");\n");if("GET"===d)return d=
88
+ b.getAdjusted(a,"AT",1),[b.provideFunction_("lists_get_from_end",`
89
+ dynamic ${b.FUNCTION_NAME_PLACEHOLDER_}(List my_list, num x) {
103
90
  x = my_list.length - x;
104
91
  return my_list[x];
105
92
  }
106
- `)+"("+e+", "+c+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX];if("GET_REMOVE"===c)return c=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT",1),[module$exports$Blockly$Dart.dartGenerator.provideFunction_("lists_remove_from_end",`
107
- dynamic ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(List my_list, num x) {
93
+ `)+"("+f+", "+d+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX];if("GET_REMOVE"===d)return d=b.getAdjusted(a,"AT",1),[b.provideFunction_("lists_remove_from_end",`
94
+ dynamic ${b.FUNCTION_NAME_PLACEHOLDER_}(List my_list, num x) {
108
95
  x = my_list.length - x;
109
96
  return my_list.removeAt(x);
110
97
  }
111
- `)+"("+e+", "+c+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]}throw Error("Unhandled combination (lists_getIndex).");};
112
- module$exports$Blockly$Dart.dartGenerator.lists_setIndex=function(a){function b(){if(e.match(/^\w+$/))return"";const g=module$exports$Blockly$Dart.dartGenerator.nameDB_.getDistinctName("tmp_list",$.NameType$$module$build$src$core$names.VARIABLE),h="List "+g+" = "+e+";\n";e=g;return h}const c=a.getFieldValue("MODE")||"GET";var d=a.getFieldValue("WHERE")||"FROM_START";let e=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"LIST",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX)||
113
- "[]";const f=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"TO",module$exports$Blockly$Dart.dartGenerator.ORDER_ASSIGNMENT)||"null";switch(d){case "FIRST":if("SET"===c)return e+"[0] = "+f+";\n";if("INSERT"===c)return e+".insert(0, "+f+");\n";break;case "LAST":if("SET"===c)return b()+(e+"["+e+".length - 1] = "+f+";\n");if("INSERT"===c)return e+".add("+f+");\n";break;case "FROM_START":a=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT");if("SET"===c)return e+"["+a+"] = "+f+";\n";
114
- if("INSERT"===c)return e+".insert("+a+", "+f+");\n";break;case "FROM_END":a=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT",1,!1,module$exports$Blockly$Dart.dartGenerator.ORDER_ADDITIVE);d=b();if("SET"===c)return d+(e+"["+e+".length - "+a+"] = "+f+";\n");if("INSERT"===c)return d+(e+".insert("+e+".length - "+a+", "+f+");\n");break;case "RANDOM":module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;";a=b();d=module$exports$Blockly$Dart.dartGenerator.nameDB_.getDistinctName("tmp_x",
115
- $.NameType$$module$build$src$core$names.VARIABLE);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).");};
116
- module$exports$Blockly$Dart.dartGenerator.lists_getSublist=function(a){var b=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"LIST",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX)||"[]",c=a.getFieldValue("WHERE1");const d=a.getFieldValue("WHERE2");if(b.match(/^\w+$/)||"FROM_END"!==c&&"FROM_START"===d){switch(c){case "FROM_START":c=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT1");break;case "FROM_END":c=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT1",
117
- 1,!1,module$exports$Blockly$Dart.dartGenerator.ORDER_ADDITIVE);c=b+".length - "+c;break;case "FIRST":c="0";break;default:throw Error("Unhandled option (lists_getSublist).");}switch(d){case "FROM_START":var e=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT2",1);break;case "FROM_END":e=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT2",0,!1,module$exports$Blockly$Dart.dartGenerator.ORDER_ADDITIVE);e=b+".length - "+e;break;case "LAST":break;default:throw Error("Unhandled option (lists_getSublist).");
118
- }b="LAST"===d?b+".sublist("+c+")":b+".sublist("+c+", "+e+")"}else e=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT1"),a=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT2"),b=module$exports$Blockly$Dart.dartGenerator.provideFunction_("lists_get_sublist",`
119
- List ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(List list, String where1, num at1, String where2, num at2) {
98
+ `)+"("+f+", "+d+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX]}throw Error("Unhandled combination (lists_getIndex).");};
99
+ dartGenerator$$module$build$src$generators$dart.forBlock.lists_setIndex=function(a,b){function c(){if(f.match(/^\w+$/))return"";const h=b.nameDB_.getDistinctName("tmp_list",$.NameType$$module$build$src$core$names.VARIABLE),k="List "+h+" = "+f+";\n";f=h;return k}const d=a.getFieldValue("MODE")||"GET";var e=a.getFieldValue("WHERE")||"FROM_START";let f=b.valueToCode(a,"LIST",Order$$module$build$src$generators$dart.UNARY_POSTFIX)||"[]";const g=b.valueToCode(a,"TO",Order$$module$build$src$generators$dart.ASSIGNMENT)||
100
+ "null";switch(e){case "FIRST":if("SET"===d)return f+"[0] = "+g+";\n";if("INSERT"===d)return f+".insert(0, "+g+");\n";break;case "LAST":if("SET"===d)return c()+(f+"["+f+".length - 1] = "+g+";\n");if("INSERT"===d)return f+".add("+g+");\n";break;case "FROM_START":a=b.getAdjusted(a,"AT");if("SET"===d)return f+"["+a+"] = "+g+";\n";if("INSERT"===d)return f+".insert("+a+", "+g+");\n";break;case "FROM_END":a=b.getAdjusted(a,"AT",1,!1,Order$$module$build$src$generators$dart.ADDITIVE);e=c();if("SET"===d)return e+
101
+ (f+"["+f+".length - "+a+"] = "+g+";\n");if("INSERT"===d)return e+(f+".insert("+f+".length - "+a+", "+g+");\n");break;case "RANDOM":b.definitions_.import_dart_math="import 'dart:math' as Math;";a=c();e=b.nameDB_.getDistinctName("tmp_x",$.NameType$$module$build$src$core$names.VARIABLE);a+="int "+e+" = new Math.Random().nextInt("+f+".length);\n";if("SET"===d)return a+(f+"["+e+"] = "+g+";\n");if("INSERT"===d)return a+(f+".insert("+e+", "+g+");\n")}throw Error("Unhandled combination (lists_setIndex).");
102
+ };
103
+ dartGenerator$$module$build$src$generators$dart.forBlock.lists_getSublist=function(a,b){const c=b.valueToCode(a,"LIST",Order$$module$build$src$generators$dart.UNARY_POSTFIX)||"[]";var d=a.getFieldValue("WHERE1");const e=a.getFieldValue("WHERE2");if(c.match(/^\w+$/)||"FROM_END"!==d&&"FROM_START"===e){switch(d){case "FROM_START":d=b.getAdjusted(a,"AT1");break;case "FROM_END":d=b.getAdjusted(a,"AT1",1,!1,Order$$module$build$src$generators$dart.ADDITIVE);d=c+".length - "+d;break;case "FIRST":d="0";break;
104
+ default:throw Error("Unhandled option (lists_getSublist).");}switch(e){case "FROM_START":var f=b.getAdjusted(a,"AT2",1);break;case "FROM_END":f=b.getAdjusted(a,"AT2",0,!1,Order$$module$build$src$generators$dart.ADDITIVE);f=c+".length - "+f;break;case "LAST":break;default:throw Error("Unhandled option (lists_getSublist).");}b="LAST"===e?c+".sublist("+d+")":c+".sublist("+d+", "+f+")"}else f=b.getAdjusted(a,"AT1"),a=b.getAdjusted(a,"AT2"),b=b.provideFunction_("lists_get_sublist",`
105
+ List ${b.FUNCTION_NAME_PLACEHOLDER_}(List list, String where1, num at1, String where2, num at2) {
120
106
  int getAt(String where, num at) {
121
107
  if (where == 'FROM_END') {
122
108
  at = list.length - 1 - at;
@@ -133,8 +119,8 @@ List ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(Lis
133
119
  at2 = getAt(where2, at2) + 1;
134
120
  return list.sublist(at1, at2);
135
121
  }
136
- `)+"("+b+", '"+c+"', "+e+", '"+d+"', "+a+")";return[b,module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};module$exports$Blockly$Dart.dartGenerator.lists_sort=function(a){const b=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"LIST",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"[]",c="1"===a.getFieldValue("DIRECTION")?1:-1;a=a.getFieldValue("TYPE");return[module$exports$Blockly$Dart.dartGenerator.provideFunction_("lists_sort",`
137
- List ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(List list, String type, int direction) {
122
+ `)+"("+c+", '"+d+"', "+f+", '"+e+"', "+a+")";return[b,Order$$module$build$src$generators$dart.UNARY_POSTFIX]};dartGenerator$$module$build$src$generators$dart.forBlock.lists_sort=function(a,b){const c=b.valueToCode(a,"LIST",Order$$module$build$src$generators$dart.NONE)||"[]",d="1"===a.getFieldValue("DIRECTION")?1:-1;a=a.getFieldValue("TYPE");return[b.provideFunction_("lists_sort",`
123
+ List ${b.FUNCTION_NAME_PLACEHOLDER_}(List list, String type, int direction) {
138
124
  var compareFuncs = {
139
125
  'NUMERIC': (a, b) => (direction * a.compareTo(b)).toInt(),
140
126
  'TEXT': (a, b) => direction * a.toString().compareTo(b.toString()),
@@ -147,40 +133,32 @@ List ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(Lis
147
133
  list.sort(compare);
148
134
  return list;
149
135
  }
150
- `)+"("+b+', "'+a+'", '+c+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
151
- module$exports$Blockly$Dart.dartGenerator.lists_split=function(a){let b=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"INPUT",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX);const c=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"DELIM",module$exports$Blockly$Dart.dartGenerator.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+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
152
- module$exports$Blockly$Dart.dartGenerator.lists_reverse=function(a){return["new List.from("+(module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"LIST",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"[]")+".reversed)",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};var module$exports$Blockly$Dart$logic={};
153
- module$exports$Blockly$Dart.dartGenerator.controls_if=function(a){let b=0,c="",d,e;module$exports$Blockly$Dart.dartGenerator.STATEMENT_PREFIX&&(c+=module$exports$Blockly$Dart.dartGenerator.injectId(module$exports$Blockly$Dart.dartGenerator.STATEMENT_PREFIX,a));do e=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"IF"+b,module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"false",d=module$exports$Blockly$Dart.dartGenerator.statementToCode(a,"DO"+b),module$exports$Blockly$Dart.dartGenerator.STATEMENT_SUFFIX&&
154
- (d=module$exports$Blockly$Dart.dartGenerator.prefixLines(module$exports$Blockly$Dart.dartGenerator.injectId(module$exports$Blockly$Dart.dartGenerator.STATEMENT_SUFFIX,a),module$exports$Blockly$Dart.dartGenerator.INDENT)+d),c+=(0<b?"else ":"")+"if ("+e+") {\n"+d+"}",b++;while(a.getInput("IF"+b));if(a.getInput("ELSE")||module$exports$Blockly$Dart.dartGenerator.STATEMENT_SUFFIX)d=module$exports$Blockly$Dart.dartGenerator.statementToCode(a,"ELSE"),module$exports$Blockly$Dart.dartGenerator.STATEMENT_SUFFIX&&
155
- (d=module$exports$Blockly$Dart.dartGenerator.prefixLines(module$exports$Blockly$Dart.dartGenerator.injectId(module$exports$Blockly$Dart.dartGenerator.STATEMENT_SUFFIX,a),module$exports$Blockly$Dart.dartGenerator.INDENT)+d),c+=" else {\n"+d+"}";return c+"\n"};module$exports$Blockly$Dart.dartGenerator.controls_ifelse=module$exports$Blockly$Dart.dartGenerator.controls_if;
156
- module$exports$Blockly$Dart.dartGenerator.logic_compare=function(a){const b={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="}[a.getFieldValue("OP")],c="=="===b||"!="===b?module$exports$Blockly$Dart.dartGenerator.ORDER_EQUALITY:module$exports$Blockly$Dart.dartGenerator.ORDER_RELATIONAL,d=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"A",c)||"0";a=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"B",c)||"0";return[d+" "+b+" "+a,c]};
157
- module$exports$Blockly$Dart.dartGenerator.logic_operation=function(a){const b="AND"===a.getFieldValue("OP")?"&&":"||",c="&&"===b?module$exports$Blockly$Dart.dartGenerator.ORDER_LOGICAL_AND:module$exports$Blockly$Dart.dartGenerator.ORDER_LOGICAL_OR;let d=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"A",c);a=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"B",c);if(d||a){const e="&&"===b?"true":"false";d||(d=e);a||(a=e)}else a=d="false";return[d+" "+b+" "+a,c]};
158
- module$exports$Blockly$Dart.dartGenerator.logic_negate=function(a){const b=module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_PREFIX;return["!"+(module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"BOOL",b)||"true"),b]};module$exports$Blockly$Dart.dartGenerator.logic_boolean=function(a){return["TRUE"===a.getFieldValue("BOOL")?"true":"false",module$exports$Blockly$Dart.dartGenerator.ORDER_ATOMIC]};module$exports$Blockly$Dart.dartGenerator.logic_null=function(a){return["null",module$exports$Blockly$Dart.dartGenerator.ORDER_ATOMIC]};
159
- module$exports$Blockly$Dart.dartGenerator.logic_ternary=function(a){const b=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"IF",module$exports$Blockly$Dart.dartGenerator.ORDER_CONDITIONAL)||"false",c=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"THEN",module$exports$Blockly$Dart.dartGenerator.ORDER_CONDITIONAL)||"null";a=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"ELSE",module$exports$Blockly$Dart.dartGenerator.ORDER_CONDITIONAL)||"null";return[b+" ? "+c+" : "+a,module$exports$Blockly$Dart.dartGenerator.ORDER_CONDITIONAL]};var module$exports$Blockly$Dart$loops={},module$contents$Blockly$Dart$loops_stringUtils=$.module$build$src$core$utils$string,module$contents$Blockly$Dart$loops_NameType=$.NameType$$module$build$src$core$names;
160
- module$exports$Blockly$Dart.dartGenerator.controls_repeat_ext=function(a){let b;b=a.getField("TIMES")?String(Number(a.getFieldValue("TIMES"))):module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"TIMES",module$exports$Blockly$Dart.dartGenerator.ORDER_ASSIGNMENT)||"0";let c=module$exports$Blockly$Dart.dartGenerator.statementToCode(a,"DO");c=module$exports$Blockly$Dart.dartGenerator.addLoopTrap(c,a);a="";const d=module$exports$Blockly$Dart.dartGenerator.nameDB_.getDistinctName("count",$.NameType$$module$build$src$core$names.VARIABLE);
161
- let e=b;b.match(/^\w+$/)||$.module$build$src$core$utils$string.isNumber(b)||(e=module$exports$Blockly$Dart.dartGenerator.nameDB_.getDistinctName("repeat_end",$.NameType$$module$build$src$core$names.VARIABLE),a+="var "+e+" = "+b+";\n");return a+("for (int "+d+" = 0; "+d+" < "+e+"; "+d+"++) {\n"+c+"}\n")};module$exports$Blockly$Dart.dartGenerator.controls_repeat=module$exports$Blockly$Dart.dartGenerator.controls_repeat_ext;
162
- module$exports$Blockly$Dart.dartGenerator.controls_whileUntil=function(a){const b="UNTIL"===a.getFieldValue("MODE");let c=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"BOOL",b?module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_PREFIX:module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"false",d=module$exports$Blockly$Dart.dartGenerator.statementToCode(a,"DO");d=module$exports$Blockly$Dart.dartGenerator.addLoopTrap(d,a);b&&(c="!"+c);return"while ("+c+") {\n"+d+"}\n"};
163
- module$exports$Blockly$Dart.dartGenerator.controls_for=function(a){var b=module$exports$Blockly$Dart.dartGenerator.nameDB_.getName(a.getFieldValue("VAR"),$.NameType$$module$build$src$core$names.VARIABLE),c=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"FROM",module$exports$Blockly$Dart.dartGenerator.ORDER_ASSIGNMENT)||"0",d=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"TO",module$exports$Blockly$Dart.dartGenerator.ORDER_ASSIGNMENT)||"0";const e=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,
164
- "BY",module$exports$Blockly$Dart.dartGenerator.ORDER_ASSIGNMENT)||"1";let f=module$exports$Blockly$Dart.dartGenerator.statementToCode(a,"DO");f=module$exports$Blockly$Dart.dartGenerator.addLoopTrap(f,a);if($.module$build$src$core$utils$string.isNumber(c)&&$.module$build$src$core$utils$string.isNumber(d)&&$.module$build$src$core$utils$string.isNumber(e)){var g=Number(c)<=Number(d);a="for ("+b+" = "+c+"; "+b+(g?" <= ":" >= ")+d+"; "+b;b=Math.abs(Number(e));a=1===b?a+(g?"++":"--"):a+((g?" += ":" -= ")+
165
- b);a+=") {\n"+f+"}\n"}else a="",g=c,c.match(/^\w+$/)||$.module$build$src$core$utils$string.isNumber(c)||(g=module$exports$Blockly$Dart.dartGenerator.nameDB_.getDistinctName(b+"_start",$.NameType$$module$build$src$core$names.VARIABLE),a+="var "+g+" = "+c+";\n"),c=d,d.match(/^\w+$/)||$.module$build$src$core$utils$string.isNumber(d)||(c=module$exports$Blockly$Dart.dartGenerator.nameDB_.getDistinctName(b+"_end",$.NameType$$module$build$src$core$names.VARIABLE),a+="var "+c+" = "+d+";\n"),d=module$exports$Blockly$Dart.dartGenerator.nameDB_.getDistinctName(b+
166
- "_inc",$.NameType$$module$build$src$core$names.VARIABLE),a+="num "+d+" = ",a=$.module$build$src$core$utils$string.isNumber(e)?a+(Math.abs(e)+";\n"):a+("("+e+").abs();\n"),a+="if ("+g+" > "+c+") {\n",a+=module$exports$Blockly$Dart.dartGenerator.INDENT+d+" = -"+d+";\n",a=a+"}\nfor ("+(b+" = "+g+"; "+d+" >= 0 ? "+b+" <= "+c+" : "+b+" >= "+c+"; "+b+" += "+d+") {\n"+f+"}\n");return a};
167
- module$exports$Blockly$Dart.dartGenerator.controls_forEach=function(a){const b=module$exports$Blockly$Dart.dartGenerator.nameDB_.getName(a.getFieldValue("VAR"),$.NameType$$module$build$src$core$names.VARIABLE),c=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"LIST",module$exports$Blockly$Dart.dartGenerator.ORDER_ASSIGNMENT)||"[]";let d=module$exports$Blockly$Dart.dartGenerator.statementToCode(a,"DO");d=module$exports$Blockly$Dart.dartGenerator.addLoopTrap(d,a);return"for (var "+b+" in "+
168
- c+") {\n"+d+"}\n"};
169
- module$exports$Blockly$Dart.dartGenerator.controls_flow_statements=function(a){let b="";module$exports$Blockly$Dart.dartGenerator.STATEMENT_PREFIX&&(b+=module$exports$Blockly$Dart.dartGenerator.injectId(module$exports$Blockly$Dart.dartGenerator.STATEMENT_PREFIX,a));module$exports$Blockly$Dart.dartGenerator.STATEMENT_SUFFIX&&(b+=module$exports$Blockly$Dart.dartGenerator.injectId(module$exports$Blockly$Dart.dartGenerator.STATEMENT_SUFFIX,a));if(module$exports$Blockly$Dart.dartGenerator.STATEMENT_PREFIX){const c=a.getSurroundLoop();
170
- c&&!c.suppressPrefixSuffix&&(b+=module$exports$Blockly$Dart.dartGenerator.injectId(module$exports$Blockly$Dart.dartGenerator.STATEMENT_PREFIX,c))}switch(a.getFieldValue("FLOW")){case "BREAK":return b+"break;\n";case "CONTINUE":return b+"continue;\n"}throw Error("Unknown flow statement.");};var module$exports$Blockly$Dart$math={},module$contents$Blockly$Dart$math_NameType=$.NameType$$module$build$src$core$names;module$exports$Blockly$Dart.dartGenerator.addReservedWords("Math");
171
- module$exports$Blockly$Dart.dartGenerator.math_number=function(a){a=Number(a.getFieldValue("NUM"));let b;Infinity===a?(a="double.infinity",b=module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX):-Infinity===a?(a="-double.infinity",b=module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_PREFIX):b=0>a?module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_PREFIX:module$exports$Blockly$Dart.dartGenerator.ORDER_ATOMIC;return[a,b]};
172
- module$exports$Blockly$Dart.dartGenerator.math_arithmetic=function(a){var b={ADD:[" + ",module$exports$Blockly$Dart.dartGenerator.ORDER_ADDITIVE],MINUS:[" - ",module$exports$Blockly$Dart.dartGenerator.ORDER_ADDITIVE],MULTIPLY:[" * ",module$exports$Blockly$Dart.dartGenerator.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",module$exports$Blockly$Dart.dartGenerator.ORDER_MULTIPLICATIVE],POWER:[null,module$exports$Blockly$Dart.dartGenerator.ORDER_NONE]}[a.getFieldValue("OP")];const c=b[0];b=b[1];const d=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,
173
- "A",b)||"0";a=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"B",b)||"0";return c?[d+c+a,b]:(module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;",["Math.pow("+d+", "+a+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX])};
174
- module$exports$Blockly$Dart.dartGenerator.math_single=function(a){const b=a.getFieldValue("OP");let c;if("NEG"===b)return a=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"NUM",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_PREFIX)||"0","-"===a[0]&&(a=" "+a),["-"+a,module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_PREFIX];module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;";a="ABS"===b||"ROUND"===b.substring(0,5)?module$exports$Blockly$Dart.dartGenerator.valueToCode(a,
175
- "NUM",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX)||"0":"SIN"===b||"COS"===b||"TAN"===b?module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"NUM",module$exports$Blockly$Dart.dartGenerator.ORDER_MULTIPLICATIVE)||"0":module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"NUM",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"0";switch(b){case "ABS":c=a+".abs()";break;case "ROOT":c="Math.sqrt("+a+")";break;case "LN":c="Math.log("+a+")";break;case "EXP":c="Math.exp("+a+")";
176
- 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+" / 180 * Math.pi)"}if(c)return[c,module$exports$Blockly$Dart.dartGenerator.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;
177
- 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,module$exports$Blockly$Dart.dartGenerator.ORDER_MULTIPLICATIVE]};
178
- module$exports$Blockly$Dart.dartGenerator.math_constant=function(a){const b={PI:["Math.pi",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX],E:["Math.e",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX],GOLDEN_RATIO:["(1 + Math.sqrt(5)) / 2",module$exports$Blockly$Dart.dartGenerator.ORDER_MULTIPLICATIVE],SQRT2:["Math.sqrt2",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX],SQRT1_2:["Math.sqrt1_2",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX],
179
- INFINITY:["double.infinity",module$exports$Blockly$Dart.dartGenerator.ORDER_ATOMIC]};a=a.getFieldValue("CONSTANT");"INFINITY"!==a&&(module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;");return b[a]};
180
- module$exports$Blockly$Dart.dartGenerator.math_number_property=function(a){var b={EVEN:[" % 2 == 0",module$exports$Blockly$Dart.dartGenerator.ORDER_MULTIPLICATIVE,module$exports$Blockly$Dart.dartGenerator.ORDER_EQUALITY],ODD:[" % 2 == 1",module$exports$Blockly$Dart.dartGenerator.ORDER_MULTIPLICATIVE,module$exports$Blockly$Dart.dartGenerator.ORDER_EQUALITY],WHOLE:[" % 1 == 0",module$exports$Blockly$Dart.dartGenerator.ORDER_MULTIPLICATIVE,module$exports$Blockly$Dart.dartGenerator.ORDER_EQUALITY],POSITIVE:[" > 0",
181
- module$exports$Blockly$Dart.dartGenerator.ORDER_RELATIONAL,module$exports$Blockly$Dart.dartGenerator.ORDER_RELATIONAL],NEGATIVE:[" < 0",module$exports$Blockly$Dart.dartGenerator.ORDER_RELATIONAL,module$exports$Blockly$Dart.dartGenerator.ORDER_RELATIONAL],DIVISIBLE_BY:[null,module$exports$Blockly$Dart.dartGenerator.ORDER_MULTIPLICATIVE,module$exports$Blockly$Dart.dartGenerator.ORDER_EQUALITY],PRIME:[null,module$exports$Blockly$Dart.dartGenerator.ORDER_NONE,module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
182
- const c=a.getFieldValue("PROPERTY"),[d,e,f]=b[c];b=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"NUMBER_TO_CHECK",e)||"0";if("PRIME"===c)module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;",a=module$exports$Blockly$Dart.dartGenerator.provideFunction_("math_isPrime",`
183
- bool ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(n) {
136
+ `)+"("+c+', "'+a+'", '+d+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};dartGenerator$$module$build$src$generators$dart.forBlock.lists_split=function(a,b){let c=b.valueToCode(a,"INPUT",Order$$module$build$src$generators$dart.UNARY_POSTFIX);b=b.valueToCode(a,"DELIM",Order$$module$build$src$generators$dart.NONE)||"''";a=a.getFieldValue("MODE");if("SPLIT"===a)c||(c="''"),a="split";else if("JOIN"===a)c||(c="[]"),a="join";else throw Error("Unknown mode: "+a);return[c+"."+a+"("+b+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};
137
+ dartGenerator$$module$build$src$generators$dart.forBlock.lists_reverse=function(a,b){return["new List.from("+(b.valueToCode(a,"LIST",Order$$module$build$src$generators$dart.NONE)||"[]")+".reversed)",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};var module$build$src$generators$dart$lists={};dartGenerator$$module$build$src$generators$dart.forBlock.controls_if=function(a,b){let c=0,d="",e,f;b.STATEMENT_PREFIX&&(d+=b.injectId(b.STATEMENT_PREFIX,a));do f=b.valueToCode(a,"IF"+c,Order$$module$build$src$generators$dart.NONE)||"false",e=b.statementToCode(a,"DO"+c),b.STATEMENT_SUFFIX&&(e=b.prefixLines(b.injectId(b.STATEMENT_SUFFIX,a),b.INDENT)+e),d+=(0<c?"else ":"")+"if ("+f+") {\n"+e+"}",c++;while(a.getInput("IF"+c));if(a.getInput("ELSE")||b.STATEMENT_SUFFIX)e=b.statementToCode(a,"ELSE"),b.STATEMENT_SUFFIX&&
138
+ (e=b.prefixLines(b.injectId(b.STATEMENT_SUFFIX,a),b.INDENT)+e),d+=" else {\n"+e+"}";return d+"\n"};dartGenerator$$module$build$src$generators$dart.forBlock.controls_ifelse=dartGenerator$$module$build$src$generators$dart.forBlock.controls_if;
139
+ dartGenerator$$module$build$src$generators$dart.forBlock.logic_compare=function(a,b){const c={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="}[a.getFieldValue("OP")],d="=="===c||"!="===c?Order$$module$build$src$generators$dart.EQUALITY:Order$$module$build$src$generators$dart.RELATIONAL,e=b.valueToCode(a,"A",d)||"0";a=b.valueToCode(a,"B",d)||"0";return[e+" "+c+" "+a,d]};
140
+ dartGenerator$$module$build$src$generators$dart.forBlock.logic_operation=function(a,b){const c="AND"===a.getFieldValue("OP")?"&&":"||",d="&&"===c?Order$$module$build$src$generators$dart.LOGICAL_AND:Order$$module$build$src$generators$dart.LOGICAL_OR;let e=b.valueToCode(a,"A",d);a=b.valueToCode(a,"B",d);e||a?(b="&&"===c?"true":"false",e||(e=b),a||(a=b)):a=e="false";return[e+" "+c+" "+a,d]};
141
+ dartGenerator$$module$build$src$generators$dart.forBlock.logic_negate=function(a,b){const c=Order$$module$build$src$generators$dart.UNARY_PREFIX;return["!"+(b.valueToCode(a,"BOOL",c)||"true"),c]};dartGenerator$$module$build$src$generators$dart.forBlock.logic_boolean=function(a,b){return["TRUE"===a.getFieldValue("BOOL")?"true":"false",Order$$module$build$src$generators$dart.ATOMIC]};dartGenerator$$module$build$src$generators$dart.forBlock.logic_null=function(a,b){return["null",Order$$module$build$src$generators$dart.ATOMIC]};
142
+ dartGenerator$$module$build$src$generators$dart.forBlock.logic_ternary=function(a,b){const c=b.valueToCode(a,"IF",Order$$module$build$src$generators$dart.CONDITIONAL)||"false",d=b.valueToCode(a,"THEN",Order$$module$build$src$generators$dart.CONDITIONAL)||"null";a=b.valueToCode(a,"ELSE",Order$$module$build$src$generators$dart.CONDITIONAL)||"null";return[c+" ? "+d+" : "+a,Order$$module$build$src$generators$dart.CONDITIONAL]};var module$build$src$generators$dart$logic={};dartGenerator$$module$build$src$generators$dart.forBlock.controls_repeat_ext=function(a,b){let c;c=a.getField("TIMES")?String(Number(a.getFieldValue("TIMES"))):b.valueToCode(a,"TIMES",Order$$module$build$src$generators$dart.ASSIGNMENT)||"0";let d=b.statementToCode(a,"DO");d=b.addLoopTrap(d,a);a="";const e=b.nameDB_.getDistinctName("count",$.NameType$$module$build$src$core$names.VARIABLE);let f=c;c.match(/^\w+$/)||$.isNumber$$module$build$src$core$utils$string(c)||(f=b.nameDB_.getDistinctName("repeat_end",
143
+ $.NameType$$module$build$src$core$names.VARIABLE),a+="var "+f+" = "+c+";\n");return a+("for (int "+e+" = 0; "+e+" < "+f+"; "+e+"++) {\n"+d+"}\n")};dartGenerator$$module$build$src$generators$dart.forBlock.controls_repeat=dartGenerator$$module$build$src$generators$dart.forBlock.controls_repeat_ext;
144
+ dartGenerator$$module$build$src$generators$dart.forBlock.controls_whileUntil=function(a,b){const c="UNTIL"===a.getFieldValue("MODE");let d=b.valueToCode(a,"BOOL",c?Order$$module$build$src$generators$dart.UNARY_PREFIX:Order$$module$build$src$generators$dart.NONE)||"false",e=b.statementToCode(a,"DO");e=b.addLoopTrap(e,a);c&&(d="!"+d);return"while ("+d+") {\n"+e+"}\n"};
145
+ dartGenerator$$module$build$src$generators$dart.forBlock.controls_for=function(a,b){var c=b.nameDB_.getName(a.getFieldValue("VAR"),$.NameType$$module$build$src$core$names.VARIABLE),d=b.valueToCode(a,"FROM",Order$$module$build$src$generators$dart.ASSIGNMENT)||"0",e=b.valueToCode(a,"TO",Order$$module$build$src$generators$dart.ASSIGNMENT)||"0";const f=b.valueToCode(a,"BY",Order$$module$build$src$generators$dart.ASSIGNMENT)||"1";let g=b.statementToCode(a,"DO");g=b.addLoopTrap(g,a);if($.isNumber$$module$build$src$core$utils$string(d)&&
146
+ $.isNumber$$module$build$src$core$utils$string(e)&&$.isNumber$$module$build$src$core$utils$string(f))b=Number(d)<=Number(e),a="for ("+c+" = "+d+"; "+c+(b?" <= ":" >= ")+e+"; "+c,c=Math.abs(Number(f)),a=1===c?a+(b?"++":"--"):a+((b?" += ":" -= ")+c),a+=") {\n"+g+"}\n";else{a="";let h=d;d.match(/^\w+$/)||$.isNumber$$module$build$src$core$utils$string(d)||(h=b.nameDB_.getDistinctName(c+"_start",$.NameType$$module$build$src$core$names.VARIABLE),a+="var "+h+" = "+d+";\n");d=e;e.match(/^\w+$/)||$.isNumber$$module$build$src$core$utils$string(e)||
147
+ (d=b.nameDB_.getDistinctName(c+"_end",$.NameType$$module$build$src$core$names.VARIABLE),a+="var "+d+" = "+e+";\n");e=b.nameDB_.getDistinctName(c+"_inc",$.NameType$$module$build$src$core$names.VARIABLE);a+="num "+e+" = ";a=$.isNumber$$module$build$src$core$utils$string(f)?a+(Math.abs(f)+";\n"):a+("("+f+").abs();\n");a+="if ("+h+" > "+d+") {\n";a+=b.INDENT+e+" = -"+e+";\n";a=a+"}\nfor ("+(c+" = "+h+"; "+e+" >= 0 ? "+c+" <= "+d+" : "+c+" >= "+d+"; "+c+" += "+e+") {\n"+g+"}\n")}return a};
148
+ dartGenerator$$module$build$src$generators$dart.forBlock.controls_forEach=function(a,b){const c=b.nameDB_.getName(a.getFieldValue("VAR"),$.NameType$$module$build$src$core$names.VARIABLE),d=b.valueToCode(a,"LIST",Order$$module$build$src$generators$dart.ASSIGNMENT)||"[]";let e=b.statementToCode(a,"DO");e=b.addLoopTrap(e,a);return"for (var "+c+" in "+d+") {\n"+e+"}\n"};
149
+ dartGenerator$$module$build$src$generators$dart.forBlock.controls_flow_statements=function(a,b){let c="";b.STATEMENT_PREFIX&&(c+=b.injectId(b.STATEMENT_PREFIX,a));b.STATEMENT_SUFFIX&&(c+=b.injectId(b.STATEMENT_SUFFIX,a));if(b.STATEMENT_PREFIX){const d=a.getSurroundLoop();d&&!d.suppressPrefixSuffix&&(c+=b.injectId(b.STATEMENT_PREFIX,d))}switch(a.getFieldValue("FLOW")){case "BREAK":return c+"break;\n";case "CONTINUE":return c+"continue;\n"}throw Error("Unknown flow statement.");};
150
+ var module$build$src$generators$dart$loops={};dartGenerator$$module$build$src$generators$dart.addReservedWords("Math");dartGenerator$$module$build$src$generators$dart.forBlock.math_number=function(a,b){a=Number(a.getFieldValue("NUM"));Infinity===a?(a="double.infinity",b=Order$$module$build$src$generators$dart.UNARY_POSTFIX):-Infinity===a?(a="-double.infinity",b=Order$$module$build$src$generators$dart.UNARY_PREFIX):b=0>a?Order$$module$build$src$generators$dart.UNARY_PREFIX:Order$$module$build$src$generators$dart.ATOMIC;return[a,b]};
151
+ dartGenerator$$module$build$src$generators$dart.forBlock.math_arithmetic=function(a,b){var c={ADD:[" + ",Order$$module$build$src$generators$dart.ADDITIVE],MINUS:[" - ",Order$$module$build$src$generators$dart.ADDITIVE],MULTIPLY:[" * ",Order$$module$build$src$generators$dart.MULTIPLICATIVE],DIVIDE:[" / ",Order$$module$build$src$generators$dart.MULTIPLICATIVE],POWER:[null,Order$$module$build$src$generators$dart.NONE]}[a.getFieldValue("OP")];const d=c[0];c=c[1];const e=b.valueToCode(a,"A",c)||"0";a=b.valueToCode(a,
152
+ "B",c)||"0";return d?[e+d+a,c]:(b.definitions_.import_dart_math="import 'dart:math' as Math;",["Math.pow("+e+", "+a+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX])};
153
+ dartGenerator$$module$build$src$generators$dart.forBlock.math_single=function(a,b){const c=a.getFieldValue("OP");let d;if("NEG"===c)return a=b.valueToCode(a,"NUM",Order$$module$build$src$generators$dart.UNARY_PREFIX)||"0","-"===a[0]&&(a=" "+a),["-"+a,Order$$module$build$src$generators$dart.UNARY_PREFIX];b.definitions_.import_dart_math="import 'dart:math' as Math;";a="ABS"===c||"ROUND"===c.substring(0,5)?b.valueToCode(a,"NUM",Order$$module$build$src$generators$dart.UNARY_POSTFIX)||"0":"SIN"===c||"COS"===
154
+ c||"TAN"===c?b.valueToCode(a,"NUM",Order$$module$build$src$generators$dart.MULTIPLICATIVE)||"0":b.valueToCode(a,"NUM",Order$$module$build$src$generators$dart.NONE)||"0";switch(c){case "ABS":d=a+".abs()";break;case "ROOT":d="Math.sqrt("+a+")";break;case "LN":d="Math.log("+a+")";break;case "EXP":d="Math.exp("+a+")";break;case "POW10":d="Math.pow(10,"+a+")";break;case "ROUND":d=a+".round()";break;case "ROUNDUP":d=a+".ceil()";break;case "ROUNDDOWN":d=a+".floor()";break;case "SIN":d="Math.sin("+a+" / 180 * Math.pi)";
155
+ break;case "COS":d="Math.cos("+a+" / 180 * Math.pi)";break;case "TAN":d="Math.tan("+a+" / 180 * Math.pi)"}if(d)return[d,Order$$module$build$src$generators$dart.UNARY_POSTFIX];switch(c){case "LOG10":d="Math.log("+a+") / Math.log(10)";break;case "ASIN":d="Math.asin("+a+") / Math.pi * 180";break;case "ACOS":d="Math.acos("+a+") / Math.pi * 180";break;case "ATAN":d="Math.atan("+a+") / Math.pi * 180";break;default:throw Error("Unknown math operator: "+c);}return[d,Order$$module$build$src$generators$dart.MULTIPLICATIVE]};
156
+ dartGenerator$$module$build$src$generators$dart.forBlock.math_constant=function(a,b){const c={PI:["Math.pi",Order$$module$build$src$generators$dart.UNARY_POSTFIX],E:["Math.e",Order$$module$build$src$generators$dart.UNARY_POSTFIX],GOLDEN_RATIO:["(1 + Math.sqrt(5)) / 2",Order$$module$build$src$generators$dart.MULTIPLICATIVE],SQRT2:["Math.sqrt2",Order$$module$build$src$generators$dart.UNARY_POSTFIX],SQRT1_2:["Math.sqrt1_2",Order$$module$build$src$generators$dart.UNARY_POSTFIX],INFINITY:["double.infinity",
157
+ Order$$module$build$src$generators$dart.ATOMIC]};a=a.getFieldValue("CONSTANT");"INFINITY"!==a&&(b.definitions_.import_dart_math="import 'dart:math' as Math;");return c[a]};
158
+ dartGenerator$$module$build$src$generators$dart.forBlock.math_number_property=function(a,b){var c={EVEN:[" % 2 == 0",Order$$module$build$src$generators$dart.MULTIPLICATIVE,Order$$module$build$src$generators$dart.EQUALITY],ODD:[" % 2 == 1",Order$$module$build$src$generators$dart.MULTIPLICATIVE,Order$$module$build$src$generators$dart.EQUALITY],WHOLE:[" % 1 == 0",Order$$module$build$src$generators$dart.MULTIPLICATIVE,Order$$module$build$src$generators$dart.EQUALITY],POSITIVE:[" > 0",Order$$module$build$src$generators$dart.RELATIONAL,
159
+ Order$$module$build$src$generators$dart.RELATIONAL],NEGATIVE:[" < 0",Order$$module$build$src$generators$dart.RELATIONAL,Order$$module$build$src$generators$dart.RELATIONAL],DIVISIBLE_BY:[null,Order$$module$build$src$generators$dart.MULTIPLICATIVE,Order$$module$build$src$generators$dart.EQUALITY],PRIME:[null,Order$$module$build$src$generators$dart.NONE,Order$$module$build$src$generators$dart.UNARY_POSTFIX]};const d=a.getFieldValue("PROPERTY"),[e,f,g]=c[d];c=b.valueToCode(a,"NUMBER_TO_CHECK",f)||"0";
160
+ if("PRIME"===d)b.definitions_.import_dart_math="import 'dart:math' as Math;",a=b.provideFunction_("math_isPrime",`
161
+ bool ${b.FUNCTION_NAME_PLACEHOLDER_}(n) {
184
162
  // https://en.wikipedia.org/wiki/Primality_test#Naive_methods
185
163
  if (n == 2 || n == 3) {
186
164
  return true;
@@ -198,30 +176,30 @@ bool ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(n)
198
176
  }
199
177
  return true;
200
178
  }
201
- `)+"("+b+")";else if("DIVISIBLE_BY"===c){a=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"DIVISOR",module$exports$Blockly$Dart.dartGenerator.ORDER_MULTIPLICATIVE)||"0";if("0"===a)return["false",module$exports$Blockly$Dart.dartGenerator.ORDER_ATOMIC];a=b+" % "+a+" == 0"}else a=b+d;return[a,f]};
202
- module$exports$Blockly$Dart.dartGenerator.math_change=function(a){const b=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"DELTA",module$exports$Blockly$Dart.dartGenerator.ORDER_ADDITIVE)||"0";a=module$exports$Blockly$Dart.dartGenerator.nameDB_.getName(a.getFieldValue("VAR"),$.NameType$$module$build$src$core$names.VARIABLE);return a+" = ("+a+" is num ? "+a+" : 0) + "+b+";\n"};module$exports$Blockly$Dart.dartGenerator.math_round=module$exports$Blockly$Dart.dartGenerator.math_single;
203
- module$exports$Blockly$Dart.dartGenerator.math_trig=module$exports$Blockly$Dart.dartGenerator.math_single;module$exports$Blockly$Dart.dartGenerator.math_on_list=function(a){var b=a.getFieldValue("OP");a=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"LIST",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"[]";switch(b){case "SUM":b=module$exports$Blockly$Dart.dartGenerator.provideFunction_("math_sum",`
204
- num ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(List<num> myList) {
179
+ `)+"("+c+")";else if("DIVISIBLE_BY"===d){a=b.valueToCode(a,"DIVISOR",Order$$module$build$src$generators$dart.MULTIPLICATIVE)||"0";if("0"===a)return["false",Order$$module$build$src$generators$dart.ATOMIC];a=c+" % "+a+" == 0"}else a=c+e;return[a,g]};
180
+ dartGenerator$$module$build$src$generators$dart.forBlock.math_change=function(a,b){const c=b.valueToCode(a,"DELTA",Order$$module$build$src$generators$dart.ADDITIVE)||"0";a=b.nameDB_.getName(a.getFieldValue("VAR"),$.NameType$$module$build$src$core$names.VARIABLE);return a+" = ("+a+" is num ? "+a+" : 0) + "+c+";\n"};dartGenerator$$module$build$src$generators$dart.forBlock.math_round=dartGenerator$$module$build$src$generators$dart.forBlock.math_single;
181
+ dartGenerator$$module$build$src$generators$dart.forBlock.math_trig=dartGenerator$$module$build$src$generators$dart.forBlock.math_single;dartGenerator$$module$build$src$generators$dart.forBlock.math_on_list=function(a,b){const c=a.getFieldValue("OP");a=b.valueToCode(a,"LIST",Order$$module$build$src$generators$dart.NONE)||"[]";switch(c){case "SUM":b=b.provideFunction_("math_sum",`
182
+ num ${b.FUNCTION_NAME_PLACEHOLDER_}(List<num> myList) {
205
183
  num sumVal = 0;
206
184
  myList.forEach((num entry) {sumVal += entry;});
207
185
  return sumVal;
208
186
  }
209
- `)+"("+a+")";break;case "MIN":module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;";b=module$exports$Blockly$Dart.dartGenerator.provideFunction_("math_min",`
210
- num ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(List<num> myList) {
187
+ `)+"("+a+")";break;case "MIN":b.definitions_.import_dart_math="import 'dart:math' as Math;";b=b.provideFunction_("math_min",`
188
+ num ${b.FUNCTION_NAME_PLACEHOLDER_}(List<num> myList) {
211
189
  if (myList.isEmpty) return null;
212
190
  num minVal = myList[0];
213
191
  myList.forEach((num entry) {minVal = Math.min(minVal, entry);});
214
192
  return minVal;
215
193
  }
216
- `)+"("+a+")";break;case "MAX":module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;";b=module$exports$Blockly$Dart.dartGenerator.provideFunction_("math_max",`
217
- num ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(List<num> myList) {
194
+ `)+"("+a+")";break;case "MAX":b.definitions_.import_dart_math="import 'dart:math' as Math;";b=b.provideFunction_("math_max",`
195
+ num ${b.FUNCTION_NAME_PLACEHOLDER_}(List<num> myList) {
218
196
  if (myList.isEmpty) return null;
219
197
  num maxVal = myList[0];
220
198
  myList.forEach((num entry) {maxVal = Math.max(maxVal, entry);});
221
199
  return maxVal;
222
200
  }
223
- `)+"("+a+")";break;case "AVERAGE":b=module$exports$Blockly$Dart.dartGenerator.provideFunction_("math_mean",`
224
- num ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(List myList) {
201
+ `)+"("+a+")";break;case "AVERAGE":b=b.provideFunction_("math_mean",`
202
+ num ${b.FUNCTION_NAME_PLACEHOLDER_}(List myList) {
225
203
  // First filter list for numbers only.
226
204
  List localList = new List.from(myList);
227
205
  localList.removeWhere((a) => a is! num);
@@ -230,8 +208,8 @@ num ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(List
230
208
  localList.forEach((var entry) {sumVal += entry;});
231
209
  return sumVal / localList.length;
232
210
  }
233
- `)+"("+a+")";break;case "MEDIAN":b=module$exports$Blockly$Dart.dartGenerator.provideFunction_("math_median",`
234
- num ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(List myList) {
211
+ `)+"("+a+")";break;case "MEDIAN":b=b.provideFunction_("math_median",`
212
+ num ${b.FUNCTION_NAME_PLACEHOLDER_}(List myList) {
235
213
  // First filter list for numbers only, then sort, then return middle value
236
214
  // or the average of two middle values if list has an even number of elements.
237
215
  List localList = new List.from(myList);
@@ -245,8 +223,8 @@ num ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(List
245
223
  return (localList[index - 1] + localList[index]) / 2;
246
224
  }
247
225
  }
248
- `)+"("+a+")";break;case "MODE":module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;";b=module$exports$Blockly$Dart.dartGenerator.provideFunction_("math_modes",`
249
- List ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(List values) {
226
+ `)+"("+a+")";break;case "MODE":b.definitions_.import_dart_math="import 'dart:math' as Math;";b=b.provideFunction_("math_modes",`
227
+ List ${b.FUNCTION_NAME_PLACEHOLDER_}(List values) {
250
228
  List modes = [];
251
229
  List counts = [];
252
230
  int maxCount = 0;
@@ -274,8 +252,8 @@ List ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(Lis
274
252
  }
275
253
  return modes;
276
254
  }
277
- `)+"("+a+")";break;case "STD_DEV":module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;";b=module$exports$Blockly$Dart.dartGenerator.provideFunction_("math_standard_deviation",`
278
- num ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(List myList) {
255
+ `)+"("+a+")";break;case "STD_DEV":b.definitions_.import_dart_math="import 'dart:math' as Math;";b=b.provideFunction_("math_standard_deviation",`
256
+ num ${b.FUNCTION_NAME_PLACEHOLDER_}(List myList) {
279
257
  // First filter list for numbers only.
280
258
  List numbers = new List.from(myList);
281
259
  numbers.removeWhere((a) => a is! num);
@@ -288,18 +266,15 @@ num ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(List
288
266
  numbers.forEach((x) => sumSquare += Math.pow(x - mean, 2));
289
267
  return Math.sqrt(sumSquare / n);
290
268
  }
291
- `)+"("+a+")";break;case "RANDOM":module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;";b=module$exports$Blockly$Dart.dartGenerator.provideFunction_("math_random_item",`
292
- dynamic ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(List myList) {
269
+ `)+"("+a+")";break;case "RANDOM":b.definitions_.import_dart_math="import 'dart:math' as Math;";b=b.provideFunction_("math_random_item",`
270
+ dynamic ${b.FUNCTION_NAME_PLACEHOLDER_}(List myList) {
293
271
  int x = new Math.Random().nextInt(myList.length);
294
272
  return myList[x];
295
273
  }
296
- `)+"("+a+")";break;default:throw Error("Unknown operator: "+b);}return[b,module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
297
- module$exports$Blockly$Dart.dartGenerator.math_modulo=function(a){const b=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"DIVIDEND",module$exports$Blockly$Dart.dartGenerator.ORDER_MULTIPLICATIVE)||"0";a=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"DIVISOR",module$exports$Blockly$Dart.dartGenerator.ORDER_MULTIPLICATIVE)||"0";return[b+" % "+a,module$exports$Blockly$Dart.dartGenerator.ORDER_MULTIPLICATIVE]};
298
- module$exports$Blockly$Dart.dartGenerator.math_constrain=function(a){module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;";const b=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"VALUE",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"0",c=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"LOW",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"0";a=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"HIGH",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||
299
- "double.infinity";return["Math.min(Math.max("+b+", "+c+"), "+a+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
300
- module$exports$Blockly$Dart.dartGenerator.math_random_int=function(a){module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;";const b=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"FROM",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"0";a=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"TO",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"0";return[module$exports$Blockly$Dart.dartGenerator.provideFunction_("math_random_int",
301
- `
302
- int ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(num a, num b) {
274
+ `)+"("+a+")";break;default:throw Error("Unknown operator: "+c);}return[b,Order$$module$build$src$generators$dart.UNARY_POSTFIX]};dartGenerator$$module$build$src$generators$dart.forBlock.math_modulo=function(a,b){const c=b.valueToCode(a,"DIVIDEND",Order$$module$build$src$generators$dart.MULTIPLICATIVE)||"0";a=b.valueToCode(a,"DIVISOR",Order$$module$build$src$generators$dart.MULTIPLICATIVE)||"0";return[c+" % "+a,Order$$module$build$src$generators$dart.MULTIPLICATIVE]};
275
+ dartGenerator$$module$build$src$generators$dart.forBlock.math_constrain=function(a,b){b.definitions_.import_dart_math="import 'dart:math' as Math;";const c=b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart.NONE)||"0",d=b.valueToCode(a,"LOW",Order$$module$build$src$generators$dart.NONE)||"0";a=b.valueToCode(a,"HIGH",Order$$module$build$src$generators$dart.NONE)||"double.infinity";return["Math.min(Math.max("+c+", "+d+"), "+a+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};
276
+ dartGenerator$$module$build$src$generators$dart.forBlock.math_random_int=function(a,b){b.definitions_.import_dart_math="import 'dart:math' as Math;";const c=b.valueToCode(a,"FROM",Order$$module$build$src$generators$dart.NONE)||"0";a=b.valueToCode(a,"TO",Order$$module$build$src$generators$dart.NONE)||"0";return[b.provideFunction_("math_random_int",`
277
+ int ${b.FUNCTION_NAME_PLACEHOLDER_}(num a, num b) {
303
278
  if (a > b) {
304
279
  // Swap a and b to ensure a is smaller.
305
280
  num c = a;
@@ -308,39 +283,32 @@ int ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(num
308
283
  }
309
284
  return new Math.Random().nextInt(b - a + 1) + a;
310
285
  }
311
- `)+"("+b+", "+a+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};module$exports$Blockly$Dart.dartGenerator.math_random_float=function(a){module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;";return["new Math.Random().nextDouble()",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
312
- module$exports$Blockly$Dart.dartGenerator.math_atan2=function(a){module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;";const b=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"X",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"0";return["Math.atan2("+(module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"Y",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"0")+", "+b+") / Math.pi * 180",module$exports$Blockly$Dart.dartGenerator.ORDER_MULTIPLICATIVE]};var module$exports$Blockly$Dart$procedures={},module$contents$Blockly$Dart$procedures_NameType=$.NameType$$module$build$src$core$names;
313
- module$exports$Blockly$Dart.dartGenerator.procedures_defreturn=function(a){const b=module$exports$Blockly$Dart.dartGenerator.nameDB_.getName(a.getFieldValue("NAME"),$.NameType$$module$build$src$core$names.PROCEDURE);var c="";module$exports$Blockly$Dart.dartGenerator.STATEMENT_PREFIX&&(c+=module$exports$Blockly$Dart.dartGenerator.injectId(module$exports$Blockly$Dart.dartGenerator.STATEMENT_PREFIX,a));module$exports$Blockly$Dart.dartGenerator.STATEMENT_SUFFIX&&(c+=module$exports$Blockly$Dart.dartGenerator.injectId(module$exports$Blockly$Dart.dartGenerator.STATEMENT_SUFFIX,
314
- a));c&&(c=module$exports$Blockly$Dart.dartGenerator.prefixLines(c,module$exports$Blockly$Dart.dartGenerator.INDENT));let d="";module$exports$Blockly$Dart.dartGenerator.INFINITE_LOOP_TRAP&&(d=module$exports$Blockly$Dart.dartGenerator.prefixLines(module$exports$Blockly$Dart.dartGenerator.injectId(module$exports$Blockly$Dart.dartGenerator.INFINITE_LOOP_TRAP,a),module$exports$Blockly$Dart.dartGenerator.INDENT));const e=module$exports$Blockly$Dart.dartGenerator.statementToCode(a,"STACK");let f=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,
315
- "RETURN",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"",g="";e&&f&&(g=c);f&&(f=module$exports$Blockly$Dart.dartGenerator.INDENT+"return "+f+";\n");const h=f?"dynamic":"void",k=[],l=a.getVars();for(let m=0;m<l.length;m++)k[m]=module$exports$Blockly$Dart.dartGenerator.nameDB_.getName(l[m],$.NameType$$module$build$src$core$names.VARIABLE);c=h+" "+b+"("+k.join(", ")+") {\n"+c+d+e+g+f+"}";c=module$exports$Blockly$Dart.dartGenerator.scrub_(a,c);module$exports$Blockly$Dart.dartGenerator.definitions_["%"+
316
- b]=c;return null};module$exports$Blockly$Dart.dartGenerator.procedures_defnoreturn=module$exports$Blockly$Dart.dartGenerator.procedures_defreturn;
317
- module$exports$Blockly$Dart.dartGenerator.procedures_callreturn=function(a){const b=module$exports$Blockly$Dart.dartGenerator.nameDB_.getName(a.getFieldValue("NAME"),$.NameType$$module$build$src$core$names.PROCEDURE),c=[],d=a.getVars();for(let e=0;e<d.length;e++)c[e]=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"ARG"+e,module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"null";return[b+"("+c.join(", ")+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
318
- module$exports$Blockly$Dart.dartGenerator.procedures_callnoreturn=function(a){return module$exports$Blockly$Dart.dartGenerator.procedures_callreturn(a)[0]+";\n"};
319
- module$exports$Blockly$Dart.dartGenerator.procedures_ifreturn=function(a){let b="if ("+(module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"CONDITION",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"false")+") {\n";module$exports$Blockly$Dart.dartGenerator.STATEMENT_SUFFIX&&(b+=module$exports$Blockly$Dart.dartGenerator.prefixLines(module$exports$Blockly$Dart.dartGenerator.injectId(module$exports$Blockly$Dart.dartGenerator.STATEMENT_SUFFIX,a),module$exports$Blockly$Dart.dartGenerator.INDENT));
320
- a.hasReturnValue_?(a=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"VALUE",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"null",b+=module$exports$Blockly$Dart.dartGenerator.INDENT+"return "+a+";\n"):b+=module$exports$Blockly$Dart.dartGenerator.INDENT+"return;\n";return b+"}\n"};var module$exports$Blockly$Dart$texts={},module$contents$Blockly$Dart$texts_NameType=$.NameType$$module$build$src$core$names;module$exports$Blockly$Dart.dartGenerator.addReservedWords("Html,Math");module$exports$Blockly$Dart.dartGenerator.text=function(a){return[module$exports$Blockly$Dart.dartGenerator.quote_(a.getFieldValue("TEXT")),module$exports$Blockly$Dart.dartGenerator.ORDER_ATOMIC]};
321
- module$exports$Blockly$Dart.dartGenerator.text_multiline=function(a){a=module$exports$Blockly$Dart.dartGenerator.multiline_quote_(a.getFieldValue("TEXT"));const b=-1!==a.indexOf("+")?module$exports$Blockly$Dart.dartGenerator.ORDER_ADDITIVE:module$exports$Blockly$Dart.dartGenerator.ORDER_ATOMIC;return[a,b]};
322
- module$exports$Blockly$Dart.dartGenerator.text_join=function(a){switch(a.itemCount_){case 0:return["''",module$exports$Blockly$Dart.dartGenerator.ORDER_ATOMIC];case 1:return[(module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"ADD0",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX)||"''")+".toString()",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX];default:const b=Array(a.itemCount_);for(let c=0;c<a.itemCount_;c++)b[c]=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,
323
- "ADD"+c,module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"''";return["["+b.join(",")+"].join()",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]}};
324
- module$exports$Blockly$Dart.dartGenerator.text_append=function(a){const b=module$exports$Blockly$Dart.dartGenerator.nameDB_.getName(a.getFieldValue("VAR"),$.NameType$$module$build$src$core$names.VARIABLE);a=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"TEXT",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"''";return b+" = ["+b+", "+a+"].join();\n"};
325
- module$exports$Blockly$Dart.dartGenerator.text_length=function(a){return[(module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"VALUE",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX)||"''")+".length",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
326
- module$exports$Blockly$Dart.dartGenerator.text_isEmpty=function(a){return[(module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"VALUE",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX)||"''")+".isEmpty",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
327
- module$exports$Blockly$Dart.dartGenerator.text_indexOf=function(a){var b="FIRST"===a.getFieldValue("END")?"indexOf":"lastIndexOf";const c=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"FIND",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"''";b=(module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"VALUE",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX)||"''")+"."+b+"("+c+")";return a.workspace.options.oneBasedIndex?[b+" + 1",module$exports$Blockly$Dart.dartGenerator.ORDER_ADDITIVE]:
328
- [b,module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
329
- module$exports$Blockly$Dart.dartGenerator.text_charAt=function(a){const b=a.getFieldValue("WHERE")||"FROM_START",c=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"VALUE","FIRST"===b||"FROM_START"===b?module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX:module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"''";switch(b){case "FIRST":return[c+"[0]",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX];case "FROM_START":return a=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,
330
- "AT"),[c+"["+a+"]",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX];case "LAST":case "FROM_END":return a=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT",1),[module$exports$Blockly$Dart.dartGenerator.provideFunction_("text_get_from_end",`
331
- String ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(String text, num x) {
286
+ `)+"("+c+", "+a+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};dartGenerator$$module$build$src$generators$dart.forBlock.math_random_float=function(a,b){b.definitions_.import_dart_math="import 'dart:math' as Math;";return["new Math.Random().nextDouble()",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};
287
+ dartGenerator$$module$build$src$generators$dart.forBlock.math_atan2=function(a,b){b.definitions_.import_dart_math="import 'dart:math' as Math;";const c=b.valueToCode(a,"X",Order$$module$build$src$generators$dart.NONE)||"0";return["Math.atan2("+(b.valueToCode(a,"Y",Order$$module$build$src$generators$dart.NONE)||"0")+", "+c+") / Math.pi * 180",Order$$module$build$src$generators$dart.MULTIPLICATIVE]};var module$build$src$generators$dart$math={};dartGenerator$$module$build$src$generators$dart.forBlock.procedures_defreturn=function(a,b){const c=b.nameDB_.getName(a.getFieldValue("NAME"),$.NameType$$module$build$src$core$names.PROCEDURE);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&&(e=b.prefixLines(b.injectId(b.INFINITE_LOOP_TRAP,a),b.INDENT));const f=b.statementToCode(a,"STACK");let g=b.valueToCode(a,
288
+ "RETURN",Order$$module$build$src$generators$dart.NONE)||"",h="";f&&g&&(h=d);g&&(g=b.INDENT+"return "+g+";\n");const k=g?"dynamic":"void",l=[],n=a.getVars();for(let m=0;m<n.length;m++)l[m]=b.nameDB_.getName(n[m],$.NameType$$module$build$src$core$names.VARIABLE);d=k+" "+c+"("+l.join(", ")+") {\n"+d+e+f+h+g+"}";d=b.scrub_(a,d);b.definitions_["%"+c]=d;return null};dartGenerator$$module$build$src$generators$dart.forBlock.procedures_defnoreturn=dartGenerator$$module$build$src$generators$dart.forBlock.procedures_defreturn;
289
+ dartGenerator$$module$build$src$generators$dart.forBlock.procedures_callreturn=function(a,b){const c=b.nameDB_.getName(a.getFieldValue("NAME"),$.NameType$$module$build$src$core$names.PROCEDURE),d=[],e=a.getVars();for(let f=0;f<e.length;f++)d[f]=b.valueToCode(a,"ARG"+f,Order$$module$build$src$generators$dart.NONE)||"null";return[c+"("+d.join(", ")+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};
290
+ dartGenerator$$module$build$src$generators$dart.forBlock.procedures_callnoreturn=function(a,b){return b.forBlock.procedures_callreturn(a,b)[0]+";\n"};
291
+ dartGenerator$$module$build$src$generators$dart.forBlock.procedures_ifreturn=function(a,b){let c="if ("+(b.valueToCode(a,"CONDITION",Order$$module$build$src$generators$dart.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$dart.NONE)||"null",c+=b.INDENT+"return "+a+";\n"):c+=b.INDENT+"return;\n";return c+"}\n"};var module$build$src$generators$dart$procedures={};dartGenerator$$module$build$src$generators$dart.addReservedWords("Html,Math");dartGenerator$$module$build$src$generators$dart.forBlock.text=function(a,b){return[b.quote_(a.getFieldValue("TEXT")),Order$$module$build$src$generators$dart.ATOMIC]};
292
+ dartGenerator$$module$build$src$generators$dart.forBlock.text_multiline=function(a,b){a=b.multiline_quote_(a.getFieldValue("TEXT"));b=-1!==a.indexOf("+")?Order$$module$build$src$generators$dart.ADDITIVE:Order$$module$build$src$generators$dart.ATOMIC;return[a,b]};
293
+ dartGenerator$$module$build$src$generators$dart.forBlock.text_join=function(a,b){switch(a.itemCount_){case 0:return["''",Order$$module$build$src$generators$dart.ATOMIC];case 1:return[(b.valueToCode(a,"ADD0",Order$$module$build$src$generators$dart.UNARY_POSTFIX)||"''")+".toString()",Order$$module$build$src$generators$dart.UNARY_POSTFIX];default: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$dart.NONE)||"''";return["["+c.join(",")+
294
+ "].join()",Order$$module$build$src$generators$dart.UNARY_POSTFIX]}};dartGenerator$$module$build$src$generators$dart.forBlock.text_append=function(a,b){const c=b.nameDB_.getName(a.getFieldValue("VAR"),$.NameType$$module$build$src$core$names.VARIABLE);a=b.valueToCode(a,"TEXT",Order$$module$build$src$generators$dart.NONE)||"''";return c+" = ["+c+", "+a+"].join();\n"};
295
+ dartGenerator$$module$build$src$generators$dart.forBlock.text_length=function(a,b){return[(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart.UNARY_POSTFIX)||"''")+".length",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};dartGenerator$$module$build$src$generators$dart.forBlock.text_isEmpty=function(a,b){return[(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart.UNARY_POSTFIX)||"''")+".isEmpty",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};
296
+ dartGenerator$$module$build$src$generators$dart.forBlock.text_indexOf=function(a,b){const c="FIRST"===a.getFieldValue("END")?"indexOf":"lastIndexOf",d=b.valueToCode(a,"FIND",Order$$module$build$src$generators$dart.NONE)||"''";b=(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart.UNARY_POSTFIX)||"''")+"."+c+"("+d+")";return a.workspace.options.oneBasedIndex?[b+" + 1",Order$$module$build$src$generators$dart.ADDITIVE]:[b,Order$$module$build$src$generators$dart.UNARY_POSTFIX]};
297
+ dartGenerator$$module$build$src$generators$dart.forBlock.text_charAt=function(a,b){const c=a.getFieldValue("WHERE")||"FROM_START",d=b.valueToCode(a,"VALUE","FIRST"===c||"FROM_START"===c?Order$$module$build$src$generators$dart.UNARY_POSTFIX:Order$$module$build$src$generators$dart.NONE)||"''";switch(c){case "FIRST":return[d+"[0]",Order$$module$build$src$generators$dart.UNARY_POSTFIX];case "FROM_START":return a=b.getAdjusted(a,"AT"),[d+"["+a+"]",Order$$module$build$src$generators$dart.UNARY_POSTFIX];
298
+ case "LAST":case "FROM_END":return a=b.getAdjusted(a,"AT",1),[b.provideFunction_("text_get_from_end",`
299
+ String ${b.FUNCTION_NAME_PLACEHOLDER_}(String text, num x) {
332
300
  return text[text.length - x];
333
301
  }
334
- `)+"("+c+", "+a+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX];case "RANDOM":return module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math="import 'dart:math' as Math;",[module$exports$Blockly$Dart.dartGenerator.provideFunction_("text_random_letter",`
335
- String ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(String text) {
302
+ `)+"("+d+", "+a+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX];case "RANDOM":return b.definitions_.import_dart_math="import 'dart:math' as Math;",[b.provideFunction_("text_random_letter",`
303
+ String ${b.FUNCTION_NAME_PLACEHOLDER_}(String text) {
336
304
  int x = new Math.Random().nextInt(text.length);
337
305
  return text[x];
338
306
  }
339
- `)+"("+c+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]}throw Error("Unhandled option (text_charAt).");};
340
- module$exports$Blockly$Dart.dartGenerator.text_getSubstring=function(a){var b=a.getFieldValue("WHERE1"),c=a.getFieldValue("WHERE2");const d="FROM_END"!==b&&"FROM_START"===c,e=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"STRING",d?module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX:module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"''";if("FIRST"===b&&"LAST"===c)return[e,module$exports$Blockly$Dart.dartGenerator.ORDER_NONE];if(e.match(/^'?\w+'?$/)||d){switch(b){case "FROM_START":b=
341
- module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT1");break;case "FROM_END":b=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT1",1,!1,module$exports$Blockly$Dart.dartGenerator.ORDER_ADDITIVE);b=e+".length - "+b;break;case "FIRST":b="0";break;default:throw Error("Unhandled option (text_getSubstring).");}switch(c){case "FROM_START":var f=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT2",1);break;case "FROM_END":f=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,
342
- "AT2",0,!1,module$exports$Blockly$Dart.dartGenerator.ORDER_ADDITIVE);f=e+".length - "+f;break;case "LAST":break;default:throw Error("Unhandled option (text_getSubstring).");}c="LAST"===c?e+".substring("+b+")":e+".substring("+b+", "+f+")"}else f=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT1"),a=module$exports$Blockly$Dart.dartGenerator.getAdjusted(a,"AT2"),c=module$exports$Blockly$Dart.dartGenerator.provideFunction_("text_get_substring",`
343
- String ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(String text, String where1, num at1, String where2, num at2) {
307
+ `)+"("+d+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX]}throw Error("Unhandled option (text_charAt).");};
308
+ dartGenerator$$module$build$src$generators$dart.forBlock.text_getSubstring=function(a,b){var c=a.getFieldValue("WHERE1");const d=a.getFieldValue("WHERE2"),e="FROM_END"!==c&&"FROM_START"===d,f=b.valueToCode(a,"STRING",e?Order$$module$build$src$generators$dart.UNARY_POSTFIX:Order$$module$build$src$generators$dart.NONE)||"''";if("FIRST"===c&&"LAST"===d)return[f,Order$$module$build$src$generators$dart.NONE];if(f.match(/^'?\w+'?$/)||e){switch(c){case "FROM_START":c=b.getAdjusted(a,"AT1");break;case "FROM_END":c=
309
+ b.getAdjusted(a,"AT1",1,!1,Order$$module$build$src$generators$dart.ADDITIVE);c=f+".length - "+c;break;case "FIRST":c="0";break;default:throw Error("Unhandled option (text_getSubstring).");}switch(d){case "FROM_START":var g=b.getAdjusted(a,"AT2",1);break;case "FROM_END":g=b.getAdjusted(a,"AT2",0,!1,Order$$module$build$src$generators$dart.ADDITIVE);g=f+".length - "+g;break;case "LAST":break;default:throw Error("Unhandled option (text_getSubstring).");}b="LAST"===d?f+".substring("+c+")":f+".substring("+
310
+ c+", "+g+")"}else g=b.getAdjusted(a,"AT1"),a=b.getAdjusted(a,"AT2"),b=b.provideFunction_("text_get_substring",`
311
+ String ${b.FUNCTION_NAME_PLACEHOLDER_}(String text, String where1, num at1, String where2, num at2) {
344
312
  int getAt(String where, num at) {
345
313
  if (where == 'FROM_END') {
346
314
  at = text.length - 1 - at;
@@ -357,9 +325,8 @@ String ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(S
357
325
  at2 = getAt(where2, at2) + 1;
358
326
  return text.substring(at1, at2);
359
327
  }
360
- `)+"("+e+", '"+b+"', "+f+", '"+c+"', "+a+")";return[c,module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
361
- module$exports$Blockly$Dart.dartGenerator.text_changeCase=function(a){const b={UPPERCASE:".toUpperCase()",LOWERCASE:".toLowerCase()",TITLECASE:null}[a.getFieldValue("CASE")];a=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"TEXT",b?module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX:module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"''";return[b?a+b:module$exports$Blockly$Dart.dartGenerator.provideFunction_("text_toTitleCase",`
362
- String ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(String str) {
328
+ `)+"("+f+", '"+c+"', "+g+", '"+d+"', "+a+")";return[b,Order$$module$build$src$generators$dart.UNARY_POSTFIX]};dartGenerator$$module$build$src$generators$dart.forBlock.text_changeCase=function(a,b){const c={UPPERCASE:".toUpperCase()",LOWERCASE:".toLowerCase()",TITLECASE:null}[a.getFieldValue("CASE")];a=b.valueToCode(a,"TEXT",c?Order$$module$build$src$generators$dart.UNARY_POSTFIX:Order$$module$build$src$generators$dart.NONE)||"''";return[c?a+c:b.provideFunction_("text_toTitleCase",`
329
+ String ${b.FUNCTION_NAME_PLACEHOLDER_}(String str) {
363
330
  RegExp exp = new RegExp(r'\\b');
364
331
  List<String> list = str.split(exp);
365
332
  final title = new StringBuffer();
@@ -373,12 +340,11 @@ String ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(S
373
340
  }
374
341
  return title.toString();
375
342
  }
376
- `)+"("+a+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};module$exports$Blockly$Dart.dartGenerator.text_trim=function(a){const b={LEFT:".replaceFirst(new RegExp(r'^\\s+'), '')",RIGHT:".replaceFirst(new RegExp(r'\\s+$'), '')",BOTH:".trim()"}[a.getFieldValue("MODE")];return[(module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"TEXT",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX)||"''")+b,module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
377
- module$exports$Blockly$Dart.dartGenerator.text_print=function(a){return"print("+(module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"TEXT",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"''")+");\n"};
378
- module$exports$Blockly$Dart.dartGenerator.text_prompt_ext=function(a){module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_html="import 'dart:html' as Html;";let b="Html.window.prompt("+(a.getField("TEXT")?module$exports$Blockly$Dart.dartGenerator.quote_(a.getFieldValue("TEXT")):module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"TEXT",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"''")+", '')";"NUMBER"===a.getFieldValue("TYPE")&&(module$exports$Blockly$Dart.dartGenerator.definitions_.import_dart_math=
379
- "import 'dart:math' as Math;",b="Math.parseDouble("+b+")");return[b,module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};module$exports$Blockly$Dart.dartGenerator.text_prompt=module$exports$Blockly$Dart.dartGenerator.text_prompt_ext;
380
- module$exports$Blockly$Dart.dartGenerator.text_count=function(a){const b=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"TEXT",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"''";a=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"SUB",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"''";return[module$exports$Blockly$Dart.dartGenerator.provideFunction_("text_count",`
381
- int ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(String haystack, String needle) {
343
+ `)+"("+a+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};dartGenerator$$module$build$src$generators$dart.forBlock.text_trim=function(a,b){const c={LEFT:".replaceFirst(new RegExp(r'^\\s+'), '')",RIGHT:".replaceFirst(new RegExp(r'\\s+$'), '')",BOTH:".trim()"}[a.getFieldValue("MODE")];return[(b.valueToCode(a,"TEXT",Order$$module$build$src$generators$dart.UNARY_POSTFIX)||"''")+c,Order$$module$build$src$generators$dart.UNARY_POSTFIX]};
344
+ dartGenerator$$module$build$src$generators$dart.forBlock.text_print=function(a,b){return"print("+(b.valueToCode(a,"TEXT",Order$$module$build$src$generators$dart.NONE)||"''")+");\n"};
345
+ dartGenerator$$module$build$src$generators$dart.forBlock.text_prompt_ext=function(a,b){b.definitions_.import_dart_html="import 'dart:html' as Html;";let c="Html.window.prompt("+(a.getField("TEXT")?b.quote_(a.getFieldValue("TEXT")):b.valueToCode(a,"TEXT",Order$$module$build$src$generators$dart.NONE)||"''")+", '')";"NUMBER"===a.getFieldValue("TYPE")&&(b.definitions_.import_dart_math="import 'dart:math' as Math;",c="Math.parseDouble("+c+")");return[c,Order$$module$build$src$generators$dart.UNARY_POSTFIX]};
346
+ dartGenerator$$module$build$src$generators$dart.forBlock.text_prompt=dartGenerator$$module$build$src$generators$dart.forBlock.text_prompt_ext;dartGenerator$$module$build$src$generators$dart.forBlock.text_count=function(a,b){const c=b.valueToCode(a,"TEXT",Order$$module$build$src$generators$dart.NONE)||"''";a=b.valueToCode(a,"SUB",Order$$module$build$src$generators$dart.NONE)||"''";return[b.provideFunction_("text_count",`
347
+ int ${b.FUNCTION_NAME_PLACEHOLDER_}(String haystack, String needle) {
382
348
  if (needle.length == 0) {
383
349
  return haystack.length + 1;
384
350
  }
@@ -393,12 +359,11 @@ int ${module$exports$Blockly$Dart.dartGenerator.FUNCTION_NAME_PLACEHOLDER_}(Stri
393
359
  }
394
360
  return count;
395
361
  }
396
- `)+"("+b+", "+a+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
397
- module$exports$Blockly$Dart.dartGenerator.text_replace=function(a){const b=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"TEXT",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX)||"''",c=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"FROM",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"''";a=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"TO",module$exports$Blockly$Dart.dartGenerator.ORDER_NONE)||"''";return[b+".replaceAll("+c+", "+a+")",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX]};
398
- module$exports$Blockly$Dart.dartGenerator.text_reverse=function(a){return["new String.fromCharCodes("+(module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"TEXT",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_POSTFIX)||"''")+".runes.toList().reversed)",module$exports$Blockly$Dart.dartGenerator.ORDER_UNARY_PREFIX]};var module$exports$Blockly$Dart$variables={},module$contents$Blockly$Dart$variables_NameType=$.NameType$$module$build$src$core$names;module$exports$Blockly$Dart.dartGenerator.variables_get=function(a){return[module$exports$Blockly$Dart.dartGenerator.nameDB_.getName(a.getFieldValue("VAR"),$.NameType$$module$build$src$core$names.VARIABLE),module$exports$Blockly$Dart.dartGenerator.ORDER_ATOMIC]};
399
- module$exports$Blockly$Dart.dartGenerator.variables_set=function(a){const b=module$exports$Blockly$Dart.dartGenerator.valueToCode(a,"VALUE",module$exports$Blockly$Dart.dartGenerator.ORDER_ASSIGNMENT)||"0";return module$exports$Blockly$Dart.dartGenerator.nameDB_.getName(a.getFieldValue("VAR"),$.NameType$$module$build$src$core$names.VARIABLE)+" = "+b+";\n"};var module$exports$Blockly$Dart$variablesDynamic={};module$exports$Blockly$Dart.dartGenerator.variables_get_dynamic=module$exports$Blockly$Dart.dartGenerator.variables_get;module$exports$Blockly$Dart.dartGenerator.variables_set_dynamic=module$exports$Blockly$Dart.dartGenerator.variables_set;var module$exports$Blockly$Dart$all=module$exports$Blockly$Dart;
400
- module$exports$Blockly$Dart.__namespace__=$;
401
- return module$exports$Blockly$Dart;
362
+ `)+"("+c+", "+a+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};dartGenerator$$module$build$src$generators$dart.forBlock.text_replace=function(a,b){const c=b.valueToCode(a,"TEXT",Order$$module$build$src$generators$dart.UNARY_POSTFIX)||"''",d=b.valueToCode(a,"FROM",Order$$module$build$src$generators$dart.NONE)||"''";a=b.valueToCode(a,"TO",Order$$module$build$src$generators$dart.NONE)||"''";return[c+".replaceAll("+d+", "+a+")",Order$$module$build$src$generators$dart.UNARY_POSTFIX]};
363
+ dartGenerator$$module$build$src$generators$dart.forBlock.text_reverse=function(a,b){return["new String.fromCharCodes("+(b.valueToCode(a,"TEXT",Order$$module$build$src$generators$dart.UNARY_POSTFIX)||"''")+".runes.toList().reversed)",Order$$module$build$src$generators$dart.UNARY_PREFIX]};var module$build$src$generators$dart$text={};dartGenerator$$module$build$src$generators$dart.forBlock.variables_get=function(a,b){return[b.nameDB_.getName(a.getFieldValue("VAR"),$.NameType$$module$build$src$core$names.VARIABLE),Order$$module$build$src$generators$dart.ATOMIC]};
364
+ dartGenerator$$module$build$src$generators$dart.forBlock.variables_set=function(a,b){const c=b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart.ASSIGNMENT)||"0";return b.nameDB_.getName(a.getFieldValue("VAR"),$.NameType$$module$build$src$core$names.VARIABLE)+" = "+c+";\n"};var module$build$src$generators$dart$variables={};dartGenerator$$module$build$src$generators$dart.forBlock.variables_get_dynamic=dartGenerator$$module$build$src$generators$dart.forBlock.variables_get;dartGenerator$$module$build$src$generators$dart.forBlock.variables_set_dynamic=dartGenerator$$module$build$src$generators$dart.forBlock.variables_set;var module$build$src$generators$dart$variables_dynamic={};var module$build$src$generators$dart$all={};module$build$src$generators$dart$all.DartGenerator=DartGenerator$$module$build$src$generators$dart;module$build$src$generators$dart$all.Order=Order$$module$build$src$generators$dart;module$build$src$generators$dart$all.dartGenerator=dartGenerator$$module$build$src$generators$dart;
365
+ module$build$src$generators$dart$all.__namespace__=$;
366
+ return module$build$src$generators$dart$all;
402
367
  }));
403
368
 
404
369