nodeskini 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blocklySkini/archive/blocklyControleur.js +87 -0
- package/blocklySkini/archive/blocklySkini.js +84 -0
- package/blocklySkini/archive/blocklyhop.js +75 -0
- package/blocklySkini/archive/clientControleurBlocly.js +170 -0
- package/blocklySkini/archive/index.html +76 -0
- package/blocklySkini/archive/testHHsuspend.txt +89 -0
- package/blocklySkini/archive/testHHtrap.txt +262 -0
- package/blocklySkini/archive/testOrchestration.txt +177 -0
- package/blocklySkini/archive/testOrchestration.xml +447 -0
- package/blocklySkini/archive/testOrchestration2.xml +456 -0
- package/blocklySkini/blockly/README.md +77 -0
- package/blocklySkini/blockly/blockly.d.ts +21480 -0
- package/blocklySkini/blockly/blockly.js +25 -0
- package/blocklySkini/blockly/blockly.min.js +2188 -0
- package/blocklySkini/blockly/blockly_compressed.js +1455 -0
- package/blocklySkini/blockly/blockly_compressed.js.map +1 -0
- package/blocklySkini/blockly/blocks/colour.js +122 -0
- package/blocklySkini/blockly/blocks/lists.js +862 -0
- package/blocklySkini/blockly/blocks/logic.js +635 -0
- package/blocklySkini/blockly/blocks/loops.js +357 -0
- package/blocklySkini/blockly/blocks/math.js +566 -0
- package/blocklySkini/blockly/blocks/procedures.js +1072 -0
- package/blocklySkini/blockly/blocks/text.js +923 -0
- package/blocklySkini/blockly/blocks/variables.js +163 -0
- package/blocklySkini/blockly/blocks/variables_dynamic.js +180 -0
- package/blocklySkini/blockly/blocks.d.ts +15 -0
- package/blocklySkini/blockly/blocks.js +27 -0
- package/blocklySkini/blockly/blocks_compressed.js +182 -0
- package/blocklySkini/blockly/blocks_compressed.js.map +1 -0
- package/blocklySkini/blockly/browser.js +36 -0
- package/blocklySkini/blockly/core/block.js +2010 -0
- package/blocklySkini/blockly/core/block_animations.js +203 -0
- package/blocklySkini/blockly/core/block_drag_surface.js +212 -0
- package/blocklySkini/blockly/core/block_dragger.js +378 -0
- package/blocklySkini/blockly/core/block_events.js +548 -0
- package/blocklySkini/blockly/core/block_svg.js +1763 -0
- package/blocklySkini/blockly/core/blockly.js +674 -0
- package/blocklySkini/blockly/core/blocks.js +23 -0
- package/blocklySkini/blockly/core/bubble.js +880 -0
- package/blocklySkini/blockly/core/bubble_dragger.js +274 -0
- package/blocklySkini/blockly/core/comment.js +439 -0
- package/blocklySkini/blockly/core/components/component.js +554 -0
- package/blocklySkini/blockly/core/components/tree/basenode.js +895 -0
- package/blocklySkini/blockly/core/components/tree/treecontrol.js +332 -0
- package/blocklySkini/blockly/core/components/tree/treenode.js +172 -0
- package/blocklySkini/blockly/core/connection.js +682 -0
- package/blocklySkini/blockly/core/connection_checker.js +285 -0
- package/blocklySkini/blockly/core/connection_db.js +295 -0
- package/blocklySkini/blockly/core/constants.js +277 -0
- package/blocklySkini/blockly/core/contextmenu.js +307 -0
- package/blocklySkini/blockly/core/contextmenu_items.js +534 -0
- package/blocklySkini/blockly/core/contextmenu_registry.js +165 -0
- package/blocklySkini/blockly/core/css.js +549 -0
- package/blocklySkini/blockly/core/dropdowndiv.js +776 -0
- package/blocklySkini/blockly/core/events.js +387 -0
- package/blocklySkini/blockly/core/events_abstract.js +106 -0
- package/blocklySkini/blockly/core/extensions.js +450 -0
- package/blocklySkini/blockly/core/field.js +1162 -0
- package/blocklySkini/blockly/core/field_angle.js +562 -0
- package/blocklySkini/blockly/core/field_checkbox.js +220 -0
- package/blocklySkini/blockly/core/field_colour.js +664 -0
- package/blocklySkini/blockly/core/field_dropdown.js +760 -0
- package/blocklySkini/blockly/core/field_image.js +286 -0
- package/blocklySkini/blockly/core/field_label.js +130 -0
- package/blocklySkini/blockly/core/field_label_serializable.js +69 -0
- package/blocklySkini/blockly/core/field_multilineinput.js +299 -0
- package/blocklySkini/blockly/core/field_number.js +317 -0
- package/blocklySkini/blockly/core/field_registry.js +66 -0
- package/blocklySkini/blockly/core/field_textinput.js +616 -0
- package/blocklySkini/blockly/core/field_variable.js +463 -0
- package/blocklySkini/blockly/core/flyout_base.js +1071 -0
- package/blocklySkini/blockly/core/flyout_button.js +325 -0
- package/blocklySkini/blockly/core/flyout_dragger.js +76 -0
- package/blocklySkini/blockly/core/flyout_horizontal.js +388 -0
- package/blocklySkini/blockly/core/flyout_vertical.js +397 -0
- package/blocklySkini/blockly/core/generator.js +482 -0
- package/blocklySkini/blockly/core/gesture.js +993 -0
- package/blocklySkini/blockly/core/grid.js +222 -0
- package/blocklySkini/blockly/core/icon.js +206 -0
- package/blocklySkini/blockly/core/inject.js +487 -0
- package/blocklySkini/blockly/core/input.js +296 -0
- package/blocklySkini/blockly/core/insertion_marker_manager.js +700 -0
- package/blocklySkini/blockly/core/interfaces/i_accessibility.js +72 -0
- package/blocklySkini/blockly/core/interfaces/i_bounded_element.js +31 -0
- package/blocklySkini/blockly/core/interfaces/i_bubble.js +83 -0
- package/blocklySkini/blockly/core/interfaces/i_connection_checker.js +94 -0
- package/blocklySkini/blockly/core/interfaces/i_contextmenu.js +26 -0
- package/blocklySkini/blockly/core/interfaces/i_copyable.js +40 -0
- package/blocklySkini/blockly/core/interfaces/i_deletable.js +27 -0
- package/blocklySkini/blockly/core/interfaces/i_deletearea.js +28 -0
- package/blocklySkini/blockly/core/interfaces/i_flyout.js +178 -0
- package/blocklySkini/blockly/core/interfaces/i_movable.js +27 -0
- package/blocklySkini/blockly/core/interfaces/i_registrable.js +22 -0
- package/blocklySkini/blockly/core/interfaces/i_registrable_field.js +31 -0
- package/blocklySkini/blockly/core/interfaces/i_selectable.js +43 -0
- package/blocklySkini/blockly/core/interfaces/i_styleable.js +33 -0
- package/blocklySkini/blockly/core/interfaces/i_toolbox.js +131 -0
- package/blocklySkini/blockly/core/interfaces/i_toolbox_item.js +148 -0
- package/blocklySkini/blockly/core/keyboard_nav/action.js +26 -0
- package/blocklySkini/blockly/core/keyboard_nav/ast_node.js +684 -0
- package/blocklySkini/blockly/core/keyboard_nav/basic_cursor.js +208 -0
- package/blocklySkini/blockly/core/keyboard_nav/cursor.js +170 -0
- package/blocklySkini/blockly/core/keyboard_nav/flyout_cursor.js +106 -0
- package/blocklySkini/blockly/core/keyboard_nav/key_map.js +190 -0
- package/blocklySkini/blockly/core/keyboard_nav/marker.js +120 -0
- package/blocklySkini/blockly/core/keyboard_nav/navigation.js +1084 -0
- package/blocklySkini/blockly/core/keyboard_nav/tab_navigate_cursor.js +48 -0
- package/blocklySkini/blockly/core/marker_manager.js +183 -0
- package/blocklySkini/blockly/core/menu.js +465 -0
- package/blocklySkini/blockly/core/menuitem.js +280 -0
- package/blocklySkini/blockly/core/msg.js +31 -0
- package/blocklySkini/blockly/core/mutator.js +555 -0
- package/blocklySkini/blockly/core/names.js +186 -0
- package/blocklySkini/blockly/core/options.js +365 -0
- package/blocklySkini/blockly/core/procedures.js +404 -0
- package/blocklySkini/blockly/core/registry.js +265 -0
- package/blocklySkini/blockly/core/rendered_connection.js +565 -0
- package/blocklySkini/blockly/core/renderers/common/block_rendering.js +81 -0
- package/blocklySkini/blockly/core/renderers/common/constants.js +1256 -0
- package/blocklySkini/blockly/core/renderers/common/debugger.js +431 -0
- package/blocklySkini/blockly/core/renderers/common/drawer.js +468 -0
- package/blocklySkini/blockly/core/renderers/common/i_path_object.js +151 -0
- package/blocklySkini/blockly/core/renderers/common/info.js +775 -0
- package/blocklySkini/blockly/core/renderers/common/marker_svg.js +687 -0
- package/blocklySkini/blockly/core/renderers/common/path_object.js +279 -0
- package/blocklySkini/blockly/core/renderers/common/renderer.js +301 -0
- package/blocklySkini/blockly/core/renderers/geras/constants.js +64 -0
- package/blocklySkini/blockly/core/renderers/geras/drawer.js +205 -0
- package/blocklySkini/blockly/core/renderers/geras/highlight_constants.js +311 -0
- package/blocklySkini/blockly/core/renderers/geras/highlighter.js +256 -0
- package/blocklySkini/blockly/core/renderers/geras/info.js +483 -0
- package/blocklySkini/blockly/core/renderers/geras/measurables/inputs.js +67 -0
- package/blocklySkini/blockly/core/renderers/geras/path_object.js +177 -0
- package/blocklySkini/blockly/core/renderers/geras/renderer.js +138 -0
- package/blocklySkini/blockly/core/renderers/measurables/base.js +44 -0
- package/blocklySkini/blockly/core/renderers/measurables/connections.js +114 -0
- package/blocklySkini/blockly/core/renderers/measurables/inputs.js +160 -0
- package/blocklySkini/blockly/core/renderers/measurables/row_elements.js +185 -0
- package/blocklySkini/blockly/core/renderers/measurables/rows.js +532 -0
- package/blocklySkini/blockly/core/renderers/measurables/types.js +349 -0
- package/blocklySkini/blockly/core/renderers/minimalist/constants.js +29 -0
- package/blocklySkini/blockly/core/renderers/minimalist/drawer.js +32 -0
- package/blocklySkini/blockly/core/renderers/minimalist/info.js +45 -0
- package/blocklySkini/blockly/core/renderers/minimalist/renderer.js +70 -0
- package/blocklySkini/blockly/core/renderers/thrasos/info.js +338 -0
- package/blocklySkini/blockly/core/renderers/thrasos/renderer.js +45 -0
- package/blocklySkini/blockly/core/renderers/zelos/constants.js +1002 -0
- package/blocklySkini/blockly/core/renderers/zelos/drawer.js +233 -0
- package/blocklySkini/blockly/core/renderers/zelos/info.js +587 -0
- package/blocklySkini/blockly/core/renderers/zelos/marker_svg.js +148 -0
- package/blocklySkini/blockly/core/renderers/zelos/measurables/inputs.js +47 -0
- package/blocklySkini/blockly/core/renderers/zelos/measurables/row_elements.js +37 -0
- package/blocklySkini/blockly/core/renderers/zelos/measurables/rows.js +108 -0
- package/blocklySkini/blockly/core/renderers/zelos/path_object.js +244 -0
- package/blocklySkini/blockly/core/renderers/zelos/renderer.js +130 -0
- package/blocklySkini/blockly/core/requires.js +84 -0
- package/blocklySkini/blockly/core/scrollbar.js +880 -0
- package/blocklySkini/blockly/core/theme/classic.js +87 -0
- package/blocklySkini/blockly/core/theme/dark.js +33 -0
- package/blocklySkini/blockly/core/theme/deuteranopia.js +104 -0
- package/blocklySkini/blockly/core/theme/highcontrast.js +119 -0
- package/blocklySkini/blockly/core/theme/modern.js +108 -0
- package/blocklySkini/blockly/core/theme/tritanopia.js +103 -0
- package/blocklySkini/blockly/core/theme/zelos.js +106 -0
- package/blocklySkini/blockly/core/theme.js +236 -0
- package/blocklySkini/blockly/core/theme_manager.js +197 -0
- package/blocklySkini/blockly/core/toolbox/category.js +690 -0
- package/blocklySkini/blockly/core/toolbox/collapsible_category.js +294 -0
- package/blocklySkini/blockly/core/toolbox/separator.js +123 -0
- package/blocklySkini/blockly/core/toolbox/toolbox.js +984 -0
- package/blocklySkini/blockly/core/toolbox/toolbox_item.js +145 -0
- package/blocklySkini/blockly/core/toolbox.js +943 -0
- package/blocklySkini/blockly/core/tooltip.js +387 -0
- package/blocklySkini/blockly/core/touch.js +255 -0
- package/blocklySkini/blockly/core/touch_gesture.js +325 -0
- package/blocklySkini/blockly/core/trashcan.js +661 -0
- package/blocklySkini/blockly/core/ui_events.js +85 -0
- package/blocklySkini/blockly/core/utils/aria.js +167 -0
- package/blocklySkini/blockly/core/utils/colour.js +208 -0
- package/blocklySkini/blockly/core/utils/coordinate.js +125 -0
- package/blocklySkini/blockly/core/utils/deprecation.js +34 -0
- package/blocklySkini/blockly/core/utils/dom.js +391 -0
- package/blocklySkini/blockly/core/utils/global.js +37 -0
- package/blocklySkini/blockly/core/utils/idgenerator.js +33 -0
- package/blocklySkini/blockly/core/utils/keycodes.js +164 -0
- package/blocklySkini/blockly/core/utils/math.js +56 -0
- package/blocklySkini/blockly/core/utils/metrics.js +124 -0
- package/blocklySkini/blockly/core/utils/object.js +73 -0
- package/blocklySkini/blockly/core/utils/rect.js +54 -0
- package/blocklySkini/blockly/core/utils/size.js +58 -0
- package/blocklySkini/blockly/core/utils/string.js +284 -0
- package/blocklySkini/blockly/core/utils/style.js +281 -0
- package/blocklySkini/blockly/core/utils/svg.js +181 -0
- package/blocklySkini/blockly/core/utils/svg_paths.js +142 -0
- package/blocklySkini/blockly/core/utils/toolbox.js +401 -0
- package/blocklySkini/blockly/core/utils/useragent.js +110 -0
- package/blocklySkini/blockly/core/utils/xml.js +79 -0
- package/blocklySkini/blockly/core/utils.js +652 -0
- package/blocklySkini/blockly/core/variable_events.js +248 -0
- package/blocklySkini/blockly/core/variable_map.js +414 -0
- package/blocklySkini/blockly/core/variable_model.js +95 -0
- package/blocklySkini/blockly/core/variables.js +571 -0
- package/blocklySkini/blockly/core/variables_dynamic.js +100 -0
- package/blocklySkini/blockly/core/warning.js +200 -0
- package/blocklySkini/blockly/core/widgetdiv.js +241 -0
- package/blocklySkini/blockly/core/workspace.js +786 -0
- package/blocklySkini/blockly/core/workspace_audio.js +153 -0
- package/blocklySkini/blockly/core/workspace_comment.js +373 -0
- package/blocklySkini/blockly/core/workspace_comment_render_svg.js +461 -0
- package/blocklySkini/blockly/core/workspace_comment_svg.js +701 -0
- package/blocklySkini/blockly/core/workspace_drag_surface_svg.js +176 -0
- package/blocklySkini/blockly/core/workspace_dragger.js +85 -0
- package/blocklySkini/blockly/core/workspace_events.js +93 -0
- package/blocklySkini/blockly/core/workspace_svg.js +2661 -0
- package/blocklySkini/blockly/core/ws_comment_events.js +417 -0
- package/blocklySkini/blockly/core/xml.js +827 -0
- package/blocklySkini/blockly/core/zoom_controls.js +449 -0
- package/blocklySkini/blockly/core-browser.js +34 -0
- package/blocklySkini/blockly/core.d.ts +15 -0
- package/blocklySkini/blockly/core.js +38 -0
- package/blocklySkini/blockly/dart.d.ts +15 -0
- package/blocklySkini/blockly/dart.js +27 -0
- package/blocklySkini/blockly/dart_compressed.js +114 -0
- package/blocklySkini/blockly/dart_compressed.js.map +1 -0
- package/blocklySkini/blockly/generators/dart/colour.js +114 -0
- package/blocklySkini/blockly/generators/dart/lists.js +447 -0
- package/blocklySkini/blockly/generators/dart/logic.js +127 -0
- package/blocklySkini/blockly/generators/dart/loops.js +169 -0
- package/blocklySkini/blockly/generators/dart/math.js +485 -0
- package/blocklySkini/blockly/generators/dart/procedures.js +111 -0
- package/blocklySkini/blockly/generators/dart/text.js +339 -0
- package/blocklySkini/blockly/generators/dart/variables.js +32 -0
- package/blocklySkini/blockly/generators/dart/variables_dynamic.js +21 -0
- package/blocklySkini/blockly/generators/dart.js +290 -0
- package/blocklySkini/blockly/generators/javascript/colour.js +89 -0
- package/blocklySkini/blockly/generators/javascript/lists.js +388 -0
- package/blocklySkini/blockly/generators/javascript/logic.js +129 -0
- package/blocklySkini/blockly/generators/javascript/loops.js +184 -0
- package/blocklySkini/blockly/generators/javascript/math.js +409 -0
- package/blocklySkini/blockly/generators/javascript/procedures.js +113 -0
- package/blocklySkini/blockly/generators/javascript/text.js +367 -0
- package/blocklySkini/blockly/generators/javascript/variables.js +32 -0
- package/blocklySkini/blockly/generators/javascript/variables_dynamic.js +23 -0
- package/blocklySkini/blockly/generators/javascript.js +317 -0
- package/blocklySkini/blockly/generators/lua/colour.js +76 -0
- package/blocklySkini/blockly/generators/lua/lists.js +368 -0
- package/blocklySkini/blockly/generators/lua/logic.js +127 -0
- package/blocklySkini/blockly/generators/lua/loops.js +173 -0
- package/blocklySkini/blockly/generators/lua/math.js +423 -0
- package/blocklySkini/blockly/generators/lua/procedures.js +113 -0
- package/blocklySkini/blockly/generators/lua/text.js +353 -0
- package/blocklySkini/blockly/generators/lua/variables.js +32 -0
- package/blocklySkini/blockly/generators/lua/variables_dynamic.js +21 -0
- package/blocklySkini/blockly/generators/lua.js +198 -0
- package/blocklySkini/blockly/generators/php/colour.js +91 -0
- package/blocklySkini/blockly/generators/php/lists.js +498 -0
- package/blocklySkini/blockly/generators/php/logic.js +128 -0
- package/blocklySkini/blockly/generators/php/loops.js +170 -0
- package/blocklySkini/blockly/generators/php/math.js +370 -0
- package/blocklySkini/blockly/generators/php/procedures.js +132 -0
- package/blocklySkini/blockly/generators/php/text.js +271 -0
- package/blocklySkini/blockly/generators/php/variables.js +32 -0
- package/blocklySkini/blockly/generators/php/variables_dynamic.js +21 -0
- package/blocklySkini/blockly/generators/php.js +318 -0
- package/blocklySkini/blockly/generators/python/colour.js +72 -0
- package/blocklySkini/blockly/generators/python/lists.js +349 -0
- package/blocklySkini/blockly/generators/python/logic.js +127 -0
- package/blocklySkini/blockly/generators/python/loops.js +214 -0
- package/blocklySkini/blockly/generators/python/math.js +385 -0
- package/blocklySkini/blockly/generators/python/procedures.js +134 -0
- package/blocklySkini/blockly/generators/python/text.js +293 -0
- package/blocklySkini/blockly/generators/python/variables.js +32 -0
- package/blocklySkini/blockly/generators/python/variables_dynamic.js +21 -0
- package/blocklySkini/blockly/generators/python.js +322 -0
- package/blocklySkini/blockly/index.d.ts +22 -0
- package/blocklySkini/blockly/index.js +24 -0
- package/blocklySkini/blockly/javascript.d.ts +15 -0
- package/blocklySkini/blockly/javascript.js +27 -0
- package/blocklySkini/blockly/javascript_compressed.js +115 -0
- package/blocklySkini/blockly/javascript_compressed.js.map +1 -0
- package/blocklySkini/blockly/lua.d.ts +15 -0
- package/blocklySkini/blockly/lua.js +27 -0
- package/blocklySkini/blockly/lua_compressed.js +94 -0
- package/blocklySkini/blockly/lua_compressed.js.map +1 -0
- package/blocklySkini/blockly/media/1x1.gif +0 -0
- package/blocklySkini/blockly/media/click.mp3 +0 -0
- package/blocklySkini/blockly/media/click.ogg +0 -0
- package/blocklySkini/blockly/media/click.wav +0 -0
- package/blocklySkini/blockly/media/delete.mp3 +0 -0
- package/blocklySkini/blockly/media/delete.ogg +0 -0
- package/blocklySkini/blockly/media/delete.wav +0 -0
- package/blocklySkini/blockly/media/disconnect.mp3 +0 -0
- package/blocklySkini/blockly/media/disconnect.ogg +0 -0
- package/blocklySkini/blockly/media/disconnect.wav +0 -0
- package/blocklySkini/blockly/media/dropdown-arrow.svg +1 -0
- package/blocklySkini/blockly/media/handclosed.cur +0 -0
- package/blocklySkini/blockly/media/handdelete.cur +0 -0
- package/blocklySkini/blockly/media/handopen.cur +0 -0
- package/blocklySkini/blockly/media/pilcrow.png +0 -0
- package/blocklySkini/blockly/media/quote0.png +0 -0
- package/blocklySkini/blockly/media/quote1.png +0 -0
- package/blocklySkini/blockly/media/sprites.png +0 -0
- package/blocklySkini/blockly/media/sprites.svg +74 -0
- package/blocklySkini/blockly/msg/ab.d.ts +16 -0
- package/blocklySkini/blockly/msg/ab.js +447 -0
- package/blocklySkini/blockly/msg/ar.d.ts +16 -0
- package/blocklySkini/blockly/msg/ar.js +447 -0
- package/blocklySkini/blockly/msg/az.d.ts +16 -0
- package/blocklySkini/blockly/msg/az.js +447 -0
- package/blocklySkini/blockly/msg/ba.d.ts +16 -0
- package/blocklySkini/blockly/msg/ba.js +447 -0
- package/blocklySkini/blockly/msg/bcc.d.ts +16 -0
- package/blocklySkini/blockly/msg/bcc.js +447 -0
- package/blocklySkini/blockly/msg/be-tarask.d.ts +16 -0
- package/blocklySkini/blockly/msg/be-tarask.js +447 -0
- package/blocklySkini/blockly/msg/be.d.ts +16 -0
- package/blocklySkini/blockly/msg/be.js +447 -0
- package/blocklySkini/blockly/msg/bg.d.ts +16 -0
- package/blocklySkini/blockly/msg/bg.js +447 -0
- package/blocklySkini/blockly/msg/bn.d.ts +16 -0
- package/blocklySkini/blockly/msg/bn.js +447 -0
- package/blocklySkini/blockly/msg/br.d.ts +16 -0
- package/blocklySkini/blockly/msg/br.js +447 -0
- package/blocklySkini/blockly/msg/ca.d.ts +16 -0
- package/blocklySkini/blockly/msg/ca.js +447 -0
- package/blocklySkini/blockly/msg/constants.d.ts +16 -0
- package/blocklySkini/blockly/msg/cs.d.ts +16 -0
- package/blocklySkini/blockly/msg/cs.js +447 -0
- package/blocklySkini/blockly/msg/da.d.ts +16 -0
- package/blocklySkini/blockly/msg/da.js +447 -0
- package/blocklySkini/blockly/msg/de.d.ts +16 -0
- package/blocklySkini/blockly/msg/de.js +447 -0
- package/blocklySkini/blockly/msg/diq.d.ts +16 -0
- package/blocklySkini/blockly/msg/diq.js +447 -0
- package/blocklySkini/blockly/msg/dty.d.ts +16 -0
- package/blocklySkini/blockly/msg/dty.js +447 -0
- package/blocklySkini/blockly/msg/ee.d.ts +16 -0
- package/blocklySkini/blockly/msg/ee.js +447 -0
- package/blocklySkini/blockly/msg/el.d.ts +16 -0
- package/blocklySkini/blockly/msg/el.js +447 -0
- package/blocklySkini/blockly/msg/en-gb.d.ts +16 -0
- package/blocklySkini/blockly/msg/en-gb.js +447 -0
- package/blocklySkini/blockly/msg/en.d.ts +16 -0
- package/blocklySkini/blockly/msg/en.js +447 -0
- package/blocklySkini/blockly/msg/eo.d.ts +16 -0
- package/blocklySkini/blockly/msg/eo.js +447 -0
- package/blocklySkini/blockly/msg/es.d.ts +16 -0
- package/blocklySkini/blockly/msg/es.js +447 -0
- package/blocklySkini/blockly/msg/et.d.ts +16 -0
- package/blocklySkini/blockly/msg/et.js +447 -0
- package/blocklySkini/blockly/msg/eu.d.ts +16 -0
- package/blocklySkini/blockly/msg/eu.js +447 -0
- package/blocklySkini/blockly/msg/fa.d.ts +16 -0
- package/blocklySkini/blockly/msg/fa.js +447 -0
- package/blocklySkini/blockly/msg/fi.d.ts +16 -0
- package/blocklySkini/blockly/msg/fi.js +447 -0
- package/blocklySkini/blockly/msg/fr.d.ts +16 -0
- package/blocklySkini/blockly/msg/fr.js +447 -0
- package/blocklySkini/blockly/msg/gl.d.ts +16 -0
- package/blocklySkini/blockly/msg/gl.js +447 -0
- package/blocklySkini/blockly/msg/gor.d.ts +16 -0
- package/blocklySkini/blockly/msg/gor.js +447 -0
- package/blocklySkini/blockly/msg/ha.d.ts +16 -0
- package/blocklySkini/blockly/msg/ha.js +447 -0
- package/blocklySkini/blockly/msg/he.d.ts +16 -0
- package/blocklySkini/blockly/msg/he.js +447 -0
- package/blocklySkini/blockly/msg/hi.d.ts +16 -0
- package/blocklySkini/blockly/msg/hi.js +447 -0
- package/blocklySkini/blockly/msg/hrx.d.ts +16 -0
- package/blocklySkini/blockly/msg/hrx.js +447 -0
- package/blocklySkini/blockly/msg/hu.d.ts +16 -0
- package/blocklySkini/blockly/msg/hu.js +447 -0
- package/blocklySkini/blockly/msg/hy.d.ts +16 -0
- package/blocklySkini/blockly/msg/hy.js +447 -0
- package/blocklySkini/blockly/msg/ia.d.ts +16 -0
- package/blocklySkini/blockly/msg/ia.js +447 -0
- package/blocklySkini/blockly/msg/id.d.ts +16 -0
- package/blocklySkini/blockly/msg/id.js +447 -0
- package/blocklySkini/blockly/msg/ig.d.ts +16 -0
- package/blocklySkini/blockly/msg/ig.js +447 -0
- package/blocklySkini/blockly/msg/is.d.ts +16 -0
- package/blocklySkini/blockly/msg/is.js +447 -0
- package/blocklySkini/blockly/msg/it.d.ts +16 -0
- package/blocklySkini/blockly/msg/it.js +447 -0
- package/blocklySkini/blockly/msg/ja.d.ts +16 -0
- package/blocklySkini/blockly/msg/ja.js +447 -0
- package/blocklySkini/blockly/msg/kab.d.ts +16 -0
- package/blocklySkini/blockly/msg/kab.js +447 -0
- package/blocklySkini/blockly/msg/kn.d.ts +16 -0
- package/blocklySkini/blockly/msg/kn.js +447 -0
- package/blocklySkini/blockly/msg/ko.d.ts +16 -0
- package/blocklySkini/blockly/msg/ko.js +447 -0
- package/blocklySkini/blockly/msg/lb.d.ts +16 -0
- package/blocklySkini/blockly/msg/lb.js +447 -0
- package/blocklySkini/blockly/msg/lki.d.ts +16 -0
- package/blocklySkini/blockly/msg/lki.js +447 -0
- package/blocklySkini/blockly/msg/lo.d.ts +16 -0
- package/blocklySkini/blockly/msg/lo.js +447 -0
- package/blocklySkini/blockly/msg/lrc.d.ts +16 -0
- package/blocklySkini/blockly/msg/lrc.js +447 -0
- package/blocklySkini/blockly/msg/lt.d.ts +16 -0
- package/blocklySkini/blockly/msg/lt.js +447 -0
- package/blocklySkini/blockly/msg/lv.d.ts +16 -0
- package/blocklySkini/blockly/msg/lv.js +447 -0
- package/blocklySkini/blockly/msg/mk.d.ts +16 -0
- package/blocklySkini/blockly/msg/mk.js +447 -0
- package/blocklySkini/blockly/msg/mnw.d.ts +16 -0
- package/blocklySkini/blockly/msg/mnw.js +447 -0
- package/blocklySkini/blockly/msg/ms.d.ts +16 -0
- package/blocklySkini/blockly/msg/ms.js +447 -0
- package/blocklySkini/blockly/msg/msg.d.ts +444 -0
- package/blocklySkini/blockly/msg/nb.d.ts +16 -0
- package/blocklySkini/blockly/msg/nb.js +447 -0
- package/blocklySkini/blockly/msg/nl.d.ts +16 -0
- package/blocklySkini/blockly/msg/nl.js +447 -0
- package/blocklySkini/blockly/msg/oc.d.ts +16 -0
- package/blocklySkini/blockly/msg/oc.js +447 -0
- package/blocklySkini/blockly/msg/pl.d.ts +16 -0
- package/blocklySkini/blockly/msg/pl.js +447 -0
- package/blocklySkini/blockly/msg/pms.d.ts +16 -0
- package/blocklySkini/blockly/msg/pms.js +447 -0
- package/blocklySkini/blockly/msg/pt-br.d.ts +16 -0
- package/blocklySkini/blockly/msg/pt-br.js +447 -0
- package/blocklySkini/blockly/msg/pt.d.ts +16 -0
- package/blocklySkini/blockly/msg/pt.js +447 -0
- package/blocklySkini/blockly/msg/qqq.d.ts +16 -0
- package/blocklySkini/blockly/msg/ro.d.ts +16 -0
- package/blocklySkini/blockly/msg/ro.js +447 -0
- package/blocklySkini/blockly/msg/ru.d.ts +16 -0
- package/blocklySkini/blockly/msg/ru.js +447 -0
- package/blocklySkini/blockly/msg/sc.d.ts +16 -0
- package/blocklySkini/blockly/msg/sc.js +447 -0
- package/blocklySkini/blockly/msg/sd.d.ts +16 -0
- package/blocklySkini/blockly/msg/sd.js +447 -0
- package/blocklySkini/blockly/msg/shn.d.ts +16 -0
- package/blocklySkini/blockly/msg/shn.js +447 -0
- package/blocklySkini/blockly/msg/sk.d.ts +16 -0
- package/blocklySkini/blockly/msg/sk.js +447 -0
- package/blocklySkini/blockly/msg/skr-arab.d.ts +16 -0
- package/blocklySkini/blockly/msg/skr-arab.js +447 -0
- package/blocklySkini/blockly/msg/sl.d.ts +16 -0
- package/blocklySkini/blockly/msg/sl.js +447 -0
- package/blocklySkini/blockly/msg/sq.d.ts +16 -0
- package/blocklySkini/blockly/msg/sq.js +447 -0
- package/blocklySkini/blockly/msg/sr-latn.d.ts +16 -0
- package/blocklySkini/blockly/msg/sr-latn.js +447 -0
- package/blocklySkini/blockly/msg/sr.d.ts +16 -0
- package/blocklySkini/blockly/msg/sr.js +447 -0
- package/blocklySkini/blockly/msg/sv.d.ts +16 -0
- package/blocklySkini/blockly/msg/sv.js +447 -0
- package/blocklySkini/blockly/msg/synonyms.d.ts +16 -0
- package/blocklySkini/blockly/msg/ta.d.ts +16 -0
- package/blocklySkini/blockly/msg/ta.js +447 -0
- package/blocklySkini/blockly/msg/tcy.d.ts +16 -0
- package/blocklySkini/blockly/msg/tcy.js +447 -0
- package/blocklySkini/blockly/msg/te.d.ts +16 -0
- package/blocklySkini/blockly/msg/te.js +447 -0
- package/blocklySkini/blockly/msg/th.d.ts +16 -0
- package/blocklySkini/blockly/msg/th.js +447 -0
- package/blocklySkini/blockly/msg/tl.d.ts +16 -0
- package/blocklySkini/blockly/msg/tl.js +447 -0
- package/blocklySkini/blockly/msg/tlh.d.ts +16 -0
- package/blocklySkini/blockly/msg/tlh.js +447 -0
- package/blocklySkini/blockly/msg/tr.d.ts +16 -0
- package/blocklySkini/blockly/msg/tr.js +447 -0
- package/blocklySkini/blockly/msg/ug-arab.d.ts +16 -0
- package/blocklySkini/blockly/msg/ug-arab.js +447 -0
- package/blocklySkini/blockly/msg/uk.d.ts +16 -0
- package/blocklySkini/blockly/msg/uk.js +447 -0
- package/blocklySkini/blockly/msg/ur.d.ts +16 -0
- package/blocklySkini/blockly/msg/ur.js +447 -0
- package/blocklySkini/blockly/msg/vi.d.ts +16 -0
- package/blocklySkini/blockly/msg/vi.js +447 -0
- package/blocklySkini/blockly/msg/xmf.d.ts +16 -0
- package/blocklySkini/blockly/msg/xmf.js +447 -0
- package/blocklySkini/blockly/msg/yo.d.ts +16 -0
- package/blocklySkini/blockly/msg/yo.js +447 -0
- package/blocklySkini/blockly/msg/zh-hans.d.ts +16 -0
- package/blocklySkini/blockly/msg/zh-hans.js +447 -0
- package/blocklySkini/blockly/msg/zh-hant.d.ts +16 -0
- package/blocklySkini/blockly/msg/zh-hant.js +447 -0
- package/blocklySkini/blockly/node.js +35 -0
- package/blocklySkini/blockly/package.json +84 -0
- package/blocklySkini/blockly/php.d.ts +15 -0
- package/blocklySkini/blockly/php.js +27 -0
- package/blocklySkini/blockly/php_compressed.js +103 -0
- package/blocklySkini/blockly/php_compressed.js.map +1 -0
- package/blocklySkini/blockly/python.d.ts +15 -0
- package/blocklySkini/blockly/python.js +27 -0
- package/blocklySkini/blockly/python_compressed.js +98 -0
- package/blocklySkini/blockly/python_compressed.js.map +1 -0
- package/blocklySkini/blocklySkini.html +81 -0
- package/blocklySkini/orchestrations/.xml +1 -0
- package/blocklySkini/orchestrations/BluesSkini-1.xml +231 -0
- package/blocklySkini/orchestrations/BluesSkini-2.xml +741 -0
- package/blocklySkini/orchestrations/BluesSkini-3.xml +731 -0
- package/blocklySkini/orchestrations/BluesSkini-4.xml +695 -0
- package/blocklySkini/orchestrations/BluesSkini-5.xml +731 -0
- package/blocklySkini/orchestrations/BluesSkini.xml +704 -0
- package/blocklySkini/orchestrations/FunkBitwig-1.xml +778 -0
- package/blocklySkini/orchestrations/FunkBitwig-2.xml +471 -0
- package/blocklySkini/orchestrations/JouerLeBonInstrument1-1.xml +784 -0
- package/blocklySkini/orchestrations/MajeurMineur-1.xml +638 -0
- package/blocklySkini/orchestrations/Opus5-3 - Copie.xml +1041 -0
- package/blocklySkini/orchestrations/Opus5-3.xml +1128 -0
- package/blocklySkini/orchestrations/Quatuor1-1.xml +357 -0
- package/blocklySkini/orchestrations/TechnoBitwig-1.xml +221 -0
- package/blocklySkini/orchestrations/TestBlockly.xml +497 -0
- package/blocklySkini/orchestrations/TestBlockly1.xml +500 -0
- package/blocklySkini/orchestrations/TestBlockly2.xml +792 -0
- package/blocklySkini/orchestrations/TestBlockly3-1.xml +1182 -0
- package/blocklySkini/orchestrations/TestBlockly3.xml +1251 -0
- package/blocklySkini/orchestrations/TestFunction.xml +143 -0
- package/blocklySkini/orchestrations/TestIf.xml +80 -0
- package/blocklySkini/orchestrations/TestLoop.xml +127 -0
- package/blocklySkini/orchestrations/TestOrchestration2.xml +460 -0
- package/blocklySkini/orchestrations/TestPrint.xml +70 -0
- package/blocklySkini/orchestrations/TestSubMod.xml +81 -0
- package/blocklySkini/orchestrations/Testlogic.xml +113 -0
- package/blocklySkini/orchestrations/TrouveLaPercu-1.xml +813 -0
- package/blocklySkini/orchestrations/TrouveLaPercu-2.xml +813 -0
- package/blocklySkini/orchestrations/bar.xml +496 -0
- package/blocklySkini/orchestrations/bar2.xml +496 -0
- package/blocklySkini/orchestrations/foo.xml +500 -0
- package/blocklySkini/orchestrations/opus5Blockly - Copie.xml +496 -0
- package/blocklySkini/orchestrations/opus5Blockly-3.xml +868 -0
- package/blocklySkini/orchestrations/opus5Blockly.xml +496 -0
- package/blocklySkini/orchestrations/testOrchestration3.xml +483 -0
- package/blocklySkini/orchestrations/testOrchestration4.xml +487 -0
- package/blocklySkini/scripts/hiphop_blocks.js +6104 -0
- package/blocklySkini/scripts/main2.js +801 -0
- package/blocklySkini/styles/index.css +320 -0
- package/blocklySkini/styles/material.css +11552 -0
- package/package.json +5 -5
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
// Do not edit this file; automatically generated by gulp.
|
|
2
|
+
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
;(function(root, factory) {
|
|
5
|
+
if (typeof define === 'function' && define.amd) { // AMD
|
|
6
|
+
define(['./blockly_compressed.js'], factory);
|
|
7
|
+
} else if (typeof exports === 'object') { // Node.js
|
|
8
|
+
module.exports = factory(require('./blockly_compressed.js'));
|
|
9
|
+
} else { // Browser
|
|
10
|
+
root.Blockly.PHP = factory(root.Blockly);
|
|
11
|
+
}
|
|
12
|
+
}(this, function(Blockly) {
|
|
13
|
+
'use strict';Blockly.PHP=new Blockly.Generator("PHP");Blockly.PHP.addReservedWords("__halt_compiler,abstract,and,array,as,break,callable,case,catch,class,clone,const,continue,declare,default,die,do,echo,else,elseif,empty,enddeclare,endfor,endforeach,endif,endswitch,endwhile,eval,exit,extends,final,for,foreach,function,global,goto,if,implements,include,include_once,instanceof,insteadof,interface,isset,list,namespace,new,or,print,private,protected,public,require,require_once,return,static,switch,throw,trait,try,unset,use,var,while,xor,PHP_VERSION,PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,PHP_VERSION_ID,PHP_EXTRA_VERSION,PHP_ZTS,PHP_DEBUG,PHP_MAXPATHLEN,PHP_OS,PHP_SAPI,PHP_EOL,PHP_INT_MAX,PHP_INT_SIZE,DEFAULT_INCLUDE_PATH,PEAR_INSTALL_DIR,PEAR_EXTENSION_DIR,PHP_EXTENSION_DIR,PHP_PREFIX,PHP_BINDIR,PHP_BINARY,PHP_MANDIR,PHP_LIBDIR,PHP_DATADIR,PHP_SYSCONFDIR,PHP_LOCALSTATEDIR,PHP_CONFIG_FILE_PATH,PHP_CONFIG_FILE_SCAN_DIR,PHP_SHLIB_SUFFIX,E_ERROR,E_WARNING,E_PARSE,E_NOTICE,E_CORE_ERROR,E_CORE_WARNING,E_COMPILE_ERROR,E_COMPILE_WARNING,E_USER_ERROR,E_USER_WARNING,E_USER_NOTICE,E_DEPRECATED,E_USER_DEPRECATED,E_ALL,E_STRICT,__COMPILER_HALT_OFFSET__,TRUE,FALSE,NULL,__CLASS__,__DIR__,__FILE__,__FUNCTION__,__LINE__,__METHOD__,__NAMESPACE__,__TRAIT__");
|
|
14
|
+
Blockly.PHP.ORDER_ATOMIC=0;Blockly.PHP.ORDER_CLONE=1;Blockly.PHP.ORDER_NEW=1;Blockly.PHP.ORDER_MEMBER=2.1;Blockly.PHP.ORDER_FUNCTION_CALL=2.2;Blockly.PHP.ORDER_POWER=3;Blockly.PHP.ORDER_INCREMENT=4;Blockly.PHP.ORDER_DECREMENT=4;Blockly.PHP.ORDER_BITWISE_NOT=4;Blockly.PHP.ORDER_CAST=4;Blockly.PHP.ORDER_SUPPRESS_ERROR=4;Blockly.PHP.ORDER_INSTANCEOF=5;Blockly.PHP.ORDER_LOGICAL_NOT=6;Blockly.PHP.ORDER_UNARY_PLUS=7.1;Blockly.PHP.ORDER_UNARY_NEGATION=7.2;Blockly.PHP.ORDER_MULTIPLICATION=8.1;
|
|
15
|
+
Blockly.PHP.ORDER_DIVISION=8.2;Blockly.PHP.ORDER_MODULUS=8.3;Blockly.PHP.ORDER_ADDITION=9.1;Blockly.PHP.ORDER_SUBTRACTION=9.2;Blockly.PHP.ORDER_STRING_CONCAT=9.3;Blockly.PHP.ORDER_BITWISE_SHIFT=10;Blockly.PHP.ORDER_RELATIONAL=11;Blockly.PHP.ORDER_EQUALITY=12;Blockly.PHP.ORDER_REFERENCE=13;Blockly.PHP.ORDER_BITWISE_AND=13;Blockly.PHP.ORDER_BITWISE_XOR=14;Blockly.PHP.ORDER_BITWISE_OR=15;Blockly.PHP.ORDER_LOGICAL_AND=16;Blockly.PHP.ORDER_LOGICAL_OR=17;Blockly.PHP.ORDER_IF_NULL=18;
|
|
16
|
+
Blockly.PHP.ORDER_CONDITIONAL=19;Blockly.PHP.ORDER_ASSIGNMENT=20;Blockly.PHP.ORDER_LOGICAL_AND_WEAK=21;Blockly.PHP.ORDER_LOGICAL_XOR=22;Blockly.PHP.ORDER_LOGICAL_OR_WEAK=23;Blockly.PHP.ORDER_COMMA=24;Blockly.PHP.ORDER_NONE=99;
|
|
17
|
+
Blockly.PHP.ORDER_OVERRIDES=[[Blockly.PHP.ORDER_MEMBER,Blockly.PHP.ORDER_FUNCTION_CALL],[Blockly.PHP.ORDER_MEMBER,Blockly.PHP.ORDER_MEMBER],[Blockly.PHP.ORDER_LOGICAL_NOT,Blockly.PHP.ORDER_LOGICAL_NOT],[Blockly.PHP.ORDER_MULTIPLICATION,Blockly.PHP.ORDER_MULTIPLICATION],[Blockly.PHP.ORDER_ADDITION,Blockly.PHP.ORDER_ADDITION],[Blockly.PHP.ORDER_LOGICAL_AND,Blockly.PHP.ORDER_LOGICAL_AND],[Blockly.PHP.ORDER_LOGICAL_OR,Blockly.PHP.ORDER_LOGICAL_OR]];
|
|
18
|
+
Blockly.PHP.init=function(a){Blockly.PHP.definitions_=Object.create(null);Blockly.PHP.functionNames_=Object.create(null);Blockly.PHP.variableDB_?Blockly.PHP.variableDB_.reset():Blockly.PHP.variableDB_=new Blockly.Names(Blockly.PHP.RESERVED_WORDS_,"$");Blockly.PHP.variableDB_.setVariableMap(a.getVariableMap());for(var b=[],c=Blockly.Variables.allDeveloperVariables(a),d=0;d<c.length;d++)b.push(Blockly.PHP.variableDB_.getName(c[d],Blockly.Names.DEVELOPER_VARIABLE_TYPE)+";");a=Blockly.Variables.allUsedVarModels(a);
|
|
19
|
+
for(d=0;c=a[d];d++)b.push(Blockly.PHP.variableDB_.getName(c.getId(),Blockly.VARIABLE_CATEGORY_NAME)+";");Blockly.PHP.definitions_.variables=b.join("\n")};Blockly.PHP.finish=function(a){var b=[],c;for(c in Blockly.PHP.definitions_)b.push(Blockly.PHP.definitions_[c]);delete Blockly.PHP.definitions_;delete Blockly.PHP.functionNames_;Blockly.PHP.variableDB_.reset();return b.join("\n\n")+"\n\n\n"+a};Blockly.PHP.scrubNakedValue=function(a){return a+";\n"};
|
|
20
|
+
Blockly.PHP.quote_=function(a){a=a.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n").replace(/'/g,"\\'");return"'"+a+"'"};Blockly.PHP.multiline_quote_=function(a){return a.split(/\n/g).map(Blockly.PHP.quote_).join(' . "\\n" .\n')};
|
|
21
|
+
Blockly.PHP.scrub_=function(a,b,c){var d="";if(!a.outputConnection||!a.outputConnection.targetConnection){var e=a.getCommentText();e&&(e=Blockly.utils.string.wrap(e,Blockly.PHP.COMMENT_WRAP-3),d+=Blockly.PHP.prefixLines(e,"// ")+"\n");for(var f=0;f<a.inputList.length;f++)a.inputList[f].type==Blockly.INPUT_VALUE&&(e=a.inputList[f].connection.targetBlock())&&(e=Blockly.PHP.allNestedComments(e))&&(d+=Blockly.PHP.prefixLines(e,"// "))}a=a.nextConnection&&a.nextConnection.targetBlock();c=c?"":Blockly.PHP.blockToCode(a);
|
|
22
|
+
return d+b+c};
|
|
23
|
+
Blockly.PHP.getAdjusted=function(a,b,c,d,e){c=c||0;e=e||Blockly.PHP.ORDER_NONE;a.workspace.options.oneBasedIndex&&c--;var f=a.workspace.options.oneBasedIndex?"1":"0";a=0<c?Blockly.PHP.valueToCode(a,b,Blockly.PHP.ORDER_ADDITION)||f:0>c?Blockly.PHP.valueToCode(a,b,Blockly.PHP.ORDER_SUBTRACTION)||f:d?Blockly.PHP.valueToCode(a,b,Blockly.PHP.ORDER_UNARY_NEGATION)||f:Blockly.PHP.valueToCode(a,b,e)||f;if(Blockly.isNumber(a))a=Number(a)+c,d&&(a=-a);else{if(0<c){a=a+" + "+c;var g=Blockly.PHP.ORDER_ADDITION}else 0>c&&
|
|
24
|
+
(a=a+" - "+-c,g=Blockly.PHP.ORDER_SUBTRACTION);d&&(a=c?"-("+a+")":"-"+a,g=Blockly.PHP.ORDER_UNARY_NEGATION);g=Math.floor(g);e=Math.floor(e);g&&e>=g&&(a="("+a+")")}return a};Blockly.PHP.colour={};Blockly.PHP.colour_picker=function(a){return[Blockly.PHP.quote_(a.getFieldValue("COLOUR")),Blockly.PHP.ORDER_ATOMIC]};Blockly.PHP.colour_random=function(a){return[Blockly.PHP.provideFunction_("colour_random",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"() {"," return '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);","}"])+"()",Blockly.PHP.ORDER_FUNCTION_CALL]};
|
|
25
|
+
Blockly.PHP.colour_rgb=function(a){var b=Blockly.PHP.valueToCode(a,"RED",Blockly.PHP.ORDER_COMMA)||0,c=Blockly.PHP.valueToCode(a,"GREEN",Blockly.PHP.ORDER_COMMA)||0;a=Blockly.PHP.valueToCode(a,"BLUE",Blockly.PHP.ORDER_COMMA)||0;return[Blockly.PHP.provideFunction_("colour_rgb",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($r, $g, $b) {"," $r = round(max(min($r, 100), 0) * 2.55);"," $g = round(max(min($g, 100), 0) * 2.55);"," $b = round(max(min($b, 100), 0) * 2.55);"," $hex = '#';"," $hex .= str_pad(dechex($r), 2, '0', STR_PAD_LEFT);",
|
|
26
|
+
" $hex .= str_pad(dechex($g), 2, '0', STR_PAD_LEFT);"," $hex .= str_pad(dechex($b), 2, '0', STR_PAD_LEFT);"," return $hex;","}"])+"("+b+", "+c+", "+a+")",Blockly.PHP.ORDER_FUNCTION_CALL]};
|
|
27
|
+
Blockly.PHP.colour_blend=function(a){var b=Blockly.PHP.valueToCode(a,"COLOUR1",Blockly.PHP.ORDER_COMMA)||"'#000000'",c=Blockly.PHP.valueToCode(a,"COLOUR2",Blockly.PHP.ORDER_COMMA)||"'#000000'";a=Blockly.PHP.valueToCode(a,"RATIO",Blockly.PHP.ORDER_COMMA)||.5;return[Blockly.PHP.provideFunction_("colour_blend",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($c1, $c2, $ratio) {"," $ratio = max(min($ratio, 1), 0);"," $r1 = hexdec(substr($c1, 1, 2));"," $g1 = hexdec(substr($c1, 3, 2));"," $b1 = hexdec(substr($c1, 5, 2));",
|
|
28
|
+
" $r2 = hexdec(substr($c2, 1, 2));"," $g2 = hexdec(substr($c2, 3, 2));"," $b2 = hexdec(substr($c2, 5, 2));"," $r = round($r1 * (1 - $ratio) + $r2 * $ratio);"," $g = round($g1 * (1 - $ratio) + $g2 * $ratio);"," $b = round($b1 * (1 - $ratio) + $b2 * $ratio);"," $hex = '#';"," $hex .= str_pad(dechex($r), 2, '0', STR_PAD_LEFT);"," $hex .= str_pad(dechex($g), 2, '0', STR_PAD_LEFT);"," $hex .= str_pad(dechex($b), 2, '0', STR_PAD_LEFT);"," return $hex;","}"])+"("+b+", "+c+", "+a+")",Blockly.PHP.ORDER_FUNCTION_CALL]};Blockly.PHP.lists={};Blockly.PHP.lists_create_empty=function(a){return["array()",Blockly.PHP.ORDER_FUNCTION_CALL]};Blockly.PHP.lists_create_with=function(a){for(var b=Array(a.itemCount_),c=0;c<a.itemCount_;c++)b[c]=Blockly.PHP.valueToCode(a,"ADD"+c,Blockly.PHP.ORDER_COMMA)||"null";b="array("+b.join(", ")+")";return[b,Blockly.PHP.ORDER_FUNCTION_CALL]};
|
|
29
|
+
Blockly.PHP.lists_repeat=function(a){var b=Blockly.PHP.provideFunction_("lists_repeat",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($value, $count) {"," $array = array();"," for ($index = 0; $index < $count; $index++) {"," $array[] = $value;"," }"," return $array;","}"]),c=Blockly.PHP.valueToCode(a,"ITEM",Blockly.PHP.ORDER_COMMA)||"null";a=Blockly.PHP.valueToCode(a,"NUM",Blockly.PHP.ORDER_COMMA)||"0";return[b+"("+c+", "+a+")",Blockly.PHP.ORDER_FUNCTION_CALL]};
|
|
30
|
+
Blockly.PHP.lists_length=function(a){var b=Blockly.PHP.provideFunction_("length",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($value) {"," if (is_string($value)) {"," return strlen($value);"," } else {"," return count($value);"," }","}"]);a=Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_NONE)||"''";return[b+"("+a+")",Blockly.PHP.ORDER_FUNCTION_CALL]};
|
|
31
|
+
Blockly.PHP.lists_isEmpty=function(a){return["empty("+(Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_FUNCTION_CALL)||"array()")+")",Blockly.PHP.ORDER_FUNCTION_CALL]};
|
|
32
|
+
Blockly.PHP.lists_indexOf=function(a){var b=Blockly.PHP.valueToCode(a,"FIND",Blockly.PHP.ORDER_NONE)||"''",c=Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_MEMBER)||"[]";if(a.workspace.options.oneBasedIndex)var d=" 0",e=" + 1";else d=" -1",e="";return[("FIRST"==a.getFieldValue("END")?Blockly.PHP.provideFunction_("indexOf",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($haystack, $needle) {"," for ($index = 0; $index < count($haystack); $index++) {"," if ($haystack[$index] == $needle) return $index"+
|
|
33
|
+
e+";"," }"," return "+d+";","}"]):Blockly.PHP.provideFunction_("lastIndexOf",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($haystack, $needle) {"," $last = "+d+";"," for ($index = 0; $index < count($haystack); $index++) {"," if ($haystack[$index] == $needle) $last = $index"+e+";"," }"," return $last;","}"]))+"("+c+", "+b+")",Blockly.PHP.ORDER_FUNCTION_CALL]};
|
|
34
|
+
Blockly.PHP.lists_getIndex=function(a){var b=a.getFieldValue("MODE")||"GET";switch(a.getFieldValue("WHERE")||"FROM_START"){case "FIRST":if("GET"==b){var c=Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_MEMBER)||"array()";return[c+"[0]",Blockly.PHP.ORDER_MEMBER]}if("GET_REMOVE"==b)return c=Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_NONE)||"array()",["array_shift("+c+")",Blockly.PHP.ORDER_FUNCTION_CALL];if("REMOVE"==b)return c=Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_NONE)||
|
|
35
|
+
"array()","array_shift("+c+");\n";break;case "LAST":if("GET"==b)return c=Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_NONE)||"array()",["end("+c+")",Blockly.PHP.ORDER_FUNCTION_CALL];if("GET_REMOVE"==b)return c=Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_NONE)||"array()",["array_pop("+c+")",Blockly.PHP.ORDER_FUNCTION_CALL];if("REMOVE"==b)return c=Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_NONE)||"array()","array_pop("+c+");\n";break;case "FROM_START":var d=Blockly.PHP.getAdjusted(a,
|
|
36
|
+
"AT");if("GET"==b)return c=Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_MEMBER)||"array()",[c+"["+d+"]",Blockly.PHP.ORDER_MEMBER];if("GET_REMOVE"==b)return c=Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_COMMA)||"array()",["array_splice("+c+", "+d+", 1)[0]",Blockly.PHP.ORDER_FUNCTION_CALL];if("REMOVE"==b)return c=Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_COMMA)||"array()","array_splice("+c+", "+d+", 1);\n";break;case "FROM_END":if("GET"==b)return c=Blockly.PHP.valueToCode(a,
|
|
37
|
+
"VALUE",Blockly.PHP.ORDER_COMMA)||"array()",d=Blockly.PHP.getAdjusted(a,"AT",1,!0),["array_slice("+c+", "+d+", 1)[0]",Blockly.PHP.ORDER_FUNCTION_CALL];if("GET_REMOVE"==b||"REMOVE"==b){c=Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_NONE)||"array()";d=Blockly.PHP.getAdjusted(a,"AT",1,!1,Blockly.PHP.ORDER_SUBTRACTION);c="array_splice("+c+", count("+c+") - "+d+", 1)[0]";if("GET_REMOVE"==b)return[c,Blockly.PHP.ORDER_FUNCTION_CALL];if("REMOVE"==b)return c+";\n"}break;case "RANDOM":c=Blockly.PHP.valueToCode(a,
|
|
38
|
+
"VALUE",Blockly.PHP.ORDER_NONE)||"array()";if("GET"==b)return b=Blockly.PHP.provideFunction_("lists_get_random_item",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list) {"," return $list[rand(0,count($list)-1)];","}"]),[b+"("+c+")",Blockly.PHP.ORDER_FUNCTION_CALL];if("GET_REMOVE"==b)return b=Blockly.PHP.provideFunction_("lists_get_remove_random_item",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list) {"," $x = rand(0,count($list)-1);"," unset($list[$x]);"," return array_values($list);",
|
|
39
|
+
"}"]),[b+"("+c+")",Blockly.PHP.ORDER_FUNCTION_CALL];if("REMOVE"==b)return b=Blockly.PHP.provideFunction_("lists_remove_random_item",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list) {"," unset($list[rand(0,count($list)-1)]);","}"]),b+"("+c+");\n"}throw Error("Unhandled combination (lists_getIndex).");};
|
|
40
|
+
Blockly.PHP.lists_setIndex=function(a){var b=a.getFieldValue("MODE")||"GET",c=a.getFieldValue("WHERE")||"FROM_START",d=Blockly.PHP.valueToCode(a,"TO",Blockly.PHP.ORDER_ASSIGNMENT)||"null";switch(c){case "FIRST":if("SET"==b)return c=Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_MEMBER)||"array()",c+"[0] = "+d+";\n";if("INSERT"==b)return c=Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_COMMA)||"array()","array_unshift("+c+", "+d+");\n";break;case "LAST":c=Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_COMMA)||
|
|
41
|
+
"array()";if("SET"==b)return b=Blockly.PHP.provideFunction_("lists_set_last_item",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list, $value) {"," $list[count($list) - 1] = $value;","}"]),b+"("+c+", "+d+");\n";if("INSERT"==b)return"array_push("+c+", "+d+");\n";break;case "FROM_START":var e=Blockly.PHP.getAdjusted(a,"AT");if("SET"==b)return c=Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_MEMBER)||"array()",c+"["+e+"] = "+d+";\n";if("INSERT"==b)return c=Blockly.PHP.valueToCode(a,"LIST",
|
|
42
|
+
Blockly.PHP.ORDER_COMMA)||"array()","array_splice("+c+", "+e+", 0, "+d+");\n";break;case "FROM_END":c=Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_COMMA)||"array()";e=Blockly.PHP.getAdjusted(a,"AT",1);if("SET"==b)return b=Blockly.PHP.provideFunction_("lists_set_from_end",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list, $at, $value) {"," $list[count($list) - $at] = $value;","}"]),b+"("+c+", "+e+", "+d+");\n";if("INSERT"==b)return b=Blockly.PHP.provideFunction_("lists_insert_from_end",
|
|
43
|
+
["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list, $at, $value) {"," return array_splice($list, count($list) - $at, 0, $value);","}"]),b+"("+c+", "+e+", "+d+");\n";break;case "RANDOM":c=Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_REFERENCE)||"array()";c.match(/^\$\w+$/)?a="":(a=Blockly.PHP.variableDB_.getDistinctName("tmp_list",Blockly.VARIABLE_CATEGORY_NAME),e=a+" = &"+c+";\n",c=a,a=e);e=Blockly.PHP.variableDB_.getDistinctName("tmp_x",Blockly.VARIABLE_CATEGORY_NAME);a+=e+" = rand(0, count("+
|
|
44
|
+
c+")-1);\n";if("SET"==b)return a+(c+"["+e+"] = "+d+";\n");if("INSERT"==b)return a+("array_splice("+c+", "+e+", 0, "+d+");\n")}throw Error("Unhandled combination (lists_setIndex).");};
|
|
45
|
+
Blockly.PHP.lists_getSublist=function(a){var b=Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_COMMA)||"array()",c=a.getFieldValue("WHERE1"),d=a.getFieldValue("WHERE2");if("FIRST"!=c||"LAST"!=d)if(b.match(/^\$\w+$/)||"FROM_END"!=c&&"FROM_START"==d){switch(c){case "FROM_START":var e=Blockly.PHP.getAdjusted(a,"AT1");break;case "FROM_END":e=Blockly.PHP.getAdjusted(a,"AT1",1,!1,Blockly.PHP.ORDER_SUBTRACTION);e="count("+b+") - "+e;break;case "FIRST":e="0";break;default:throw Error("Unhandled option (lists_getSublist).");
|
|
46
|
+
}switch(d){case "FROM_START":a=Blockly.PHP.getAdjusted(a,"AT2",0,!1,Blockly.PHP.ORDER_SUBTRACTION);c=a+" - ";c=Blockly.isNumber(String(e))||String(e).match(/^\(.+\)$/)?c+e:c+("("+e+")");c+=" + 1";break;case "FROM_END":a=Blockly.PHP.getAdjusted(a,"AT2",0,!1,Blockly.PHP.ORDER_SUBTRACTION);c="count("+b+") - "+a+" - ";c=Blockly.isNumber(String(e))||String(e).match(/^\(.+\)$/)?c+e:c+("("+e+")");break;case "LAST":c="count("+b+") - ";c=Blockly.isNumber(String(e))||String(e).match(/^\(.+\)$/)?c+e:c+("("+
|
|
47
|
+
e+")");break;default:throw Error("Unhandled option (lists_getSublist).");}b="array_slice("+b+", "+e+", "+c+")"}else e=Blockly.PHP.getAdjusted(a,"AT1"),a=Blockly.PHP.getAdjusted(a,"AT2"),b=Blockly.PHP.provideFunction_("lists_get_sublist",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list, $where1, $at1, $where2, $at2) {"," if ($where1 == 'FROM_END') {"," $at1 = count($list) - 1 - $at1;"," } else if ($where1 == 'FIRST') {"," $at1 = 0;"," } else if ($where1 != 'FROM_START') {"," throw new Exception('Unhandled option (lists_get_sublist).');",
|
|
48
|
+
" }"," $length = 0;"," if ($where2 == 'FROM_START') {"," $length = $at2 - $at1 + 1;"," } else if ($where2 == 'FROM_END') {"," $length = count($list) - $at1 - $at2;"," } else if ($where2 == 'LAST') {"," $length = count($list) - $at1;"," } else {"," throw new Exception('Unhandled option (lists_get_sublist).');"," }"," return array_slice($list, $at1, $length);","}"])+"("+b+", '"+c+"', "+e+", '"+d+"', "+a+")";return[b,Blockly.PHP.ORDER_FUNCTION_CALL]};
|
|
49
|
+
Blockly.PHP.lists_sort=function(a){var b=Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_COMMA)||"array()",c="1"===a.getFieldValue("DIRECTION")?1:-1;a=a.getFieldValue("TYPE");return[Blockly.PHP.provideFunction_("lists_sort",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list, $type, $direction) {"," $sortCmpFuncs = array(",' "NUMERIC" => "strnatcasecmp",',' "TEXT" => "strcmp",',' "IGNORE_CASE" => "strcasecmp"'," );"," $sortCmp = $sortCmpFuncs[$type];"," $list2 = $list;"," usort($list2, $sortCmp);",
|
|
50
|
+
" if ($direction == -1) {"," $list2 = array_reverse($list2);"," }"," return $list2;","}"])+"("+b+', "'+a+'", '+c+")",Blockly.PHP.ORDER_FUNCTION_CALL]};Blockly.PHP.lists_split=function(a){var b=Blockly.PHP.valueToCode(a,"INPUT",Blockly.PHP.ORDER_COMMA),c=Blockly.PHP.valueToCode(a,"DELIM",Blockly.PHP.ORDER_COMMA)||"''";a=a.getFieldValue("MODE");if("SPLIT"==a)b||(b="''"),a="explode";else if("JOIN"==a)b||(b="array()"),a="implode";else throw Error("Unknown mode: "+a);return[a+"("+c+", "+b+")",Blockly.PHP.ORDER_FUNCTION_CALL]};
|
|
51
|
+
Blockly.PHP.lists_reverse=function(a){return["array_reverse("+(Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_COMMA)||"[]")+")",Blockly.PHP.ORDER_FUNCTION_CALL]};Blockly.PHP.logic={};
|
|
52
|
+
Blockly.PHP.controls_if=function(a){var b=0,c="";Blockly.PHP.STATEMENT_PREFIX&&(c+=Blockly.PHP.injectId(Blockly.PHP.STATEMENT_PREFIX,a));do{var d=Blockly.PHP.valueToCode(a,"IF"+b,Blockly.PHP.ORDER_NONE)||"false";var e=Blockly.PHP.statementToCode(a,"DO"+b);Blockly.PHP.STATEMENT_SUFFIX&&(e=Blockly.PHP.prefixLines(Blockly.PHP.injectId(Blockly.PHP.STATEMENT_SUFFIX,a),Blockly.PHP.INDENT)+e);c+=(0<b?" else ":"")+"if ("+d+") {\n"+e+"}";++b}while(a.getInput("IF"+b));if(a.getInput("ELSE")||Blockly.PHP.STATEMENT_SUFFIX)e=
|
|
53
|
+
Blockly.PHP.statementToCode(a,"ELSE"),Blockly.PHP.STATEMENT_SUFFIX&&(e=Blockly.PHP.prefixLines(Blockly.PHP.injectId(Blockly.PHP.STATEMENT_SUFFIX,a),Blockly.PHP.INDENT)+e),c+=" else {\n"+e+"}";return c+"\n"};Blockly.PHP.controls_ifelse=Blockly.PHP.controls_if;
|
|
54
|
+
Blockly.PHP.logic_compare=function(a){var b={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="}[a.getFieldValue("OP")],c="=="==b||"!="==b?Blockly.PHP.ORDER_EQUALITY:Blockly.PHP.ORDER_RELATIONAL,d=Blockly.PHP.valueToCode(a,"A",c)||"0";a=Blockly.PHP.valueToCode(a,"B",c)||"0";return[d+" "+b+" "+a,c]};
|
|
55
|
+
Blockly.PHP.logic_operation=function(a){var b="AND"==a.getFieldValue("OP")?"&&":"||",c="&&"==b?Blockly.PHP.ORDER_LOGICAL_AND:Blockly.PHP.ORDER_LOGICAL_OR,d=Blockly.PHP.valueToCode(a,"A",c);a=Blockly.PHP.valueToCode(a,"B",c);if(d||a){var e="&&"==b?"true":"false";d||(d=e);a||(a=e)}else a=d="false";return[d+" "+b+" "+a,c]};Blockly.PHP.logic_negate=function(a){var b=Blockly.PHP.ORDER_LOGICAL_NOT;return["!"+(Blockly.PHP.valueToCode(a,"BOOL",b)||"true"),b]};
|
|
56
|
+
Blockly.PHP.logic_boolean=function(a){return["TRUE"==a.getFieldValue("BOOL")?"true":"false",Blockly.PHP.ORDER_ATOMIC]};Blockly.PHP.logic_null=function(a){return["null",Blockly.PHP.ORDER_ATOMIC]};Blockly.PHP.logic_ternary=function(a){var b=Blockly.PHP.valueToCode(a,"IF",Blockly.PHP.ORDER_CONDITIONAL)||"false",c=Blockly.PHP.valueToCode(a,"THEN",Blockly.PHP.ORDER_CONDITIONAL)||"null";a=Blockly.PHP.valueToCode(a,"ELSE",Blockly.PHP.ORDER_CONDITIONAL)||"null";return[b+" ? "+c+" : "+a,Blockly.PHP.ORDER_CONDITIONAL]};Blockly.PHP.loops={};
|
|
57
|
+
Blockly.PHP.controls_repeat_ext=function(a){var b=a.getField("TIMES")?String(Number(a.getFieldValue("TIMES"))):Blockly.PHP.valueToCode(a,"TIMES",Blockly.PHP.ORDER_ASSIGNMENT)||"0",c=Blockly.PHP.statementToCode(a,"DO");c=Blockly.PHP.addLoopTrap(c,a);a="";var d=Blockly.PHP.variableDB_.getDistinctName("count",Blockly.VARIABLE_CATEGORY_NAME),e=b;b.match(/^\w+$/)||Blockly.isNumber(b)||(e=Blockly.PHP.variableDB_.getDistinctName("repeat_end",Blockly.VARIABLE_CATEGORY_NAME),a+=e+" = "+b+";\n");return a+("for ("+
|
|
58
|
+
d+" = 0; "+d+" < "+e+"; "+d+"++) {\n"+c+"}\n")};Blockly.PHP.controls_repeat=Blockly.PHP.controls_repeat_ext;Blockly.PHP.controls_whileUntil=function(a){var b="UNTIL"==a.getFieldValue("MODE"),c=Blockly.PHP.valueToCode(a,"BOOL",b?Blockly.PHP.ORDER_LOGICAL_NOT:Blockly.PHP.ORDER_NONE)||"false",d=Blockly.PHP.statementToCode(a,"DO");d=Blockly.PHP.addLoopTrap(d,a);b&&(c="!"+c);return"while ("+c+") {\n"+d+"}\n"};
|
|
59
|
+
Blockly.PHP.controls_for=function(a){var b=Blockly.PHP.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME),c=Blockly.PHP.valueToCode(a,"FROM",Blockly.PHP.ORDER_ASSIGNMENT)||"0",d=Blockly.PHP.valueToCode(a,"TO",Blockly.PHP.ORDER_ASSIGNMENT)||"0",e=Blockly.PHP.valueToCode(a,"BY",Blockly.PHP.ORDER_ASSIGNMENT)||"1",f=Blockly.PHP.statementToCode(a,"DO");f=Blockly.PHP.addLoopTrap(f,a);if(Blockly.isNumber(c)&&Blockly.isNumber(d)&&Blockly.isNumber(e)){var g=Number(c)<=Number(d);a="for ("+
|
|
60
|
+
b+" = "+c+"; "+b+(g?" <= ":" >= ")+d+"; "+b;b=Math.abs(Number(e));a=(1==b?a+(g?"++":"--"):a+((g?" += ":" -= ")+b))+(") {\n"+f+"}\n")}else a="",g=c,c.match(/^\w+$/)||Blockly.isNumber(c)||(g=Blockly.PHP.variableDB_.getDistinctName(b+"_start",Blockly.VARIABLE_CATEGORY_NAME),a+=g+" = "+c+";\n"),c=d,d.match(/^\w+$/)||Blockly.isNumber(d)||(c=Blockly.PHP.variableDB_.getDistinctName(b+"_end",Blockly.VARIABLE_CATEGORY_NAME),a+=c+" = "+d+";\n"),d=Blockly.PHP.variableDB_.getDistinctName(b+"_inc",Blockly.VARIABLE_CATEGORY_NAME),
|
|
61
|
+
a+=d+" = ",a=Blockly.isNumber(e)?a+(Math.abs(e)+";\n"):a+("abs("+e+");\n"),a=a+("if ("+g+" > "+c+") {\n")+(Blockly.PHP.INDENT+d+" = -"+d+";\n"),a+="}\n",a+="for ("+b+" = "+g+"; "+d+" >= 0 ? "+b+" <= "+c+" : "+b+" >= "+c+"; "+b+" += "+d+") {\n"+f+"}\n";return a};
|
|
62
|
+
Blockly.PHP.controls_forEach=function(a){var b=Blockly.PHP.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME),c=Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_ASSIGNMENT)||"[]",d=Blockly.PHP.statementToCode(a,"DO");d=Blockly.PHP.addLoopTrap(d,a);return"foreach ("+c+" as "+b+") {\n"+d+"}\n"};
|
|
63
|
+
Blockly.PHP.controls_flow_statements=function(a){var b="";Blockly.PHP.STATEMENT_PREFIX&&(b+=Blockly.PHP.injectId(Blockly.PHP.STATEMENT_PREFIX,a));Blockly.PHP.STATEMENT_SUFFIX&&(b+=Blockly.PHP.injectId(Blockly.PHP.STATEMENT_SUFFIX,a));if(Blockly.PHP.STATEMENT_PREFIX){var c=Blockly.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.getSurroundLoop(a);c&&!c.suppressPrefixSuffix&&(b+=Blockly.PHP.injectId(Blockly.PHP.STATEMENT_PREFIX,c))}switch(a.getFieldValue("FLOW")){case "BREAK":return b+"break;\n";case "CONTINUE":return b+
|
|
64
|
+
"continue;\n"}throw Error("Unknown flow statement.");};Blockly.PHP.math={};Blockly.PHP.math_number=function(a){a=Number(a.getFieldValue("NUM"));var b=0<=a?Blockly.PHP.ORDER_ATOMIC:Blockly.PHP.ORDER_UNARY_NEGATION;Infinity==a?a="INF":-Infinity==a&&(a="-INF");return[a,b]};
|
|
65
|
+
Blockly.PHP.math_arithmetic=function(a){var b={ADD:[" + ",Blockly.PHP.ORDER_ADDITION],MINUS:[" - ",Blockly.PHP.ORDER_SUBTRACTION],MULTIPLY:[" * ",Blockly.PHP.ORDER_MULTIPLICATION],DIVIDE:[" / ",Blockly.PHP.ORDER_DIVISION],POWER:[" ** ",Blockly.PHP.ORDER_POWER]}[a.getFieldValue("OP")],c=b[0];b=b[1];var d=Blockly.PHP.valueToCode(a,"A",b)||"0";a=Blockly.PHP.valueToCode(a,"B",b)||"0";return[d+c+a,b]};
|
|
66
|
+
Blockly.PHP.math_single=function(a){var b=a.getFieldValue("OP");if("NEG"==b)return a=Blockly.PHP.valueToCode(a,"NUM",Blockly.PHP.ORDER_UNARY_NEGATION)||"0","-"==a[0]&&(a=" "+a),["-"+a,Blockly.PHP.ORDER_UNARY_NEGATION];a="SIN"==b||"COS"==b||"TAN"==b?Blockly.PHP.valueToCode(a,"NUM",Blockly.PHP.ORDER_DIVISION)||"0":Blockly.PHP.valueToCode(a,"NUM",Blockly.PHP.ORDER_NONE)||"0";switch(b){case "ABS":var c="abs("+a+")";break;case "ROOT":c="sqrt("+a+")";break;case "LN":c="log("+a+")";break;case "EXP":c="exp("+
|
|
67
|
+
a+")";break;case "POW10":c="pow(10,"+a+")";break;case "ROUND":c="round("+a+")";break;case "ROUNDUP":c="ceil("+a+")";break;case "ROUNDDOWN":c="floor("+a+")";break;case "SIN":c="sin("+a+" / 180 * pi())";break;case "COS":c="cos("+a+" / 180 * pi())";break;case "TAN":c="tan("+a+" / 180 * pi())"}if(c)return[c,Blockly.PHP.ORDER_FUNCTION_CALL];switch(b){case "LOG10":c="log("+a+") / log(10)";break;case "ASIN":c="asin("+a+") / pi() * 180";break;case "ACOS":c="acos("+a+") / pi() * 180";break;case "ATAN":c="atan("+
|
|
68
|
+
a+") / pi() * 180";break;default:throw Error("Unknown math operator: "+b);}return[c,Blockly.PHP.ORDER_DIVISION]};Blockly.PHP.math_constant=function(a){return{PI:["M_PI",Blockly.PHP.ORDER_ATOMIC],E:["M_E",Blockly.PHP.ORDER_ATOMIC],GOLDEN_RATIO:["(1 + sqrt(5)) / 2",Blockly.PHP.ORDER_DIVISION],SQRT2:["M_SQRT2",Blockly.PHP.ORDER_ATOMIC],SQRT1_2:["M_SQRT1_2",Blockly.PHP.ORDER_ATOMIC],INFINITY:["INF",Blockly.PHP.ORDER_ATOMIC]}[a.getFieldValue("CONSTANT")]};
|
|
69
|
+
Blockly.PHP.math_number_property=function(a){var b=Blockly.PHP.valueToCode(a,"NUMBER_TO_CHECK",Blockly.PHP.ORDER_MODULUS)||"0",c=a.getFieldValue("PROPERTY");if("PRIME"==c)return[Blockly.PHP.provideFunction_("math_isPrime",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($n) {"," // https://en.wikipedia.org/wiki/Primality_test#Naive_methods"," if ($n == 2 || $n == 3) {"," return true;"," }"," // False if n is NaN, negative, is 1, or not whole."," // And false if n is divisible by 2 or 3.",
|
|
70
|
+
" if (!is_numeric($n) || $n <= 1 || $n % 1 != 0 || $n % 2 == 0 || $n % 3 == 0) {"," return false;"," }"," // Check all the numbers of form 6k +/- 1, up to sqrt(n)."," for ($x = 6; $x <= sqrt($n) + 1; $x += 6) {"," if ($n % ($x - 1) == 0 || $n % ($x + 1) == 0) {"," return false;"," }"," }"," return true;","}"])+"("+b+")",Blockly.PHP.ORDER_FUNCTION_CALL];switch(c){case "EVEN":var d=b+" % 2 == 0";break;case "ODD":d=b+" % 2 == 1";break;case "WHOLE":d="is_int("+b+")";break;case "POSITIVE":d=
|
|
71
|
+
b+" > 0";break;case "NEGATIVE":d=b+" < 0";break;case "DIVISIBLE_BY":a=Blockly.PHP.valueToCode(a,"DIVISOR",Blockly.PHP.ORDER_MODULUS)||"0",d=b+" % "+a+" == 0"}return[d,Blockly.PHP.ORDER_EQUALITY]};Blockly.PHP.math_change=function(a){var b=Blockly.PHP.valueToCode(a,"DELTA",Blockly.PHP.ORDER_ADDITION)||"0";return Blockly.PHP.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME)+" += "+b+";\n"};Blockly.PHP.math_round=Blockly.PHP.math_single;Blockly.PHP.math_trig=Blockly.PHP.math_single;
|
|
72
|
+
Blockly.PHP.math_on_list=function(a){var b=a.getFieldValue("OP");switch(b){case "SUM":a=Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_FUNCTION_CALL)||"array()";a="array_sum("+a+")";break;case "MIN":a=Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_FUNCTION_CALL)||"array()";a="min("+a+")";break;case "MAX":a=Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_FUNCTION_CALL)||"array()";a="max("+a+")";break;case "AVERAGE":b=Blockly.PHP.provideFunction_("math_mean",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+
|
|
73
|
+
"($myList) {"," return array_sum($myList) / count($myList);","}"]);a=Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_NONE)||"array()";a=b+"("+a+")";break;case "MEDIAN":b=Blockly.PHP.provideFunction_("math_median",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($arr) {"," sort($arr,SORT_NUMERIC);"," return (count($arr) % 2) ? $arr[floor(count($arr)/2)] : "," ($arr[floor(count($arr)/2)] + $arr[floor(count($arr)/2) - 1]) / 2;","}"]);a=Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_NONE)||
|
|
74
|
+
"[]";a=b+"("+a+")";break;case "MODE":b=Blockly.PHP.provideFunction_("math_modes",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($values) {"," if (empty($values)) return array();"," $counts = array_count_values($values);"," arsort($counts); // Sort counts in descending order"," $modes = array_keys($counts, current($counts), true);"," return $modes;","}"]);a=Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_NONE)||"[]";a=b+"("+a+")";break;case "STD_DEV":b=Blockly.PHP.provideFunction_("math_standard_deviation",
|
|
75
|
+
["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($numbers) {"," $n = count($numbers);"," if (!$n) return null;"," $mean = array_sum($numbers) / count($numbers);"," foreach($numbers as $key => $num) $devs[$key] = pow($num - $mean, 2);"," return sqrt(array_sum($devs) / (count($devs) - 1));","}"]);a=Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_NONE)||"[]";a=b+"("+a+")";break;case "RANDOM":b=Blockly.PHP.provideFunction_("math_random_list",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+
|
|
76
|
+
"($list) {"," $x = rand(0, count($list)-1);"," return $list[$x];","}"]);a=Blockly.PHP.valueToCode(a,"LIST",Blockly.PHP.ORDER_NONE)||"[]";a=b+"("+a+")";break;default:throw Error("Unknown operator: "+b);}return[a,Blockly.PHP.ORDER_FUNCTION_CALL]};Blockly.PHP.math_modulo=function(a){var b=Blockly.PHP.valueToCode(a,"DIVIDEND",Blockly.PHP.ORDER_MODULUS)||"0";a=Blockly.PHP.valueToCode(a,"DIVISOR",Blockly.PHP.ORDER_MODULUS)||"0";return[b+" % "+a,Blockly.PHP.ORDER_MODULUS]};
|
|
77
|
+
Blockly.PHP.math_constrain=function(a){var b=Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_COMMA)||"0",c=Blockly.PHP.valueToCode(a,"LOW",Blockly.PHP.ORDER_COMMA)||"0";a=Blockly.PHP.valueToCode(a,"HIGH",Blockly.PHP.ORDER_COMMA)||"Infinity";return["min(max("+b+", "+c+"), "+a+")",Blockly.PHP.ORDER_FUNCTION_CALL]};
|
|
78
|
+
Blockly.PHP.math_random_int=function(a){var b=Blockly.PHP.valueToCode(a,"FROM",Blockly.PHP.ORDER_COMMA)||"0";a=Blockly.PHP.valueToCode(a,"TO",Blockly.PHP.ORDER_COMMA)||"0";return[Blockly.PHP.provideFunction_("math_random_int",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($a, $b) {"," if ($a > $b) {"," return rand($b, $a);"," }"," return rand($a, $b);","}"])+"("+b+", "+a+")",Blockly.PHP.ORDER_FUNCTION_CALL]};
|
|
79
|
+
Blockly.PHP.math_random_float=function(a){return["(float)rand()/(float)getrandmax()",Blockly.PHP.ORDER_FUNCTION_CALL]};Blockly.PHP.math_atan2=function(a){var b=Blockly.PHP.valueToCode(a,"X",Blockly.PHP.ORDER_COMMA)||"0";return["atan2("+(Blockly.PHP.valueToCode(a,"Y",Blockly.PHP.ORDER_COMMA)||"0")+", "+b+") / pi() * 180",Blockly.PHP.ORDER_DIVISION]};Blockly.PHP.procedures={};
|
|
80
|
+
Blockly.PHP.procedures_defreturn=function(a){for(var b=[],c,d=a.workspace,e=Blockly.Variables.allUsedVarModels(d)||[],f=0;c=e[f];f++)c=c.name,-1==a.getVars().indexOf(c)&&b.push(Blockly.PHP.variableDB_.getName(c,Blockly.VARIABLE_CATEGORY_NAME));e=Blockly.Variables.allDeveloperVariables(d);for(f=0;f<e.length;f++)b.push(Blockly.PHP.variableDB_.getName(e[f],Blockly.Names.DEVELOPER_VARIABLE_TYPE));b=b.length?Blockly.PHP.INDENT+"global "+b.join(", ")+";\n":"";d=Blockly.PHP.variableDB_.getName(a.getFieldValue("NAME"),Blockly.PROCEDURE_CATEGORY_NAME);
|
|
81
|
+
c="";Blockly.PHP.STATEMENT_PREFIX&&(c+=Blockly.PHP.injectId(Blockly.PHP.STATEMENT_PREFIX,a));Blockly.PHP.STATEMENT_SUFFIX&&(c+=Blockly.PHP.injectId(Blockly.PHP.STATEMENT_SUFFIX,a));c&&(c=Blockly.PHP.prefixLines(c,Blockly.PHP.INDENT));var g="";Blockly.PHP.INFINITE_LOOP_TRAP&&(g=Blockly.PHP.prefixLines(Blockly.PHP.injectId(Blockly.PHP.INFINITE_LOOP_TRAP,a),Blockly.PHP.INDENT));var k=Blockly.PHP.statementToCode(a,"STACK"),h=Blockly.PHP.valueToCode(a,"RETURN",Blockly.PHP.ORDER_NONE)||"",l="";k&&h&&(l=
|
|
82
|
+
c);h&&(h=Blockly.PHP.INDENT+"return "+h+";\n");var m=[];e=a.getVars();for(f=0;f<e.length;f++)m[f]=Blockly.PHP.variableDB_.getName(e[f],Blockly.VARIABLE_CATEGORY_NAME);b="function "+d+"("+m.join(", ")+") {\n"+b+c+g+k+l+h+"}";b=Blockly.PHP.scrub_(a,b);Blockly.PHP.definitions_["%"+d]=b;return null};Blockly.PHP.procedures_defnoreturn=Blockly.PHP.procedures_defreturn;
|
|
83
|
+
Blockly.PHP.procedures_callreturn=function(a){for(var b=Blockly.PHP.variableDB_.getName(a.getFieldValue("NAME"),Blockly.PROCEDURE_CATEGORY_NAME),c=[],d=a.getVars(),e=0;e<d.length;e++)c[e]=Blockly.PHP.valueToCode(a,"ARG"+e,Blockly.PHP.ORDER_COMMA)||"null";return[b+"("+c.join(", ")+")",Blockly.PHP.ORDER_FUNCTION_CALL]};Blockly.PHP.procedures_callnoreturn=function(a){return Blockly.PHP.procedures_callreturn(a)[0]+";\n"};
|
|
84
|
+
Blockly.PHP.procedures_ifreturn=function(a){var b="if ("+(Blockly.PHP.valueToCode(a,"CONDITION",Blockly.PHP.ORDER_NONE)||"false")+") {\n";Blockly.PHP.STATEMENT_SUFFIX&&(b+=Blockly.PHP.prefixLines(Blockly.PHP.injectId(Blockly.PHP.STATEMENT_SUFFIX,a),Blockly.PHP.INDENT));a.hasReturnValue_?(a=Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_NONE)||"null",b+=Blockly.PHP.INDENT+"return "+a+";\n"):b+=Blockly.PHP.INDENT+"return;\n";return b+"}\n"};Blockly.PHP.texts={};Blockly.PHP.text=function(a){return[Blockly.PHP.quote_(a.getFieldValue("TEXT")),Blockly.PHP.ORDER_ATOMIC]};Blockly.PHP.text_multiline=function(a){return[Blockly.PHP.multiline_quote_(a.getFieldValue("TEXT")),Blockly.PHP.ORDER_ATOMIC]};
|
|
85
|
+
Blockly.PHP.text_join=function(a){if(0==a.itemCount_)return["''",Blockly.PHP.ORDER_ATOMIC];if(1==a.itemCount_)return[Blockly.PHP.valueToCode(a,"ADD0",Blockly.PHP.ORDER_NONE)||"''",Blockly.PHP.ORDER_FUNCTION_CALL];if(2==a.itemCount_){var b=Blockly.PHP.valueToCode(a,"ADD0",Blockly.PHP.ORDER_ATOMIC)||"''";a=Blockly.PHP.valueToCode(a,"ADD1",Blockly.PHP.ORDER_ATOMIC)||"''";return[b+" . "+a,Blockly.PHP.ORDER_STRING_CONCAT]}b=Array(a.itemCount_);for(var c=0;c<a.itemCount_;c++)b[c]=Blockly.PHP.valueToCode(a,
|
|
86
|
+
"ADD"+c,Blockly.PHP.ORDER_COMMA)||"''";a="implode('', array("+b.join(",")+"))";return[a,Blockly.PHP.ORDER_FUNCTION_CALL]};Blockly.PHP.text_append=function(a){var b=Blockly.PHP.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME);a=Blockly.PHP.valueToCode(a,"TEXT",Blockly.PHP.ORDER_ASSIGNMENT)||"''";return b+" .= "+a+";\n"};
|
|
87
|
+
Blockly.PHP.text_length=function(a){var b=Blockly.PHP.provideFunction_("length",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($value) {"," if (is_string($value)) {"," return strlen($value);"," } else {"," return count($value);"," }","}"]);a=Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_NONE)||"''";return[b+"("+a+")",Blockly.PHP.ORDER_FUNCTION_CALL]};Blockly.PHP.text_isEmpty=function(a){return["empty("+(Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_NONE)||"''")+")",Blockly.PHP.ORDER_FUNCTION_CALL]};
|
|
88
|
+
Blockly.PHP.text_indexOf=function(a){var b="FIRST"==a.getFieldValue("END")?"strpos":"strrpos",c=Blockly.PHP.valueToCode(a,"FIND",Blockly.PHP.ORDER_NONE)||"''",d=Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_NONE)||"''";if(a.workspace.options.oneBasedIndex)var e=" 0",f=" + 1";else e=" -1",f="";return[Blockly.PHP.provideFunction_("FIRST"==a.getFieldValue("END")?"text_indexOf":"text_lastIndexOf",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($text, $search) {"," $pos = "+b+"($text, $search);",
|
|
89
|
+
" return $pos === false ? "+e+" : $pos"+f+";","}"])+"("+d+", "+c+")",Blockly.PHP.ORDER_FUNCTION_CALL]};
|
|
90
|
+
Blockly.PHP.text_charAt=function(a){var b=a.getFieldValue("WHERE")||"FROM_START",c=Blockly.PHP.valueToCode(a,"VALUE","RANDOM"==b?Blockly.PHP.ORDER_NONE:Blockly.PHP.ORDER_COMMA)||"''";switch(b){case "FIRST":return["substr("+c+", 0, 1)",Blockly.PHP.ORDER_FUNCTION_CALL];case "LAST":return["substr("+c+", -1)",Blockly.PHP.ORDER_FUNCTION_CALL];case "FROM_START":return a=Blockly.PHP.getAdjusted(a,"AT"),["substr("+c+", "+a+", 1)",Blockly.PHP.ORDER_FUNCTION_CALL];case "FROM_END":return a=Blockly.PHP.getAdjusted(a,
|
|
91
|
+
"AT",1,!0),["substr("+c+", "+a+", 1)",Blockly.PHP.ORDER_FUNCTION_CALL];case "RANDOM":return[Blockly.PHP.provideFunction_("text_random_letter",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($text) {"," return $text[rand(0, strlen($text) - 1)];","}"])+"("+c+")",Blockly.PHP.ORDER_FUNCTION_CALL]}throw Error("Unhandled option (text_charAt).");};
|
|
92
|
+
Blockly.PHP.text_getSubstring=function(a){var b=Blockly.PHP.valueToCode(a,"STRING",Blockly.PHP.ORDER_FUNCTION_CALL)||"''",c=a.getFieldValue("WHERE1"),d=a.getFieldValue("WHERE2");if("FIRST"!=c||"LAST"!=d){var e=Blockly.PHP.getAdjusted(a,"AT1");a=Blockly.PHP.getAdjusted(a,"AT2");b=Blockly.PHP.provideFunction_("text_get_substring",["function "+Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_+"($text, $where1, $at1, $where2, $at2) {"," if ($where1 == 'FROM_END') {"," $at1 = strlen($text) - 1 - $at1;"," } else if ($where1 == 'FIRST') {",
|
|
93
|
+
" $at1 = 0;"," } else if ($where1 != 'FROM_START') {"," throw new Exception('Unhandled option (text_get_substring).');"," }"," $length = 0;"," if ($where2 == 'FROM_START') {"," $length = $at2 - $at1 + 1;"," } else if ($where2 == 'FROM_END') {"," $length = strlen($text) - $at1 - $at2;"," } else if ($where2 == 'LAST') {"," $length = strlen($text) - $at1;"," } else {"," throw new Exception('Unhandled option (text_get_substring).');"," }"," return substr($text, $at1, $length);",
|
|
94
|
+
"}"])+"("+b+", '"+c+"', "+e+", '"+d+"', "+a+")"}return[b,Blockly.PHP.ORDER_FUNCTION_CALL]};Blockly.PHP.text_changeCase=function(a){var b=Blockly.PHP.valueToCode(a,"TEXT",Blockly.PHP.ORDER_NONE)||"''";if("UPPERCASE"==a.getFieldValue("CASE"))var c="strtoupper("+b+")";else"LOWERCASE"==a.getFieldValue("CASE")?c="strtolower("+b+")":"TITLECASE"==a.getFieldValue("CASE")&&(c="ucwords(strtolower("+b+"))");return[c,Blockly.PHP.ORDER_FUNCTION_CALL]};
|
|
95
|
+
Blockly.PHP.text_trim=function(a){var b={LEFT:"ltrim",RIGHT:"rtrim",BOTH:"trim"}[a.getFieldValue("MODE")];a=Blockly.PHP.valueToCode(a,"TEXT",Blockly.PHP.ORDER_NONE)||"''";return[b+"("+a+")",Blockly.PHP.ORDER_FUNCTION_CALL]};Blockly.PHP.text_print=function(a){return"print("+(Blockly.PHP.valueToCode(a,"TEXT",Blockly.PHP.ORDER_NONE)||"''")+");\n"};
|
|
96
|
+
Blockly.PHP.text_prompt_ext=function(a){var b="readline("+(a.getField("TEXT")?Blockly.PHP.quote_(a.getFieldValue("TEXT")):Blockly.PHP.valueToCode(a,"TEXT",Blockly.PHP.ORDER_NONE)||"''")+")";"NUMBER"==a.getFieldValue("TYPE")&&(b="floatval("+b+")");return[b,Blockly.PHP.ORDER_FUNCTION_CALL]};Blockly.PHP.text_prompt=Blockly.PHP.text_prompt_ext;
|
|
97
|
+
Blockly.PHP.text_count=function(a){var b=Blockly.PHP.valueToCode(a,"TEXT",Blockly.PHP.ORDER_MEMBER)||"''";a=Blockly.PHP.valueToCode(a,"SUB",Blockly.PHP.ORDER_NONE)||"''";return["strlen("+a+") === 0 ? strlen("+b+") + 1 : substr_count("+b+", "+a+")",Blockly.PHP.ORDER_CONDITIONAL]};
|
|
98
|
+
Blockly.PHP.text_replace=function(a){var b=Blockly.PHP.valueToCode(a,"TEXT",Blockly.PHP.ORDER_MEMBER)||"''",c=Blockly.PHP.valueToCode(a,"FROM",Blockly.PHP.ORDER_NONE)||"''";a=Blockly.PHP.valueToCode(a,"TO",Blockly.PHP.ORDER_NONE)||"''";return["str_replace("+c+", "+a+", "+b+")",Blockly.PHP.ORDER_FUNCTION_CALL]};Blockly.PHP.text_reverse=function(a){return["strrev("+(Blockly.PHP.valueToCode(a,"TEXT",Blockly.PHP.ORDER_MEMBER)||"''")+")",Blockly.PHP.ORDER_FUNCTION_CALL]};Blockly.PHP.variables={};Blockly.PHP.variables_get=function(a){return[Blockly.PHP.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME),Blockly.PHP.ORDER_ATOMIC]};Blockly.PHP.variables_set=function(a){var b=Blockly.PHP.valueToCode(a,"VALUE",Blockly.PHP.ORDER_ASSIGNMENT)||"0";return Blockly.PHP.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME)+" = "+b+";\n"};Blockly.PHP.variablesDynamic={};Blockly.PHP.variables_get_dynamic=Blockly.PHP.variables_get;Blockly.PHP.variables_set_dynamic=Blockly.PHP.variables_set;
|
|
99
|
+
return Blockly.PHP;
|
|
100
|
+
}));
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
//# sourceMappingURL=php_compressed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["generators/php.js","generators/php/colour.js","generators/php/lists.js","generators/php/logic.js","generators/php/loops.js","generators/php/math.js","generators/php/procedures.js","generators/php/text.js","generators/php/variables.js","generators/php/variables_dynamic.js"],"names":["Blockly","PHP","Generator","addReservedWords","ORDER_ATOMIC","ORDER_CLONE","ORDER_NEW","ORDER_MEMBER","ORDER_FUNCTION_CALL","ORDER_POWER","ORDER_INCREMENT","ORDER_DECREMENT","ORDER_BITWISE_NOT","ORDER_CAST","ORDER_SUPPRESS_ERROR","ORDER_INSTANCEOF","ORDER_LOGICAL_NOT","ORDER_UNARY_PLUS","ORDER_UNARY_NEGATION","ORDER_MULTIPLICATION","ORDER_DIVISION","ORDER_MODULUS","ORDER_ADDITION","ORDER_SUBTRACTION","ORDER_STRING_CONCAT","ORDER_BITWISE_SHIFT","ORDER_RELATIONAL","ORDER_EQUALITY","ORDER_REFERENCE","ORDER_BITWISE_AND","ORDER_BITWISE_XOR","ORDER_BITWISE_OR","ORDER_LOGICAL_AND","ORDER_LOGICAL_OR","ORDER_IF_NULL","ORDER_CONDITIONAL","ORDER_ASSIGNMENT","ORDER_LOGICAL_AND_WEAK","ORDER_LOGICAL_XOR","ORDER_LOGICAL_OR_WEAK","ORDER_COMMA","ORDER_NONE","ORDER_OVERRIDES","init","Blockly.PHP.init","workspace","definitions_","Object","create","functionNames_","variableDB_","reset","Names","RESERVED_WORDS_","setVariableMap","getVariableMap","defvars","devVarList","Variables","allDeveloperVariables","i","length","push","getName","DEVELOPER_VARIABLE_TYPE","variables","allUsedVarModels","variable","getId","VARIABLE_CATEGORY_NAME","join","finish","Blockly.PHP.finish","code","definitions","name","scrubNakedValue","Blockly.PHP.scrubNakedValue","line","quote_","Blockly.PHP.quote_","string","replace","multiline_quote_","Blockly.PHP.multiline_quote_","split","lines","map","scrub_","Blockly.PHP.scrub_","block","opt_thisOnly","commentCode","outputConnection","targetConnection","comment","getCommentText","utils","wrap","COMMENT_WRAP","prefixLines","inputList","type","INPUT_VALUE","childBlock","connection","targetBlock","allNestedComments","nextBlock","nextConnection","nextCode","blockToCode","getAdjusted","Blockly.PHP.getAdjusted","atId","opt_delta","opt_negate","opt_order","delta","order","options","oneBasedIndex","defaultAtIndex","at","valueToCode","isNumber","Number","innerOrder","Math","floor","getFieldValue","functionName","provideFunction_","FUNCTION_NAME_PLACEHOLDER_","red","green","blue","c1","c2","ratio","Array","itemCount_","element","repeatCount","list","argument0","argument1","errorIndex","indexAdjustment","mode","Error","where","value","match","listVar","getDistinctName","xVar","where1","where2","at1","at2","String","listCode","direction","value_input","value_delim","n","STATEMENT_PREFIX","injectId","conditionCode","branchCode","statementToCode","STATEMENT_SUFFIX","INDENT","getInput","operator","OPERATORS","defaultArgument","value_if","value_then","value_else","repeats","getField","branch","addLoopTrap","loopVar","endVar","until","variable0","increment","up","step","abs","startVar","incVar","xfix","loop","Constants","Loops","CONTROL_FLOW_IN_LOOP_CHECK_MIXIN","getSurroundLoop","suppressPrefixSuffix","Infinity","tuple","arg","CONSTANTS","number_to_check","dropdown_property","divisor","varName","func","argument2","globals","getVars","indexOf","funcName","PROCEDURE_CATEGORY_NAME","xfix1","loopTrap","INFINITE_LOOP_TRAP","returnValue","xfix2","args","hasReturnValue_","element0","element1","elements","text","substring","textOrder","msg","sub","from","to"],"mappings":"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","file":"php_compressed.js","sourceRoot":"./"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview Type definitions for the Python generator.
|
|
9
|
+
* @author samelh@google.com (Sam El-Husseini)
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/// <reference path="core.d.ts" />
|
|
13
|
+
|
|
14
|
+
import * as Blockly from './core';
|
|
15
|
+
export = Blockly.Generator;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
;(function(root, factory) {
|
|
3
|
+
if (typeof define === 'function' && define.amd) { // AMD
|
|
4
|
+
define(['./core', './python_compressed.js'], factory);
|
|
5
|
+
} else if (typeof exports === 'object') { // Node.js
|
|
6
|
+
module.exports = factory(require('./core'), require('./python_compressed.js'));
|
|
7
|
+
} else { // Browser
|
|
8
|
+
root.BlocklyPython = factory(root.Blockly, root.BlocklyPython);
|
|
9
|
+
}
|
|
10
|
+
}(this, function(Blockly, BlocklyPython) {
|
|
11
|
+
/**
|
|
12
|
+
* @license
|
|
13
|
+
* Copyright 2020 Google LLC
|
|
14
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @fileoverview Python Generator module.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/* eslint-disable */
|
|
22
|
+
'use strict';
|
|
23
|
+
|
|
24
|
+
Blockly.Python = BlocklyPython;
|
|
25
|
+
|
|
26
|
+
return BlocklyPython;
|
|
27
|
+
}));
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
// Do not edit this file; automatically generated by gulp.
|
|
2
|
+
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
;(function(root, factory) {
|
|
5
|
+
if (typeof define === 'function' && define.amd) { // AMD
|
|
6
|
+
define(['./blockly_compressed.js'], factory);
|
|
7
|
+
} else if (typeof exports === 'object') { // Node.js
|
|
8
|
+
module.exports = factory(require('./blockly_compressed.js'));
|
|
9
|
+
} else { // Browser
|
|
10
|
+
root.Blockly.Python = factory(root.Blockly);
|
|
11
|
+
}
|
|
12
|
+
}(this, function(Blockly) {
|
|
13
|
+
'use strict';Blockly.Python=new Blockly.Generator("Python");Blockly.Python.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip");
|
|
14
|
+
Blockly.Python.ORDER_ATOMIC=0;Blockly.Python.ORDER_COLLECTION=1;Blockly.Python.ORDER_STRING_CONVERSION=1;Blockly.Python.ORDER_MEMBER=2.1;Blockly.Python.ORDER_FUNCTION_CALL=2.2;Blockly.Python.ORDER_EXPONENTIATION=3;Blockly.Python.ORDER_UNARY_SIGN=4;Blockly.Python.ORDER_BITWISE_NOT=4;Blockly.Python.ORDER_MULTIPLICATIVE=5;Blockly.Python.ORDER_ADDITIVE=6;Blockly.Python.ORDER_BITWISE_SHIFT=7;Blockly.Python.ORDER_BITWISE_AND=8;Blockly.Python.ORDER_BITWISE_XOR=9;Blockly.Python.ORDER_BITWISE_OR=10;
|
|
15
|
+
Blockly.Python.ORDER_RELATIONAL=11;Blockly.Python.ORDER_LOGICAL_NOT=12;Blockly.Python.ORDER_LOGICAL_AND=13;Blockly.Python.ORDER_LOGICAL_OR=14;Blockly.Python.ORDER_CONDITIONAL=15;Blockly.Python.ORDER_LAMBDA=16;Blockly.Python.ORDER_NONE=99;
|
|
16
|
+
Blockly.Python.ORDER_OVERRIDES=[[Blockly.Python.ORDER_FUNCTION_CALL,Blockly.Python.ORDER_MEMBER],[Blockly.Python.ORDER_FUNCTION_CALL,Blockly.Python.ORDER_FUNCTION_CALL],[Blockly.Python.ORDER_MEMBER,Blockly.Python.ORDER_MEMBER],[Blockly.Python.ORDER_MEMBER,Blockly.Python.ORDER_FUNCTION_CALL],[Blockly.Python.ORDER_LOGICAL_NOT,Blockly.Python.ORDER_LOGICAL_NOT],[Blockly.Python.ORDER_LOGICAL_AND,Blockly.Python.ORDER_LOGICAL_AND],[Blockly.Python.ORDER_LOGICAL_OR,Blockly.Python.ORDER_LOGICAL_OR]];
|
|
17
|
+
Blockly.Python.init=function(a){Blockly.Python.PASS=this.INDENT+"pass\n";Blockly.Python.definitions_=Object.create(null);Blockly.Python.functionNames_=Object.create(null);Blockly.Python.variableDB_?Blockly.Python.variableDB_.reset():Blockly.Python.variableDB_=new Blockly.Names(Blockly.Python.RESERVED_WORDS_);Blockly.Python.variableDB_.setVariableMap(a.getVariableMap());for(var b=[],c=Blockly.Variables.allDeveloperVariables(a),d=0;d<c.length;d++)b.push(Blockly.Python.variableDB_.getName(c[d],Blockly.Names.DEVELOPER_VARIABLE_TYPE)+
|
|
18
|
+
" = None");a=Blockly.Variables.allUsedVarModels(a);for(d=0;d<a.length;d++)b.push(Blockly.Python.variableDB_.getName(a[d].getId(),Blockly.VARIABLE_CATEGORY_NAME)+" = None");Blockly.Python.definitions_.variables=b.join("\n")};
|
|
19
|
+
Blockly.Python.finish=function(a){var b=[],c=[],d;for(d in Blockly.Python.definitions_){var e=Blockly.Python.definitions_[d];e.match(/^(from\s+\S+\s+)?import\s+\S+/)?b.push(e):c.push(e)}delete Blockly.Python.definitions_;delete Blockly.Python.functionNames_;Blockly.Python.variableDB_.reset();return(b.join("\n")+"\n\n"+c.join("\n\n")).replace(/\n\n+/g,"\n\n").replace(/\n*$/,"\n\n\n")+a};Blockly.Python.scrubNakedValue=function(a){return a+"\n"};
|
|
20
|
+
Blockly.Python.quote_=function(a){a=a.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n");var b="'";-1!==a.indexOf("'")&&(-1===a.indexOf('"')?b='"':a=a.replace(/'/g,"\\'"));return b+a+b};Blockly.Python.multiline_quote_=function(a){return a.split(/\n/g).map(Blockly.Python.quote_).join(" + '\\n' + \n")};
|
|
21
|
+
Blockly.Python.scrub_=function(a,b,c){var d="";if(!a.outputConnection||!a.outputConnection.targetConnection){var e=a.getCommentText();e&&(e=Blockly.utils.string.wrap(e,Blockly.Python.COMMENT_WRAP-3),d+=Blockly.Python.prefixLines(e+"\n","# "));for(var f=0;f<a.inputList.length;f++)a.inputList[f].type==Blockly.INPUT_VALUE&&(e=a.inputList[f].connection.targetBlock())&&(e=Blockly.Python.allNestedComments(e))&&(d+=Blockly.Python.prefixLines(e,"# "))}a=a.nextConnection&&a.nextConnection.targetBlock();c=
|
|
22
|
+
c?"":Blockly.Python.blockToCode(a);return d+b+c};Blockly.Python.getAdjustedInt=function(a,b,c,d){c=c||0;a.workspace.options.oneBasedIndex&&c--;var e=a.workspace.options.oneBasedIndex?"1":"0";a=Blockly.Python.valueToCode(a,b,c?Blockly.Python.ORDER_ADDITIVE:Blockly.Python.ORDER_NONE)||e;Blockly.isNumber(a)?(a=parseInt(a,10)+c,d&&(a=-a)):(a=0<c?"int("+a+" + "+c+")":0>c?"int("+a+" - "+-c+")":"int("+a+")",d&&(a="-"+a));return a};Blockly.Python.colour={};Blockly.Python.colour_picker=function(a){return[Blockly.Python.quote_(a.getFieldValue("COLOUR")),Blockly.Python.ORDER_ATOMIC]};Blockly.Python.colour_random=function(a){Blockly.Python.definitions_.import_random="import random";return["'#%06x' % random.randint(0, 2**24 - 1)",Blockly.Python.ORDER_FUNCTION_CALL]};
|
|
23
|
+
Blockly.Python.colour_rgb=function(a){var b=Blockly.Python.provideFunction_("colour_rgb",["def "+Blockly.Python.FUNCTION_NAME_PLACEHOLDER_+"(r, g, b):"," r = round(min(100, max(0, r)) * 2.55)"," g = round(min(100, max(0, g)) * 2.55)"," b = round(min(100, max(0, b)) * 2.55)"," return '#%02x%02x%02x' % (r, g, b)"]),c=Blockly.Python.valueToCode(a,"RED",Blockly.Python.ORDER_NONE)||0,d=Blockly.Python.valueToCode(a,"GREEN",Blockly.Python.ORDER_NONE)||0;a=Blockly.Python.valueToCode(a,"BLUE",Blockly.Python.ORDER_NONE)||
|
|
24
|
+
0;return[b+"("+c+", "+d+", "+a+")",Blockly.Python.ORDER_FUNCTION_CALL]};
|
|
25
|
+
Blockly.Python.colour_blend=function(a){var b=Blockly.Python.provideFunction_("colour_blend",["def "+Blockly.Python.FUNCTION_NAME_PLACEHOLDER_+"(colour1, colour2, ratio):"," r1, r2 = int(colour1[1:3], 16), int(colour2[1:3], 16)"," g1, g2 = int(colour1[3:5], 16), int(colour2[3:5], 16)"," b1, b2 = int(colour1[5:7], 16), int(colour2[5:7], 16)"," ratio = min(1, max(0, ratio))"," r = round(r1 * (1 - ratio) + r2 * ratio)"," g = round(g1 * (1 - ratio) + g2 * ratio)"," b = round(b1 * (1 - ratio) + b2 * ratio)",
|
|
26
|
+
" return '#%02x%02x%02x' % (r, g, b)"]),c=Blockly.Python.valueToCode(a,"COLOUR1",Blockly.Python.ORDER_NONE)||"'#000000'",d=Blockly.Python.valueToCode(a,"COLOUR2",Blockly.Python.ORDER_NONE)||"'#000000'";a=Blockly.Python.valueToCode(a,"RATIO",Blockly.Python.ORDER_NONE)||0;return[b+"("+c+", "+d+", "+a+")",Blockly.Python.ORDER_FUNCTION_CALL]};Blockly.Python.lists={};Blockly.Python.lists_create_empty=function(a){return["[]",Blockly.Python.ORDER_ATOMIC]};Blockly.Python.lists_create_with=function(a){for(var b=Array(a.itemCount_),c=0;c<a.itemCount_;c++)b[c]=Blockly.Python.valueToCode(a,"ADD"+c,Blockly.Python.ORDER_NONE)||"None";return["["+b.join(", ")+"]",Blockly.Python.ORDER_ATOMIC]};
|
|
27
|
+
Blockly.Python.lists_repeat=function(a){var b=Blockly.Python.valueToCode(a,"ITEM",Blockly.Python.ORDER_NONE)||"None";a=Blockly.Python.valueToCode(a,"NUM",Blockly.Python.ORDER_MULTIPLICATIVE)||"0";return["["+b+"] * "+a,Blockly.Python.ORDER_MULTIPLICATIVE]};Blockly.Python.lists_length=function(a){return["len("+(Blockly.Python.valueToCode(a,"VALUE",Blockly.Python.ORDER_NONE)||"[]")+")",Blockly.Python.ORDER_FUNCTION_CALL]};
|
|
28
|
+
Blockly.Python.lists_isEmpty=function(a){return["not len("+(Blockly.Python.valueToCode(a,"VALUE",Blockly.Python.ORDER_NONE)||"[]")+")",Blockly.Python.ORDER_LOGICAL_NOT]};
|
|
29
|
+
Blockly.Python.lists_indexOf=function(a){var b=Blockly.Python.valueToCode(a,"FIND",Blockly.Python.ORDER_NONE)||"[]",c=Blockly.Python.valueToCode(a,"VALUE",Blockly.Python.ORDER_NONE)||"''";if(a.workspace.options.oneBasedIndex)var d=" 0",e=" + 1",f="";else d=" -1",e="",f=" - 1";if("FIRST"==a.getFieldValue("END"))return a=Blockly.Python.provideFunction_("first_index",["def "+Blockly.Python.FUNCTION_NAME_PLACEHOLDER_+"(my_list, elem):"," try: index = my_list.index(elem)"+e," except: index ="+d," return index"]),
|
|
30
|
+
[a+"("+c+", "+b+")",Blockly.Python.ORDER_FUNCTION_CALL];a=Blockly.Python.provideFunction_("last_index",["def "+Blockly.Python.FUNCTION_NAME_PLACEHOLDER_+"(my_list, elem):"," try: index = len(my_list) - my_list[::-1].index(elem)"+f," except: index ="+d," return index"]);return[a+"("+c+", "+b+")",Blockly.Python.ORDER_FUNCTION_CALL]};
|
|
31
|
+
Blockly.Python.lists_getIndex=function(a){var b=a.getFieldValue("MODE")||"GET",c=a.getFieldValue("WHERE")||"FROM_START",d=Blockly.Python.valueToCode(a,"VALUE","RANDOM"==c?Blockly.Python.ORDER_NONE:Blockly.Python.ORDER_MEMBER)||"[]";switch(c){case "FIRST":if("GET"==b)return[d+"[0]",Blockly.Python.ORDER_MEMBER];if("GET_REMOVE"==b)return[d+".pop(0)",Blockly.Python.ORDER_FUNCTION_CALL];if("REMOVE"==b)return d+".pop(0)\n";break;case "LAST":if("GET"==b)return[d+"[-1]",Blockly.Python.ORDER_MEMBER];if("GET_REMOVE"==
|
|
32
|
+
b)return[d+".pop()",Blockly.Python.ORDER_FUNCTION_CALL];if("REMOVE"==b)return d+".pop()\n";break;case "FROM_START":a=Blockly.Python.getAdjustedInt(a,"AT");if("GET"==b)return[d+"["+a+"]",Blockly.Python.ORDER_MEMBER];if("GET_REMOVE"==b)return[d+".pop("+a+")",Blockly.Python.ORDER_FUNCTION_CALL];if("REMOVE"==b)return d+".pop("+a+")\n";break;case "FROM_END":a=Blockly.Python.getAdjustedInt(a,"AT",1,!0);if("GET"==b)return[d+"["+a+"]",Blockly.Python.ORDER_MEMBER];if("GET_REMOVE"==b)return[d+".pop("+a+")",
|
|
33
|
+
Blockly.Python.ORDER_FUNCTION_CALL];if("REMOVE"==b)return d+".pop("+a+")\n";break;case "RANDOM":Blockly.Python.definitions_.import_random="import random";if("GET"==b)return["random.choice("+d+")",Blockly.Python.ORDER_FUNCTION_CALL];d=Blockly.Python.provideFunction_("lists_remove_random_item",["def "+Blockly.Python.FUNCTION_NAME_PLACEHOLDER_+"(myList):"," x = int(random.random() * len(myList))"," return myList.pop(x)"])+"("+d+")";if("GET_REMOVE"==b)return[d,Blockly.Python.ORDER_FUNCTION_CALL];if("REMOVE"==
|
|
34
|
+
b)return d+"\n"}throw Error("Unhandled combination (lists_getIndex).");};
|
|
35
|
+
Blockly.Python.lists_setIndex=function(a){var b=Blockly.Python.valueToCode(a,"LIST",Blockly.Python.ORDER_MEMBER)||"[]",c=a.getFieldValue("MODE")||"GET",d=a.getFieldValue("WHERE")||"FROM_START",e=Blockly.Python.valueToCode(a,"TO",Blockly.Python.ORDER_NONE)||"None";switch(d){case "FIRST":if("SET"==c)return b+"[0] = "+e+"\n";if("INSERT"==c)return b+".insert(0, "+e+")\n";break;case "LAST":if("SET"==c)return b+"[-1] = "+e+"\n";if("INSERT"==c)return b+".append("+e+")\n";break;case "FROM_START":a=Blockly.Python.getAdjustedInt(a,
|
|
36
|
+
"AT");if("SET"==c)return b+"["+a+"] = "+e+"\n";if("INSERT"==c)return b+".insert("+a+", "+e+")\n";break;case "FROM_END":a=Blockly.Python.getAdjustedInt(a,"AT",1,!0);if("SET"==c)return b+"["+a+"] = "+e+"\n";if("INSERT"==c)return b+".insert("+a+", "+e+")\n";break;case "RANDOM":Blockly.Python.definitions_.import_random="import random";b.match(/^\w+$/)?a="":(a=Blockly.Python.variableDB_.getDistinctName("tmp_list",Blockly.VARIABLE_CATEGORY_NAME),d=a+" = "+b+"\n",b=a,a=d);d=Blockly.Python.variableDB_.getDistinctName("tmp_x",
|
|
37
|
+
Blockly.VARIABLE_CATEGORY_NAME);a+=d+" = int(random.random() * len("+b+"))\n";if("SET"==c)return a+(b+"["+d+"] = "+e+"\n");if("INSERT"==c)return a+(b+".insert("+d+", "+e+")\n")}throw Error("Unhandled combination (lists_setIndex).");};
|
|
38
|
+
Blockly.Python.lists_getSublist=function(a){var b=Blockly.Python.valueToCode(a,"LIST",Blockly.Python.ORDER_MEMBER)||"[]",c=a.getFieldValue("WHERE1"),d=a.getFieldValue("WHERE2");switch(c){case "FROM_START":c=Blockly.Python.getAdjustedInt(a,"AT1");"0"==c&&(c="");break;case "FROM_END":c=Blockly.Python.getAdjustedInt(a,"AT1",1,!0);break;case "FIRST":c="";break;default:throw Error("Unhandled option (lists_getSublist)");}switch(d){case "FROM_START":a=Blockly.Python.getAdjustedInt(a,"AT2",1);break;case "FROM_END":a=
|
|
39
|
+
Blockly.Python.getAdjustedInt(a,"AT2",0,!0);Blockly.isNumber(String(a))?"0"==a&&(a=""):(Blockly.Python.definitions_.import_sys="import sys",a+=" or sys.maxsize");break;case "LAST":a="";break;default:throw Error("Unhandled option (lists_getSublist)");}return[b+"["+c+" : "+a+"]",Blockly.Python.ORDER_MEMBER]};
|
|
40
|
+
Blockly.Python.lists_sort=function(a){var b=Blockly.Python.valueToCode(a,"LIST",Blockly.Python.ORDER_NONE)||"[]",c=a.getFieldValue("TYPE");a="1"===a.getFieldValue("DIRECTION")?"False":"True";return[Blockly.Python.provideFunction_("lists_sort",["def "+Blockly.Python.FUNCTION_NAME_PLACEHOLDER_+"(my_list, type, reverse):"," def try_float(s):"," try:"," return float(s)"," except:"," return 0"," key_funcs = {",' "NUMERIC": try_float,',' "TEXT": str,',' "IGNORE_CASE": lambda s: str(s).lower()',
|
|
41
|
+
" }"," key_func = key_funcs[type]"," list_cpy = list(my_list)"," return sorted(list_cpy, key=key_func, reverse=reverse)"])+"("+b+', "'+c+'", '+a+")",Blockly.Python.ORDER_FUNCTION_CALL]};
|
|
42
|
+
Blockly.Python.lists_split=function(a){var b=a.getFieldValue("MODE");if("SPLIT"==b)b=Blockly.Python.valueToCode(a,"INPUT",Blockly.Python.ORDER_MEMBER)||"''",a=Blockly.Python.valueToCode(a,"DELIM",Blockly.Python.ORDER_NONE),a=b+".split("+a+")";else if("JOIN"==b)b=Blockly.Python.valueToCode(a,"INPUT",Blockly.Python.ORDER_NONE)||"[]",a=Blockly.Python.valueToCode(a,"DELIM",Blockly.Python.ORDER_MEMBER)||"''",a=a+".join("+b+")";else throw Error("Unknown mode: "+b);return[a,Blockly.Python.ORDER_FUNCTION_CALL]};
|
|
43
|
+
Blockly.Python.lists_reverse=function(a){return["list(reversed("+(Blockly.Python.valueToCode(a,"LIST",Blockly.Python.ORDER_NONE)||"[]")+"))",Blockly.Python.ORDER_FUNCTION_CALL]};Blockly.Python.logic={};
|
|
44
|
+
Blockly.Python.controls_if=function(a){var b=0,c="";Blockly.Python.STATEMENT_PREFIX&&(c+=Blockly.Python.injectId(Blockly.Python.STATEMENT_PREFIX,a));do{var d=Blockly.Python.valueToCode(a,"IF"+b,Blockly.Python.ORDER_NONE)||"False";var e=Blockly.Python.statementToCode(a,"DO"+b)||Blockly.Python.PASS;Blockly.Python.STATEMENT_SUFFIX&&(e=Blockly.Python.prefixLines(Blockly.Python.injectId(Blockly.Python.STATEMENT_SUFFIX,a),Blockly.Python.INDENT)+e);c+=(0==b?"if ":"elif ")+d+":\n"+e;++b}while(a.getInput("IF"+
|
|
45
|
+
b));if(a.getInput("ELSE")||Blockly.Python.STATEMENT_SUFFIX)e=Blockly.Python.statementToCode(a,"ELSE")||Blockly.Python.PASS,Blockly.Python.STATEMENT_SUFFIX&&(e=Blockly.Python.prefixLines(Blockly.Python.injectId(Blockly.Python.STATEMENT_SUFFIX,a),Blockly.Python.INDENT)+e),c+="else:\n"+e;return c};Blockly.Python.controls_ifelse=Blockly.Python.controls_if;
|
|
46
|
+
Blockly.Python.logic_compare=function(a){var b={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="}[a.getFieldValue("OP")],c=Blockly.Python.ORDER_RELATIONAL,d=Blockly.Python.valueToCode(a,"A",c)||"0";a=Blockly.Python.valueToCode(a,"B",c)||"0";return[d+" "+b+" "+a,c]};
|
|
47
|
+
Blockly.Python.logic_operation=function(a){var b="AND"==a.getFieldValue("OP")?"and":"or",c="and"==b?Blockly.Python.ORDER_LOGICAL_AND:Blockly.Python.ORDER_LOGICAL_OR,d=Blockly.Python.valueToCode(a,"A",c);a=Blockly.Python.valueToCode(a,"B",c);if(d||a){var e="and"==b?"True":"False";d||(d=e);a||(a=e)}else a=d="False";return[d+" "+b+" "+a,c]};Blockly.Python.logic_negate=function(a){return["not "+(Blockly.Python.valueToCode(a,"BOOL",Blockly.Python.ORDER_LOGICAL_NOT)||"True"),Blockly.Python.ORDER_LOGICAL_NOT]};
|
|
48
|
+
Blockly.Python.logic_boolean=function(a){return["TRUE"==a.getFieldValue("BOOL")?"True":"False",Blockly.Python.ORDER_ATOMIC]};Blockly.Python.logic_null=function(a){return["None",Blockly.Python.ORDER_ATOMIC]};
|
|
49
|
+
Blockly.Python.logic_ternary=function(a){var b=Blockly.Python.valueToCode(a,"IF",Blockly.Python.ORDER_CONDITIONAL)||"False",c=Blockly.Python.valueToCode(a,"THEN",Blockly.Python.ORDER_CONDITIONAL)||"None";a=Blockly.Python.valueToCode(a,"ELSE",Blockly.Python.ORDER_CONDITIONAL)||"None";return[c+" if "+b+" else "+a,Blockly.Python.ORDER_CONDITIONAL]};Blockly.Python.loops={};Blockly.Python.controls_repeat_ext=function(a){var b=a.getField("TIMES")?String(parseInt(a.getFieldValue("TIMES"),10)):Blockly.Python.valueToCode(a,"TIMES",Blockly.Python.ORDER_NONE)||"0";b=Blockly.isNumber(b)?parseInt(b,10):"int("+b+")";var c=Blockly.Python.statementToCode(a,"DO");c=Blockly.Python.addLoopTrap(c,a)||Blockly.Python.PASS;return"for "+Blockly.Python.variableDB_.getDistinctName("count",Blockly.VARIABLE_CATEGORY_NAME)+" in range("+b+"):\n"+c};
|
|
50
|
+
Blockly.Python.controls_repeat=Blockly.Python.controls_repeat_ext;Blockly.Python.controls_whileUntil=function(a){var b="UNTIL"==a.getFieldValue("MODE"),c=Blockly.Python.valueToCode(a,"BOOL",b?Blockly.Python.ORDER_LOGICAL_NOT:Blockly.Python.ORDER_NONE)||"False",d=Blockly.Python.statementToCode(a,"DO");d=Blockly.Python.addLoopTrap(d,a)||Blockly.Python.PASS;b&&(c="not "+c);return"while "+c+":\n"+d};
|
|
51
|
+
Blockly.Python.controls_for=function(a){var b=Blockly.Python.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME),c=Blockly.Python.valueToCode(a,"FROM",Blockly.Python.ORDER_NONE)||"0",d=Blockly.Python.valueToCode(a,"TO",Blockly.Python.ORDER_NONE)||"0",e=Blockly.Python.valueToCode(a,"BY",Blockly.Python.ORDER_NONE)||"1",f=Blockly.Python.statementToCode(a,"DO");f=Blockly.Python.addLoopTrap(f,a)||Blockly.Python.PASS;var n="",k=function(){return Blockly.Python.provideFunction_("upRange",
|
|
52
|
+
["def "+Blockly.Python.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):"," while start <= stop:"," yield start"," start += abs(step)"])},h=function(){return Blockly.Python.provideFunction_("downRange",["def "+Blockly.Python.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):"," while start >= stop:"," yield start"," start -= abs(step)"])};a=function(g,l,p){return"("+g+" <= "+l+") and "+k()+"("+g+", "+l+", "+p+") or "+h()+"("+g+", "+l+", "+p+")"};if(Blockly.isNumber(c)&&Blockly.isNumber(d)&&
|
|
53
|
+
Blockly.isNumber(e))c=Number(c),d=Number(d),e=Math.abs(Number(e)),0===c%1&&0===d%1&&0===e%1?(c<=d?(d++,a=0==c&&1==e?d:c+", "+d,1!=e&&(a+=", "+e)):(d--,a=c+", "+d+", -"+e),a="range("+a+")"):(a=c<d?k():h(),a+="("+c+", "+d+", "+e+")");else{var m=function(g,l){Blockly.isNumber(g)?g=Number(g):g.match(/^\w+$/)?g="float("+g+")":(l=Blockly.Python.variableDB_.getDistinctName(b+l,Blockly.VARIABLE_CATEGORY_NAME),n+=l+" = float("+g+")\n",g=l);return g};c=m(c,"_start");d=m(d,"_end");e=m(e,"_inc");"number"==typeof c&&
|
|
54
|
+
"number"==typeof d?(a=c<d?k():h(),a+="("+c+", "+d+", "+e+")"):a=a(c,d,e)}return n+="for "+b+" in "+a+":\n"+f};Blockly.Python.controls_forEach=function(a){var b=Blockly.Python.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME),c=Blockly.Python.valueToCode(a,"LIST",Blockly.Python.ORDER_RELATIONAL)||"[]",d=Blockly.Python.statementToCode(a,"DO");d=Blockly.Python.addLoopTrap(d,a)||Blockly.Python.PASS;return"for "+b+" in "+c+":\n"+d};
|
|
55
|
+
Blockly.Python.controls_flow_statements=function(a){var b="";Blockly.Python.STATEMENT_PREFIX&&(b+=Blockly.Python.injectId(Blockly.Python.STATEMENT_PREFIX,a));Blockly.Python.STATEMENT_SUFFIX&&(b+=Blockly.Python.injectId(Blockly.Python.STATEMENT_SUFFIX,a));if(Blockly.Python.STATEMENT_PREFIX){var c=Blockly.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.getSurroundLoop(a);c&&!c.suppressPrefixSuffix&&(b+=Blockly.Python.injectId(Blockly.Python.STATEMENT_PREFIX,c))}switch(a.getFieldValue("FLOW")){case "BREAK":return b+
|
|
56
|
+
"break\n";case "CONTINUE":return b+"continue\n"}throw Error("Unknown flow statement.");};Blockly.Python.math={};Blockly.Python.addReservedWords("math,random,Number");Blockly.Python.math_number=function(a){a=Number(a.getFieldValue("NUM"));if(Infinity==a){a='float("inf")';var b=Blockly.Python.ORDER_FUNCTION_CALL}else-Infinity==a?(a='-float("inf")',b=Blockly.Python.ORDER_UNARY_SIGN):b=0>a?Blockly.Python.ORDER_UNARY_SIGN:Blockly.Python.ORDER_ATOMIC;return[a,b]};
|
|
57
|
+
Blockly.Python.math_arithmetic=function(a){var b={ADD:[" + ",Blockly.Python.ORDER_ADDITIVE],MINUS:[" - ",Blockly.Python.ORDER_ADDITIVE],MULTIPLY:[" * ",Blockly.Python.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",Blockly.Python.ORDER_MULTIPLICATIVE],POWER:[" ** ",Blockly.Python.ORDER_EXPONENTIATION]}[a.getFieldValue("OP")],c=b[0];b=b[1];var d=Blockly.Python.valueToCode(a,"A",b)||"0";a=Blockly.Python.valueToCode(a,"B",b)||"0";return[d+c+a,b]};
|
|
58
|
+
Blockly.Python.math_single=function(a){var b=a.getFieldValue("OP");if("NEG"==b){var c=Blockly.Python.valueToCode(a,"NUM",Blockly.Python.ORDER_UNARY_SIGN)||"0";return["-"+c,Blockly.Python.ORDER_UNARY_SIGN]}Blockly.Python.definitions_.import_math="import math";a="SIN"==b||"COS"==b||"TAN"==b?Blockly.Python.valueToCode(a,"NUM",Blockly.Python.ORDER_MULTIPLICATIVE)||"0":Blockly.Python.valueToCode(a,"NUM",Blockly.Python.ORDER_NONE)||"0";switch(b){case "ABS":c="math.fabs("+a+")";break;case "ROOT":c="math.sqrt("+
|
|
59
|
+
a+")";break;case "LN":c="math.log("+a+")";break;case "LOG10":c="math.log10("+a+")";break;case "EXP":c="math.exp("+a+")";break;case "POW10":c="math.pow(10,"+a+")";break;case "ROUND":c="round("+a+")";break;case "ROUNDUP":c="math.ceil("+a+")";break;case "ROUNDDOWN":c="math.floor("+a+")";break;case "SIN":c="math.sin("+a+" / 180.0 * math.pi)";break;case "COS":c="math.cos("+a+" / 180.0 * math.pi)";break;case "TAN":c="math.tan("+a+" / 180.0 * math.pi)"}if(c)return[c,Blockly.Python.ORDER_FUNCTION_CALL];switch(b){case "ASIN":c=
|
|
60
|
+
"math.asin("+a+") / math.pi * 180";break;case "ACOS":c="math.acos("+a+") / math.pi * 180";break;case "ATAN":c="math.atan("+a+") / math.pi * 180";break;default:throw Error("Unknown math operator: "+b);}return[c,Blockly.Python.ORDER_MULTIPLICATIVE]};
|
|
61
|
+
Blockly.Python.math_constant=function(a){var b={PI:["math.pi",Blockly.Python.ORDER_MEMBER],E:["math.e",Blockly.Python.ORDER_MEMBER],GOLDEN_RATIO:["(1 + math.sqrt(5)) / 2",Blockly.Python.ORDER_MULTIPLICATIVE],SQRT2:["math.sqrt(2)",Blockly.Python.ORDER_MEMBER],SQRT1_2:["math.sqrt(1.0 / 2)",Blockly.Python.ORDER_MEMBER],INFINITY:["float('inf')",Blockly.Python.ORDER_ATOMIC]};a=a.getFieldValue("CONSTANT");"INFINITY"!=a&&(Blockly.Python.definitions_.import_math="import math");return b[a]};
|
|
62
|
+
Blockly.Python.math_number_property=function(a){var b=Blockly.Python.valueToCode(a,"NUMBER_TO_CHECK",Blockly.Python.ORDER_MULTIPLICATIVE)||"0",c=a.getFieldValue("PROPERTY");if("PRIME"==c)return Blockly.Python.definitions_.import_math="import math",Blockly.Python.definitions_.from_numbers_import_Number="from numbers import Number",[Blockly.Python.provideFunction_("math_isPrime",["def "+Blockly.Python.FUNCTION_NAME_PLACEHOLDER_+"(n):"," # https://en.wikipedia.org/wiki/Primality_test#Naive_methods",
|
|
63
|
+
" # If n is not a number but a string, try parsing it."," if not isinstance(n, Number):"," try:"," n = float(n)"," except:"," return False"," if n == 2 or n == 3:"," return True"," # False if n is negative, is 1, or not whole, or if n is divisible by 2 or 3."," if n <= 1 or n % 1 != 0 or n % 2 == 0 or n % 3 == 0:"," return False"," # Check all the numbers of form 6k +/- 1, up to sqrt(n)."," for x in range(6, int(math.sqrt(n)) + 2, 6):"," if n % (x - 1) == 0 or n % (x + 1) == 0:",
|
|
64
|
+
" return False"," return True"])+"("+b+")",Blockly.Python.ORDER_FUNCTION_CALL];switch(c){case "EVEN":var d=b+" % 2 == 0";break;case "ODD":d=b+" % 2 == 1";break;case "WHOLE":d=b+" % 1 == 0";break;case "POSITIVE":d=b+" > 0";break;case "NEGATIVE":d=b+" < 0";break;case "DIVISIBLE_BY":a=Blockly.Python.valueToCode(a,"DIVISOR",Blockly.Python.ORDER_MULTIPLICATIVE);if(!a||"0"==a)return["False",Blockly.Python.ORDER_ATOMIC];d=b+" % "+a+" == 0"}return[d,Blockly.Python.ORDER_RELATIONAL]};
|
|
65
|
+
Blockly.Python.math_change=function(a){Blockly.Python.definitions_.from_numbers_import_Number="from numbers import Number";var b=Blockly.Python.valueToCode(a,"DELTA",Blockly.Python.ORDER_ADDITIVE)||"0";a=Blockly.Python.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME);return a+" = ("+a+" if isinstance("+a+", Number) else 0) + "+b+"\n"};Blockly.Python.math_round=Blockly.Python.math_single;Blockly.Python.math_trig=Blockly.Python.math_single;
|
|
66
|
+
Blockly.Python.math_on_list=function(a){var b=a.getFieldValue("OP");a=Blockly.Python.valueToCode(a,"LIST",Blockly.Python.ORDER_NONE)||"[]";switch(b){case "SUM":b="sum("+a+")";break;case "MIN":b="min("+a+")";break;case "MAX":b="max("+a+")";break;case "AVERAGE":Blockly.Python.definitions_.from_numbers_import_Number="from numbers import Number";b=Blockly.Python.provideFunction_("math_mean",["def "+Blockly.Python.FUNCTION_NAME_PLACEHOLDER_+"(myList):"," localList = [e for e in myList if isinstance(e, Number)]",
|
|
67
|
+
" if not localList: return"," return float(sum(localList)) / len(localList)"]);b=b+"("+a+")";break;case "MEDIAN":Blockly.Python.definitions_.from_numbers_import_Number="from numbers import Number";b=Blockly.Python.provideFunction_("math_median",["def "+Blockly.Python.FUNCTION_NAME_PLACEHOLDER_+"(myList):"," localList = sorted([e for e in myList if isinstance(e, Number)])"," if not localList: return"," if len(localList) % 2 == 0:"," return (localList[len(localList) // 2 - 1] + localList[len(localList) // 2]) / 2.0",
|
|
68
|
+
" else:"," return localList[(len(localList) - 1) // 2]"]);b=b+"("+a+")";break;case "MODE":b=Blockly.Python.provideFunction_("math_modes",["def "+Blockly.Python.FUNCTION_NAME_PLACEHOLDER_+"(some_list):"," modes = []"," # Using a lists of [item, count] to keep count rather than dict",' # to avoid "unhashable" errors when the counted item is itself a list or dict.'," counts = []"," maxCount = 1"," for item in some_list:"," found = False"," for count in counts:"," if count[0] == item:",
|
|
69
|
+
" count[1] += 1"," maxCount = max(maxCount, count[1])"," found = True"," if not found:"," counts.append([item, 1])"," for counted_item, item_count in counts:"," if item_count == maxCount:"," modes.append(counted_item)"," return modes"]);b=b+"("+a+")";break;case "STD_DEV":Blockly.Python.definitions_.import_math="import math";b=Blockly.Python.provideFunction_("math_standard_deviation",["def "+Blockly.Python.FUNCTION_NAME_PLACEHOLDER_+"(numbers):"," n = len(numbers)",
|
|
70
|
+
" if n == 0: return"," mean = float(sum(numbers)) / n"," variance = sum((x - mean) ** 2 for x in numbers) / n"," return math.sqrt(variance)"]);b=b+"("+a+")";break;case "RANDOM":Blockly.Python.definitions_.import_random="import random";b="random.choice("+a+")";break;default:throw Error("Unknown operator: "+b);}return[b,Blockly.Python.ORDER_FUNCTION_CALL]};
|
|
71
|
+
Blockly.Python.math_modulo=function(a){var b=Blockly.Python.valueToCode(a,"DIVIDEND",Blockly.Python.ORDER_MULTIPLICATIVE)||"0";a=Blockly.Python.valueToCode(a,"DIVISOR",Blockly.Python.ORDER_MULTIPLICATIVE)||"0";return[b+" % "+a,Blockly.Python.ORDER_MULTIPLICATIVE]};
|
|
72
|
+
Blockly.Python.math_constrain=function(a){var b=Blockly.Python.valueToCode(a,"VALUE",Blockly.Python.ORDER_NONE)||"0",c=Blockly.Python.valueToCode(a,"LOW",Blockly.Python.ORDER_NONE)||"0";a=Blockly.Python.valueToCode(a,"HIGH",Blockly.Python.ORDER_NONE)||"float('inf')";return["min(max("+b+", "+c+"), "+a+")",Blockly.Python.ORDER_FUNCTION_CALL]};
|
|
73
|
+
Blockly.Python.math_random_int=function(a){Blockly.Python.definitions_.import_random="import random";var b=Blockly.Python.valueToCode(a,"FROM",Blockly.Python.ORDER_NONE)||"0";a=Blockly.Python.valueToCode(a,"TO",Blockly.Python.ORDER_NONE)||"0";return["random.randint("+b+", "+a+")",Blockly.Python.ORDER_FUNCTION_CALL]};Blockly.Python.math_random_float=function(a){Blockly.Python.definitions_.import_random="import random";return["random.random()",Blockly.Python.ORDER_FUNCTION_CALL]};
|
|
74
|
+
Blockly.Python.math_atan2=function(a){Blockly.Python.definitions_.import_math="import math";var b=Blockly.Python.valueToCode(a,"X",Blockly.Python.ORDER_NONE)||"0";return["math.atan2("+(Blockly.Python.valueToCode(a,"Y",Blockly.Python.ORDER_NONE)||"0")+", "+b+") / math.pi * 180",Blockly.Python.ORDER_MULTIPLICATIVE]};Blockly.Python.procedures={};
|
|
75
|
+
Blockly.Python.procedures_defreturn=function(a){for(var b=[],c,d=a.workspace,e=Blockly.Variables.allUsedVarModels(d)||[],f=0;c=e[f];f++)c=c.name,-1==a.getVars().indexOf(c)&&b.push(Blockly.Python.variableDB_.getName(c,Blockly.VARIABLE_CATEGORY_NAME));e=Blockly.Variables.allDeveloperVariables(d);for(f=0;f<e.length;f++)b.push(Blockly.Python.variableDB_.getName(e[f],Blockly.Names.DEVELOPER_VARIABLE_TYPE));b=b.length?Blockly.Python.INDENT+"global "+b.join(", ")+"\n":"";d=Blockly.Python.variableDB_.getName(a.getFieldValue("NAME"),Blockly.PROCEDURE_CATEGORY_NAME);
|
|
76
|
+
c="";Blockly.Python.STATEMENT_PREFIX&&(c+=Blockly.Python.injectId(Blockly.Python.STATEMENT_PREFIX,a));Blockly.Python.STATEMENT_SUFFIX&&(c+=Blockly.Python.injectId(Blockly.Python.STATEMENT_SUFFIX,a));c&&(c=Blockly.Python.prefixLines(c,Blockly.Python.INDENT));var n="";Blockly.Python.INFINITE_LOOP_TRAP&&(n=Blockly.Python.prefixLines(Blockly.Python.injectId(Blockly.Python.INFINITE_LOOP_TRAP,a),Blockly.Python.INDENT));var k=Blockly.Python.statementToCode(a,"STACK"),h=Blockly.Python.valueToCode(a,"RETURN",
|
|
77
|
+
Blockly.Python.ORDER_NONE)||"",m="";k&&h&&(m=c);h?h=Blockly.Python.INDENT+"return "+h+"\n":k||(k=Blockly.Python.PASS);var g=[];e=a.getVars();for(f=0;f<e.length;f++)g[f]=Blockly.Python.variableDB_.getName(e[f],Blockly.VARIABLE_CATEGORY_NAME);b="def "+d+"("+g.join(", ")+"):\n"+b+c+n+k+m+h;b=Blockly.Python.scrub_(a,b);Blockly.Python.definitions_["%"+d]=b;return null};Blockly.Python.procedures_defnoreturn=Blockly.Python.procedures_defreturn;
|
|
78
|
+
Blockly.Python.procedures_callreturn=function(a){for(var b=Blockly.Python.variableDB_.getName(a.getFieldValue("NAME"),Blockly.PROCEDURE_CATEGORY_NAME),c=[],d=a.getVars(),e=0;e<d.length;e++)c[e]=Blockly.Python.valueToCode(a,"ARG"+e,Blockly.Python.ORDER_NONE)||"None";return[b+"("+c.join(", ")+")",Blockly.Python.ORDER_FUNCTION_CALL]};Blockly.Python.procedures_callnoreturn=function(a){return Blockly.Python.procedures_callreturn(a)[0]+"\n"};
|
|
79
|
+
Blockly.Python.procedures_ifreturn=function(a){var b="if "+(Blockly.Python.valueToCode(a,"CONDITION",Blockly.Python.ORDER_NONE)||"False")+":\n";Blockly.Python.STATEMENT_SUFFIX&&(b+=Blockly.Python.prefixLines(Blockly.Python.injectId(Blockly.Python.STATEMENT_SUFFIX,a),Blockly.Python.INDENT));a.hasReturnValue_?(a=Blockly.Python.valueToCode(a,"VALUE",Blockly.Python.ORDER_NONE)||"None",b+=Blockly.Python.INDENT+"return "+a+"\n"):b+=Blockly.Python.INDENT+"return\n";return b};Blockly.Python.texts={};Blockly.Python.text=function(a){return[Blockly.Python.quote_(a.getFieldValue("TEXT")),Blockly.Python.ORDER_ATOMIC]};Blockly.Python.text_multiline=function(a){return[Blockly.Python.multiline_quote_(a.getFieldValue("TEXT")),Blockly.Python.ORDER_ATOMIC]};Blockly.Python.text.forceString_=function(a){return Blockly.Python.text.forceString_.strRegExp.test(a)?a:"str("+a+")"};Blockly.Python.text.forceString_.strRegExp=/^\s*'([^']|\\')*'\s*$/;
|
|
80
|
+
Blockly.Python.text_join=function(a){switch(a.itemCount_){case 0:return["''",Blockly.Python.ORDER_ATOMIC];case 1:return a=Blockly.Python.valueToCode(a,"ADD0",Blockly.Python.ORDER_NONE)||"''",a=Blockly.Python.text.forceString_(a),[a,Blockly.Python.ORDER_FUNCTION_CALL];case 2:var b=Blockly.Python.valueToCode(a,"ADD0",Blockly.Python.ORDER_NONE)||"''";a=Blockly.Python.valueToCode(a,"ADD1",Blockly.Python.ORDER_NONE)||"''";a=Blockly.Python.text.forceString_(b)+" + "+Blockly.Python.text.forceString_(a);
|
|
81
|
+
return[a,Blockly.Python.ORDER_ADDITIVE];default:b=[];for(var c=0;c<a.itemCount_;c++)b[c]=Blockly.Python.valueToCode(a,"ADD"+c,Blockly.Python.ORDER_NONE)||"''";a=Blockly.Python.variableDB_.getDistinctName("x",Blockly.VARIABLE_CATEGORY_NAME);a="''.join([str("+a+") for "+a+" in ["+b.join(", ")+"]])";return[a,Blockly.Python.ORDER_FUNCTION_CALL]}};
|
|
82
|
+
Blockly.Python.text_append=function(a){var b=Blockly.Python.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME);a=Blockly.Python.valueToCode(a,"TEXT",Blockly.Python.ORDER_NONE)||"''";return b+" = str("+b+") + "+Blockly.Python.text.forceString_(a)+"\n"};Blockly.Python.text_length=function(a){return["len("+(Blockly.Python.valueToCode(a,"VALUE",Blockly.Python.ORDER_NONE)||"''")+")",Blockly.Python.ORDER_FUNCTION_CALL]};
|
|
83
|
+
Blockly.Python.text_isEmpty=function(a){return["not len("+(Blockly.Python.valueToCode(a,"VALUE",Blockly.Python.ORDER_NONE)||"''")+")",Blockly.Python.ORDER_LOGICAL_NOT]};
|
|
84
|
+
Blockly.Python.text_indexOf=function(a){var b="FIRST"==a.getFieldValue("END")?"find":"rfind",c=Blockly.Python.valueToCode(a,"FIND",Blockly.Python.ORDER_NONE)||"''";b=(Blockly.Python.valueToCode(a,"VALUE",Blockly.Python.ORDER_MEMBER)||"''")+"."+b+"("+c+")";return a.workspace.options.oneBasedIndex?[b+" + 1",Blockly.Python.ORDER_ADDITIVE]:[b,Blockly.Python.ORDER_FUNCTION_CALL]};
|
|
85
|
+
Blockly.Python.text_charAt=function(a){var b=a.getFieldValue("WHERE")||"FROM_START",c=Blockly.Python.valueToCode(a,"VALUE",Blockly.Python.ORDER_MEMBER)||"''";switch(b){case "FIRST":return[c+"[0]",Blockly.Python.ORDER_MEMBER];case "LAST":return[c+"[-1]",Blockly.Python.ORDER_MEMBER];case "FROM_START":return a=Blockly.Python.getAdjustedInt(a,"AT"),[c+"["+a+"]",Blockly.Python.ORDER_MEMBER];case "FROM_END":return a=Blockly.Python.getAdjustedInt(a,"AT",1,!0),[c+"["+a+"]",Blockly.Python.ORDER_MEMBER];case "RANDOM":return Blockly.Python.definitions_.import_random=
|
|
86
|
+
"import random",[Blockly.Python.provideFunction_("text_random_letter",["def "+Blockly.Python.FUNCTION_NAME_PLACEHOLDER_+"(text):"," x = int(random.random() * len(text))"," return text[x];"])+"("+c+")",Blockly.Python.ORDER_FUNCTION_CALL]}throw Error("Unhandled option (text_charAt).");};
|
|
87
|
+
Blockly.Python.text_getSubstring=function(a){var b=a.getFieldValue("WHERE1"),c=a.getFieldValue("WHERE2"),d=Blockly.Python.valueToCode(a,"STRING",Blockly.Python.ORDER_MEMBER)||"''";switch(b){case "FROM_START":b=Blockly.Python.getAdjustedInt(a,"AT1");"0"==b&&(b="");break;case "FROM_END":b=Blockly.Python.getAdjustedInt(a,"AT1",1,!0);break;case "FIRST":b="";break;default:throw Error("Unhandled option (text_getSubstring)");}switch(c){case "FROM_START":a=Blockly.Python.getAdjustedInt(a,"AT2",1);break;case "FROM_END":a=
|
|
88
|
+
Blockly.Python.getAdjustedInt(a,"AT2",0,!0);Blockly.isNumber(String(a))?"0"==a&&(a=""):(Blockly.Python.definitions_.import_sys="import sys",a+=" or sys.maxsize");break;case "LAST":a="";break;default:throw Error("Unhandled option (text_getSubstring)");}return[d+"["+b+" : "+a+"]",Blockly.Python.ORDER_MEMBER]};
|
|
89
|
+
Blockly.Python.text_changeCase=function(a){var b={UPPERCASE:".upper()",LOWERCASE:".lower()",TITLECASE:".title()"}[a.getFieldValue("CASE")];return[(Blockly.Python.valueToCode(a,"TEXT",Blockly.Python.ORDER_MEMBER)||"''")+b,Blockly.Python.ORDER_FUNCTION_CALL]};Blockly.Python.text_trim=function(a){var b={LEFT:".lstrip()",RIGHT:".rstrip()",BOTH:".strip()"}[a.getFieldValue("MODE")];return[(Blockly.Python.valueToCode(a,"TEXT",Blockly.Python.ORDER_MEMBER)||"''")+b,Blockly.Python.ORDER_FUNCTION_CALL]};
|
|
90
|
+
Blockly.Python.text_print=function(a){return"print("+(Blockly.Python.valueToCode(a,"TEXT",Blockly.Python.ORDER_NONE)||"''")+")\n"};
|
|
91
|
+
Blockly.Python.text_prompt_ext=function(a){var b=Blockly.Python.provideFunction_("text_prompt",["def "+Blockly.Python.FUNCTION_NAME_PLACEHOLDER_+"(msg):"," try:"," return raw_input(msg)"," except NameError:"," return input(msg)"]),c=a.getField("TEXT")?Blockly.Python.quote_(a.getFieldValue("TEXT")):Blockly.Python.valueToCode(a,"TEXT",Blockly.Python.ORDER_NONE)||"''";b=b+"("+c+")";"NUMBER"==a.getFieldValue("TYPE")&&(b="float("+b+")");return[b,Blockly.Python.ORDER_FUNCTION_CALL]};
|
|
92
|
+
Blockly.Python.text_prompt=Blockly.Python.text_prompt_ext;Blockly.Python.text_count=function(a){var b=Blockly.Python.valueToCode(a,"TEXT",Blockly.Python.ORDER_MEMBER)||"''";a=Blockly.Python.valueToCode(a,"SUB",Blockly.Python.ORDER_NONE)||"''";return[b+".count("+a+")",Blockly.Python.ORDER_MEMBER]};
|
|
93
|
+
Blockly.Python.text_replace=function(a){var b=Blockly.Python.valueToCode(a,"TEXT",Blockly.Python.ORDER_MEMBER)||"''",c=Blockly.Python.valueToCode(a,"FROM",Blockly.Python.ORDER_NONE)||"''";a=Blockly.Python.valueToCode(a,"TO",Blockly.Python.ORDER_NONE)||"''";return[b+".replace("+c+", "+a+")",Blockly.Python.ORDER_MEMBER]};Blockly.Python.text_reverse=function(a){return[(Blockly.Python.valueToCode(a,"TEXT",Blockly.Python.ORDER_MEMBER)||"''")+"[::-1]",Blockly.Python.ORDER_MEMBER]};Blockly.Python.variables={};Blockly.Python.variables_get=function(a){return[Blockly.Python.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME),Blockly.Python.ORDER_ATOMIC]};Blockly.Python.variables_set=function(a){var b=Blockly.Python.valueToCode(a,"VALUE",Blockly.Python.ORDER_NONE)||"0";return Blockly.Python.variableDB_.getName(a.getFieldValue("VAR"),Blockly.VARIABLE_CATEGORY_NAME)+" = "+b+"\n"};Blockly.Python.variablesDynamic={};Blockly.Python.variables_get_dynamic=Blockly.Python.variables_get;Blockly.Python.variables_set_dynamic=Blockly.Python.variables_set;
|
|
94
|
+
return Blockly.Python;
|
|
95
|
+
}));
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
//# sourceMappingURL=python_compressed.js.map
|