iobroker.javascript 10.0.0 → 10.1.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 (157) hide show
  1. package/README.md +41 -6
  2. package/admin/assets/AiChatPanel-C4kuqP2U.js +237 -0
  3. package/admin/assets/AiDiffView-zJTEnv05.js +1 -0
  4. package/admin/assets/BlocklyEditor-BB77aFJI.js +84 -0
  5. package/admin/assets/ContextWrapper-C2yvd2Tn.css +1 -0
  6. package/admin/assets/ContextWrapper-W2H0z6zD.js +136 -0
  7. package/admin/assets/Debugger-DCMWjeGm.js +15 -0
  8. package/admin/assets/Error-CBC2oZzb.js +1 -0
  9. package/admin/assets/Import-B-F9IhZ-.js +1 -0
  10. package/admin/assets/RulesEditor-ByjgEaVo.js +1 -0
  11. package/admin/assets/RulesEditor-k-DMHotH.css +1 -0
  12. package/admin/assets/{ScriptEditor-BGIuoNei.js → ScriptEditor-CMYUt5S4.js} +2 -2
  13. package/admin/assets/{ScriptEditorVanillaMonaco-DyMQtoTQ.js → ScriptEditorVanillaMonaco-v12-gORS.js} +3 -3
  14. package/admin/assets/Send-CChqR5Oy.js +1 -0
  15. package/admin/assets/_virtual_mf-localSharedImportMap___mfe_internal__iobroker_javascript__mf_owner__1-7EPUlgCk.js +1 -0
  16. package/admin/assets/_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DuplUOZN.js +1243 -0
  17. package/admin/assets/{_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__1__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-BBAXJaqI.js → _virtual_mf___mfe_internal__iobroker_javascript__mf_owner__1__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-JkwfVf8d.js} +1 -1
  18. package/admin/assets/{aiCodeLensProvider-hyAmut0e.js → aiCodeLensProvider-BGvIu6hH.js} +1 -1
  19. package/admin/assets/blockly-C4zJerWL.js +1047 -0
  20. package/admin/assets/blocks_action-CvnOHXwt.js +1 -0
  21. package/admin/assets/blocks_convert-BZlKcd02.js +3 -0
  22. package/admin/assets/blocks_logic-B33Pypxr.js +1 -0
  23. package/admin/assets/blocks_number-k2IjE7OH.js +1 -0
  24. package/admin/assets/blocks_object-B64vSfel.js +1 -0
  25. package/admin/assets/blocks_procedures-BpvNI5dO.js +3 -0
  26. package/admin/assets/blocks_sendto-pwZchfe0.js +5 -0
  27. package/admin/assets/blocks_switch-DViYCmQd.js +2 -0
  28. package/admin/assets/blocks_system-BZZcGqTJ.js +1 -0
  29. package/admin/assets/blocks_text-BOvtHN2r.js +1 -0
  30. package/admin/assets/blocks_time-BH2F-ylT.js +1 -0
  31. package/admin/assets/blocks_timeout-C3BoW4XJ.js +1 -0
  32. package/admin/assets/blocks_trigger-gwXvuAHV.js +2 -0
  33. package/admin/assets/blocks_words-D8PL_nSE.js +1 -0
  34. package/admin/assets/{cronHoverProvider-pKJkSevo.js → cronHoverProvider-DjY3jLvQ.js} +1 -1
  35. package/admin/assets/dist-D6o4h8Pd.js +4 -0
  36. package/admin/assets/field_cron-BMQWPb61.js +1 -0
  37. package/admin/assets/field_oid-BGIMv9gw.js +1 -0
  38. package/admin/assets/field_script-CdzYBCe6.js +1 -0
  39. package/admin/assets/helpers-Crmcgphg.js +1 -0
  40. package/admin/assets/hostInit-DBlZi_Kt.js +1 -0
  41. package/admin/assets/index-BvPVHv3P.js +192 -0
  42. package/admin/assets/{inlineChatWidget-ZaisTOLh.js → inlineChatWidget-SDoyVtOR.js} +2 -2
  43. package/admin/assets/{inlineDiffController-hTwHHqcc.js → inlineDiffController-CnHE3Rwd.js} +2 -2
  44. package/admin/assets/javascript-DVIhlTDr.js +218 -0
  45. package/admin/assets/{mf-entry-bootstrap-0-d6052b31.js → mf-entry-bootstrap-0-a03ecebd.js} +6 -2
  46. package/admin/assets/{mjs-DWqivHEk.js → mjs-Bh7xFIpd.js} +2 -2
  47. package/admin/assets/{stateHoverProvider-C7DawIs-.js → stateHoverProvider-D0iXo6YF.js} +3 -3
  48. package/admin/assets/{virtualExposes-Ed0lGq7k.js → virtualExposes-DgGB-18P.js} +1 -1
  49. package/admin/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__iobroker_javascript__remoteEntry_js-DYEYnOkt.js +1 -0
  50. package/admin/assets/virtual_mf-exposes___mfe_internal__iobroker_javascript__remoteEntry_js-ChiJXsfH.js +1 -0
  51. package/admin/custom/assets/Components-CuFt9lAY.js +1 -0
  52. package/admin/custom/assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1-DljJyQQg.js +1 -0
  53. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-D0M1SjIE.js +1 -0
  54. package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-CGb5Cofy.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-BD2OkSge.js} +1 -1
  55. package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-BVCIAgbo.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-pM642JFd.js} +91 -91
  56. package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-BkB0anQX.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-BLelmJ7Y.js} +74 -74
  57. package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-BotqDuw-.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-BGiB1l5e.js} +1 -1
  58. package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__prebuild__date_mf_2_fns__prebuild__-Cb5TR7FB.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__prebuild__date_mf_2_fns__prebuild__-D5hqXJXI.js} +1 -1
  59. package/admin/custom/assets/hostInit-0DGPuZTB.js +1 -0
  60. package/admin/custom/assets/{index-uEKAoVT7.js → index-DcFI5r-g.js} +1 -1
  61. package/admin/custom/assets/{lib-Yj8cfN0A.js → lib-BlUjuGH7.js} +1 -1
  62. package/admin/custom/assets/{mf-entry-bootstrap-0-77793feb.js → mf-entry-bootstrap-0-efd847a6.js} +6 -2
  63. package/admin/custom/assets/{setYear-DJ9FbdkO.js → setYear-BaCcPbbI.js} +1 -1
  64. package/admin/custom/assets/virtualExposes-DGxNcyb6.js +1 -0
  65. package/admin/custom/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__ConfigCustomJavascriptSet__customComponents_js-DVNwFcUr.js +1 -0
  66. package/admin/custom/assets/virtual_mf-exposes___mfe_internal__ConfigCustomJavascriptSet__customComponents_js-DPck7zEs.js +2 -0
  67. package/admin/custom/customComponents.js +1 -1
  68. package/admin/google-blockly/VERSION +1 -0
  69. package/admin/google-blockly/media/drop.mp3 +0 -0
  70. package/admin/google-blockly/msg/js/de.js +332 -56
  71. package/admin/google-blockly/msg/js/en.js +319 -43
  72. package/admin/google-blockly/msg/js/es.js +319 -42
  73. package/admin/google-blockly/msg/js/fr.js +315 -39
  74. package/admin/google-blockly/msg/js/it.js +327 -51
  75. package/admin/google-blockly/msg/js/nl.js +376 -100
  76. package/admin/google-blockly/msg/js/pl.js +318 -42
  77. package/admin/google-blockly/msg/js/pt.js +318 -42
  78. package/admin/google-blockly/msg/js/ru.js +320 -44
  79. package/admin/google-blockly/msg/js/uk.js +326 -50
  80. package/admin/google-blockly/msg/js/zh-cn.js +322 -46
  81. package/admin/i18n/de.json +48 -26
  82. package/admin/i18n/en.json +47 -25
  83. package/admin/i18n/es.json +48 -18
  84. package/admin/i18n/fr.json +47 -17
  85. package/admin/i18n/it.json +47 -17
  86. package/admin/i18n/nl.json +47 -17
  87. package/admin/i18n/pl.json +48 -18
  88. package/admin/i18n/pt.json +47 -17
  89. package/admin/i18n/ru.json +47 -17
  90. package/admin/i18n/uk.json +47 -17
  91. package/admin/i18n/zh-cn.json +47 -17
  92. package/admin/jsonConfig.json +367 -0
  93. package/admin/mf-manifest.json +1 -1
  94. package/admin/mf-stats.json +1 -1
  95. package/admin/remoteEntry.js +1 -1
  96. package/admin/tab.html +12 -95
  97. package/build/lib/mirror.js +9 -0
  98. package/build/lib/mirror.js.map +1 -1
  99. package/build/lib/sandbox.js +35 -0
  100. package/build/lib/sandbox.js.map +1 -1
  101. package/build/lib/typescriptSettings.js +112 -2
  102. package/build/lib/typescriptSettings.js.map +1 -1
  103. package/build/lib/typescriptTools.js +168 -43
  104. package/build/lib/typescriptTools.js.map +1 -1
  105. package/build/main.js +10 -5
  106. package/build/main.js.map +1 -1
  107. package/build/types.d.ts +41 -0
  108. package/docs/en/javascript.md +16 -0
  109. package/docs/en/upgrade-guide.md +3 -0
  110. package/io-package.json +45 -15
  111. package/package.json +8 -3
  112. package/admin/assets/AiChatPanel-p0KAg6Cs.js +0 -237
  113. package/admin/assets/AiDiffView-BPTLnNx1.js +0 -1
  114. package/admin/assets/BlocklyEditor-CAjVMhYT.js +0 -81
  115. package/admin/assets/ContextWrapper-BVc8wTK_.css +0 -1
  116. package/admin/assets/ContextWrapper-D9CrnNKs.js +0 -127
  117. package/admin/assets/Debugger-SjROokFI.js +0 -15
  118. package/admin/assets/Error-DDfrxAt2.js +0 -1
  119. package/admin/assets/Import-DpTg1Jow.js +0 -1
  120. package/admin/assets/RulesEditor-BSRFWpEm.css +0 -1
  121. package/admin/assets/RulesEditor-D0hgrcBc.js +0 -1
  122. package/admin/assets/_virtual_mf-localSharedImportMap___mfe_internal__iobroker_javascript__mf_owner__1-DWJotR1B.js +0 -1
  123. package/admin/assets/_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-CxICLr5Z.js +0 -1243
  124. package/admin/assets/dist-uw5orDgd.js +0 -4
  125. package/admin/assets/hostInit-BFg5u9hY.js +0 -1
  126. package/admin/assets/index-B1gICjdq.js +0 -192
  127. package/admin/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__iobroker_javascript__remoteEntry_js-BYs71IQF.js +0 -1
  128. package/admin/assets/virtual_mf-exposes___mfe_internal__iobroker_javascript__remoteEntry_js-DnnXQRkG.js +0 -1
  129. package/admin/custom/assets/Components-BrDyDHXh.js +0 -1
  130. package/admin/custom/assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1-CyYJM2-v.js +0 -1
  131. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BdzCssLn.js +0 -1
  132. package/admin/custom/assets/hostInit-DJx2uXXy.js +0 -1
  133. package/admin/custom/assets/virtualExposes-CxDjLoYu.js +0 -1
  134. package/admin/custom/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__ConfigCustomJavascriptSet__customComponents_js-BU-ugy_7.js +0 -1
  135. package/admin/custom/assets/virtual_mf-exposes-ssr___mfe_internal__ConfigCustomJavascriptSet__customComponents_js-BEfZbrf7.js +0 -2
  136. package/admin/custom/assets/virtual_mf-exposes___mfe_internal__ConfigCustomJavascriptSet__customComponents_js-CTeZ0Jpm.js +0 -2
  137. package/admin/google-blockly/blockly_compressed.js +0 -1679
  138. package/admin/google-blockly/blocks_compressed.js +0 -193
  139. package/admin/google-blockly/javascript_compressed.js +0 -264
  140. package/admin/google-blockly/msg/messages.js +0 -1630
  141. package/admin/google-blockly/own/blocks_action.js +0 -765
  142. package/admin/google-blockly/own/blocks_convert.js +0 -480
  143. package/admin/google-blockly/own/blocks_logic.js +0 -459
  144. package/admin/google-blockly/own/blocks_number.js +0 -30
  145. package/admin/google-blockly/own/blocks_object.js +0 -402
  146. package/admin/google-blockly/own/blocks_procedures.js +0 -688
  147. package/admin/google-blockly/own/blocks_sendto.js +0 -702
  148. package/admin/google-blockly/own/blocks_switch.js +0 -257
  149. package/admin/google-blockly/own/blocks_system.js +0 -1409
  150. package/admin/google-blockly/own/blocks_text.js +0 -104
  151. package/admin/google-blockly/own/blocks_time.js +0 -639
  152. package/admin/google-blockly/own/blocks_timeout.js +0 -551
  153. package/admin/google-blockly/own/blocks_trigger.js +0 -1791
  154. package/admin/google-blockly/own/blocks_words.js +0 -708
  155. package/admin/google-blockly/own/field_cron.js +0 -158
  156. package/admin/google-blockly/own/field_oid.js +0 -642
  157. package/admin/google-blockly/own/field_script.js +0 -159
@@ -1,257 +0,0 @@
1
- // Taken from here: https://groups.google.com/forum/#!topic/blockly/djhO2jUb0Xs
2
- // I really tried to get the license conditions from authors, but no luck :(
3
- // Many thanks to Florian Pechwitz <florian.Pechwitz@itizzimo.com> for the code
4
-
5
- Blockly.Blocks['logic_switch_case'] = {
6
- init: function () {
7
- this.appendValueInput('CONDITION')
8
- .appendField(Blockly.Translate('logic_switch_case_is'));
9
-
10
- this.appendValueInput('CASECONDITION0')
11
- .appendField(Blockly.Translate('logic_switch_case_of'));
12
-
13
- this.appendStatementInput('CASE0')
14
- .appendField(Blockly.Translate('logic_switch_do'));
15
-
16
- this.setMutator(new Blockly.icons.MutatorIcon(['case_incaseof', 'case_default'], this));
17
-
18
- this.setPreviousStatement(true);
19
- this.setNextStatement(true);
20
-
21
- this.setColour('%{BKY_LOGIC_HUE}');
22
-
23
- this.setTooltip(Blockly.Translate('logic_switch_tooltip'));
24
-
25
- this.caseCount_ = 0;
26
- this.defaultCount_ = 0;
27
- },
28
-
29
- mutationToDom: function () {
30
- if (!this.caseCount_ && !this.defaultCount_) {
31
- return null;
32
- }
33
-
34
- const container = document.createElement('mutation');
35
-
36
- if (this.caseCount_) {
37
- container.setAttribute('case', this.caseCount_);
38
- }
39
-
40
- if (this.defaultCount_) {
41
- container.setAttribute('default', 1);
42
- }
43
- return container;
44
- },
45
-
46
- domToMutation: function (xmlElement) {
47
- this.caseCount_ = parseInt(xmlElement.getAttribute('case'), 10);
48
- this.defaultCount_ = parseInt(xmlElement.getAttribute('default'), 10);
49
-
50
- for (let x = 1; x <= this.caseCount_; x++) {
51
- this.appendValueInput('CASECONDITION' + x)
52
- .appendField(Blockly.Translate('logic_switch_case_of'));
53
- this.appendStatementInput('CASE' + x)
54
- .appendField(Blockly.Translate('logic_switch_do'));
55
- }
56
-
57
- if (this.defaultCount_) {
58
- this.appendStatementInput('ONDEFAULT')
59
- .appendField('default');
60
- }
61
- },
62
-
63
- decompose: function (workspace) {
64
- const containerBlock = workspace.newBlock('control_case');//Blockly.Block.obtain(workspace, 'control_case');
65
- containerBlock.initSvg();
66
-
67
- let connection = containerBlock.getInput('STACK').connection;
68
-
69
- for (let x = 1; x <= this.caseCount_; x++) {
70
- const caseBlock = workspace.newBlock('case_incaseof');//Blockly.Block.obtain(workspace, 'case_incaseof');
71
- caseBlock.initSvg();
72
- connection.connect(caseBlock.previousConnection);
73
- connection = caseBlock.nextConnection;
74
- }
75
-
76
- if (this.defaultCount_) {
77
- const defaultBlock = workspace.newBlock('case_default');//Blockly.Block.obtain(workspace, 'case_default');
78
- defaultBlock.initSvg();
79
- connection.connect(defaultBlock.previousConnection);
80
- }
81
-
82
- return containerBlock;
83
- },
84
-
85
- compose: function (containerBlock) {
86
- //Disconnect all input blocks and remove all inputs.
87
- if (this.defaultCount_) {
88
- this.removeInput('ONDEFAULT');
89
- }
90
-
91
- this.defaultCount_ = 0;
92
-
93
- for (let x = this.caseCount_; x > 0; x--) {
94
- this.removeInput('CASECONDITION' + x);
95
- this.removeInput('CASE' + x);
96
- }
97
-
98
- this.caseCount_ = 0;
99
-
100
- let caseBlock = containerBlock.getInputTargetBlock('STACK');
101
-
102
- while (caseBlock) {
103
- switch(caseBlock.type) {
104
- case 'case_incaseof':
105
- this.caseCount_++;
106
- const caseconditionInput = this.appendValueInput('CASECONDITION' + this.caseCount_)
107
- .appendField(Blockly.Translate('logic_switch_case_of'));
108
-
109
- const caseInput = this.appendStatementInput('CASE' + this.caseCount_)
110
- .appendField(Blockly.Translate('logic_switch_do'));
111
-
112
- if (caseBlock.valueConnection_) {
113
- caseconditionInput.connection.connect(caseBlock.valueConnection_);
114
- }
115
-
116
- if (caseBlock.statementConnection_) {
117
- caseInput.connection.connect(caseBlock.statementConnection_);
118
- }
119
- break;
120
-
121
- case 'case_default':
122
- this.defaultCount_++;
123
- const defaultInput = this.appendStatementInput('ONDEFAULT')
124
- .appendField('default');
125
-
126
- if (caseBlock.statementConnection_) {
127
- defaultInput.connection.connect(caseBlock.statementConnection_);
128
- }
129
- break;
130
-
131
- default:
132
- throw 'Unknown block type.';
133
- }
134
-
135
- caseBlock = caseBlock.nextConnection && caseBlock.nextConnection.targetBlock();
136
- }
137
- },
138
-
139
- saveConnections: function (containerBlock) {
140
- let caseBlock = containerBlock.getInputTargetBlock('STACK');
141
- let x = 1;
142
- while (caseBlock) {
143
- switch (caseBlock.type) {
144
- case'case_incaseof':
145
- let caseconditionInput;
146
- let caseInput;
147
- try {
148
- caseconditionInput = this.getInput('CASECONDITION' + x);
149
- caseInput = this.getInput('CASE' + x);
150
- } catch (e) {
151
- // ignore
152
- }
153
- caseBlock.valueConnection_ = caseconditionInput?.connection.targetConnection;
154
- caseBlock.statementConnection_ = caseInput?.connection.targetConnection;
155
- x++;
156
- break;
157
- case'case_default':
158
- let defaultInput;
159
- try {
160
- defaultInput = this.getInput('ONDEFAULT');
161
- } catch (e) {
162
- // ignore
163
- }
164
- caseBlock.statementConnection_ = defaultInput?.connection.targetConnection;
165
- break;
166
- default:
167
- throw 'Unknown block type';
168
- }
169
- caseBlock = caseBlock.nextConnection?.targetBlock();
170
- }
171
- },
172
- };
173
-
174
- Blockly.Blocks['control_case'] = {
175
- init: function () {
176
- this.appendDummyInput()
177
- .appendField(Blockly.Translate('logic_switch_case_is'));
178
-
179
- this.appendStatementInput('STACK');
180
-
181
- this.setColour('%{BKY_LOGIC_HUE}');
182
-
183
- this.setTooltip(Blockly.Translate('logic_switch_control_case_tooltip'));
184
-
185
- this.contextMenu = false;
186
- },
187
- };
188
-
189
- Blockly.Blocks['case_incaseof'] = {
190
- init: function () {
191
- this.appendDummyInput()
192
- .appendField(Blockly.Translate('logic_switch_case_of'));
193
-
194
- this.setPreviousStatement(true);
195
- this.setNextStatement(true);
196
-
197
- this.setColour('%{BKY_LOGIC_HUE}');
198
-
199
- this.setTooltip(Blockly.Translate('logic_switch_case_incaseof_tooltip'));
200
-
201
- this.contextMenu = false;
202
- },
203
- };
204
-
205
- Blockly.Blocks['case_default'] = {
206
- init: function () {
207
- this.appendDummyInput()
208
- .appendField('default');
209
-
210
- this.setPreviousStatement(true);
211
- this.setNextStatement(false);
212
-
213
- this.setColour('%{BKY_LOGIC_HUE}');
214
-
215
- this.setTooltip(Blockly.Translate('logic_switch_default_tooltip'));
216
-
217
- this.contextMenu = false;
218
- },
219
- };
220
-
221
- Blockly.JavaScript.forBlock['logic_switch_case'] = function (block) {
222
- let code = '';
223
- let do_n;
224
- let case_n;
225
- const switchVariable = Blockly.JavaScript.valueToCode(block, 'CONDITION', Blockly.JavaScript.ORDER_NONE) || null;
226
-
227
- if (switchVariable) {
228
- const pattern = /^\(?([._$\d\w"'?: \(\)])*\)?$/g;
229
-
230
- if (pattern.test(switchVariable)) { // Check to see if the switch is a kind of variable type
231
- code = '\nswitch (' + switchVariable + ') {\n';
232
- const case_0 = Blockly.JavaScript.valueToCode(block, 'CASECONDITION0', Blockly.JavaScript.ORDER_NONE) || null;
233
- const do_0 = Blockly.JavaScript.statementToCode(block, 'CASE0');
234
- code += '\tcase ' + case_0 + ':\n' + do_0 + '\n\t\tbreak;\n';
235
-
236
- for (let n = 1; n <= block.caseCount_; n++) {
237
- case_n = Blockly.JavaScript.valueToCode(block, 'CASECONDITION' + n, Blockly.JavaScript.ORDER_NONE) || null;
238
-
239
- if (case_n) {
240
- do_n = Blockly.JavaScript.statementToCode(block, 'CASE' + n);
241
- code += '\tcase ' + case_n + ':\n' + do_n + '\n\t\tbreak;\n';
242
- }
243
- }
244
-
245
- if (block.defaultCount_) {
246
- do_n = Blockly.JavaScript.statementToCode(block, 'ONDEFAULT');
247
- code += '\tdefault:\n' + do_n + '\n\t\tbreak;\n';
248
- }
249
-
250
- code += '}\n';
251
- } else {
252
- alert('logic_switch_case: ' + switchVariable + ' is not a variable name');
253
- }
254
- }
255
-
256
- return code;
257
- };