blockly 9.0.0-beta.0 → 9.0.0-beta.2
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/blockly.min.js +830 -810
- package/blockly_compressed.js +821 -801
- package/blockly_compressed.js.map +1 -1
- package/blocks.d.ts +0 -5
- package/blocks_compressed.js +9 -9
- package/blocks_compressed.js.map +1 -1
- package/closure/goog/base.d.ts +1 -0
- package/closure/goog/base_minimal.d.ts +1 -0
- package/closure/goog/goog.d.ts +1 -0
- package/core/any_aliases.d.ts +1 -0
- package/core/block.d.ts +156 -53
- package/core/block_animations.d.ts +5 -0
- package/core/block_drag_surface.d.ts +18 -5
- package/core/block_dragger.d.ts +20 -5
- package/core/block_svg.d.ts +92 -24
- package/core/blockly.d.ts +31 -10
- package/core/blockly_options.d.ts +2 -0
- package/core/blocks.d.ts +2 -0
- package/core/browser_events.d.ts +16 -7
- package/core/bubble.d.ts +42 -12
- package/core/bubble_dragger.d.ts +9 -2
- package/core/bump_objects.d.ts +6 -2
- package/core/clipboard.d.ts +6 -2
- package/core/comment.d.ts +13 -3
- package/core/common.d.ts +35 -9
- package/core/component_manager.d.ts +16 -6
- package/core/config.d.ts +1 -0
- package/core/connection.d.ts +48 -18
- package/core/connection_checker.d.ts +16 -7
- package/core/connection_db.d.ts +17 -6
- package/core/connection_type.d.ts +2 -0
- package/core/constants.d.ts +3 -0
- package/core/contextmenu.d.ts +15 -5
- package/core/contextmenu_items.d.ts +15 -0
- package/core/contextmenu_registry.d.ts +12 -7
- package/core/css.d.ts +3 -0
- package/core/delete_area.d.ts +5 -1
- package/core/dialog.d.ts +14 -7
- package/core/drag_target.d.ts +10 -2
- package/core/dropdowndiv.d.ts +42 -10
- package/core/events/events.d.ts +51 -24
- package/core/events/events_abstract.d.ts +18 -7
- package/core/events/events_block_base.d.ts +13 -7
- package/core/events/events_block_change.d.ts +24 -11
- package/core/events/events_block_create.d.ts +18 -7
- package/core/events/events_block_delete.d.ts +20 -8
- package/core/events/events_block_drag.d.ts +14 -4
- package/core/events/events_block_move.d.ts +25 -12
- package/core/events/events_bubble_open.d.ts +21 -6
- package/core/events/events_click.d.ts +20 -6
- package/core/events/events_comment_base.d.ts +13 -6
- package/core/events/events_comment_change.d.ts +17 -7
- package/core/events/events_comment_create.d.ts +13 -5
- package/core/events/events_comment_delete.d.ts +4 -11
- package/core/events/events_comment_move.d.ts +19 -8
- package/core/events/events_marker_move.d.ts +16 -5
- package/core/events/events_selected.d.ts +14 -5
- package/core/events/events_theme_change.d.ts +11 -3
- package/core/events/events_toolbox_item_select.d.ts +14 -5
- package/core/events/events_trashcan_open.d.ts +11 -3
- package/core/events/events_ui.d.ts +5 -1
- package/core/events/events_ui_base.d.ts +2 -0
- package/core/events/events_var_base.d.ts +13 -7
- package/core/events/events_var_create.d.ts +15 -6
- package/core/events/events_var_delete.d.ts +15 -6
- package/core/events/events_var_rename.d.ts +15 -6
- package/core/events/events_viewport.d.ts +14 -3
- package/core/events/utils.d.ts +50 -7
- package/core/events/workspace_events.d.ts +11 -6
- package/core/extensions.d.ts +14 -4
- package/core/field.d.ts +93 -36
- package/core/field_angle.d.ts +14 -3
- package/core/field_checkbox.d.ts +20 -7
- package/core/field_colour.d.ts +22 -6
- package/core/field_dropdown.d.ts +28 -8
- package/core/field_image.d.ts +15 -4
- package/core/field_label.d.ts +8 -2
- package/core/field_label_serializable.d.ts +4 -1
- package/core/field_multilineinput.d.ts +21 -6
- package/core/field_number.d.ts +22 -6
- package/core/field_registry.d.ts +8 -2
- package/core/field_textinput.d.ts +28 -8
- package/core/field_variable.d.ts +36 -13
- package/core/flyout_base.d.ts +70 -24
- package/core/flyout_button.d.ts +12 -5
- package/core/flyout_horizontal.d.ts +14 -6
- package/core/flyout_metrics_manager.d.ts +6 -3
- package/core/flyout_vertical.d.ts +14 -6
- package/core/generator.d.ts +39 -20
- package/core/gesture.d.ts +56 -22
- package/core/grid.d.ts +20 -16
- package/core/icon.d.ts +18 -5
- package/core/inject.d.ts +3 -1
- package/core/input.d.ts +25 -10
- package/core/input_types.d.ts +2 -0
- package/core/insertion_marker_manager.d.ts +27 -9
- package/core/interfaces/i_ast_node_location.d.ts +2 -0
- package/core/interfaces/i_ast_node_location_svg.d.ts +4 -0
- package/core/interfaces/i_ast_node_location_with_block.d.ts +4 -1
- package/core/interfaces/i_autohideable.d.ts +3 -0
- package/core/interfaces/i_block_dragger.d.ts +7 -1
- package/core/interfaces/i_bounded_element.d.ts +5 -1
- package/core/interfaces/i_bubble.d.ts +11 -2
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +6 -2
- package/core/interfaces/i_component.d.ts +3 -1
- package/core/interfaces/i_connection_checker.d.ts +14 -6
- package/core/interfaces/i_contextmenu.d.ts +2 -0
- package/core/interfaces/i_copyable.d.ts +3 -1
- package/core/interfaces/i_deletable.d.ts +4 -1
- package/core/interfaces/i_delete_area.d.ts +4 -1
- package/core/interfaces/i_drag_target.d.ts +10 -2
- package/core/interfaces/i_draggable.d.ts +2 -0
- package/core/interfaces/i_flyout.d.ts +27 -11
- package/core/interfaces/i_keyboard_accessible.d.ts +4 -1
- package/core/interfaces/i_metrics_manager.d.ts +24 -12
- package/core/interfaces/i_movable.d.ts +4 -1
- package/core/interfaces/i_positionable.d.ts +5 -1
- package/core/interfaces/i_registrable.d.ts +2 -0
- package/core/interfaces/i_registrable_field.d.ts +2 -0
- package/core/interfaces/i_selectable.d.ts +2 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +10 -3
- package/core/interfaces/i_serializer.d.ts +6 -1
- package/core/interfaces/i_styleable.d.ts +4 -0
- package/core/interfaces/i_toolbox.d.ts +17 -6
- package/core/interfaces/i_toolbox_item.d.ts +17 -7
- package/core/internal_constants.d.ts +6 -0
- package/core/keyboard_nav/ast_node.d.ts +55 -28
- package/core/keyboard_nav/basic_cursor.d.ts +20 -9
- package/core/keyboard_nav/cursor.d.ts +11 -5
- package/core/keyboard_nav/marker.d.ts +9 -2
- package/core/keyboard_nav/tab_navigate_cursor.d.ts +4 -1
- package/core/main.d.ts +1 -0
- package/core/marker_manager.d.ts +13 -2
- package/core/menu.d.ts +25 -6
- package/core/menuitem.d.ts +22 -7
- package/core/metrics_manager.d.ts +30 -15
- package/core/msg.d.ts +15 -0
- package/core/mutator.d.ts +20 -8
- package/core/names.d.ts +20 -8
- package/core/options.d.ts +12 -6
- package/core/positionable_helpers.d.ts +11 -3
- package/core/procedures.d.ts +27 -10
- package/core/registry.d.ts +19 -8
- package/core/rendered_connection.d.ts +29 -7
- package/core/renderers/common/block_rendering.d.ts +9 -2
- package/core/renderers/common/constants.d.ts +57 -18
- package/core/renderers/common/debug.d.ts +5 -1
- package/core/renderers/common/debugger.d.ts +12 -1
- package/core/renderers/common/drawer.d.ts +16 -3
- package/core/renderers/common/i_path_object.d.ts +37 -16
- package/core/renderers/common/info.d.ts +28 -11
- package/core/renderers/common/marker_svg.d.ts +42 -11
- package/core/renderers/common/path_object.d.ts +23 -3
- package/core/renderers/common/renderer.d.ts +33 -12
- package/core/renderers/geras/constants.d.ts +6 -2
- package/core/renderers/geras/drawer.d.ts +4 -1
- package/core/renderers/geras/geras.d.ts +3 -2
- package/core/renderers/geras/highlight_constants.d.ts +9 -6
- package/core/renderers/geras/highlighter.d.ts +12 -1
- package/core/renderers/geras/info.d.ts +4 -1
- package/core/renderers/geras/measurables/inline_input.d.ts +2 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +2 -0
- package/core/renderers/geras/path_object.d.ts +4 -1
- package/core/renderers/geras/renderer.d.ts +16 -6
- package/core/renderers/measurables/base.d.ts +2 -0
- package/core/renderers/measurables/bottom_row.d.ts +9 -3
- package/core/renderers/measurables/connection.d.ts +2 -0
- package/core/renderers/measurables/external_value_input.d.ts +2 -1
- package/core/renderers/measurables/field.d.ts +2 -1
- package/core/renderers/measurables/hat.d.ts +2 -1
- package/core/renderers/measurables/icon.d.ts +4 -1
- package/core/renderers/measurables/in_row_spacer.d.ts +2 -1
- package/core/renderers/measurables/inline_input.d.ts +2 -1
- package/core/renderers/measurables/input_connection.d.ts +2 -0
- package/core/renderers/measurables/input_row.d.ts +4 -1
- package/core/renderers/measurables/jagged_edge.d.ts +2 -1
- package/core/renderers/measurables/next_connection.d.ts +2 -1
- package/core/renderers/measurables/output_connection.d.ts +2 -1
- package/core/renderers/measurables/previous_connection.d.ts +2 -1
- package/core/renderers/measurables/round_corner.d.ts +2 -1
- package/core/renderers/measurables/row.d.ts +30 -8
- package/core/renderers/measurables/spacer_row.d.ts +2 -1
- package/core/renderers/measurables/square_corner.d.ts +2 -1
- package/core/renderers/measurables/statement_input.d.ts +2 -1
- package/core/renderers/measurables/top_row.d.ts +7 -4
- package/core/renderers/measurables/types.d.ts +54 -25
- package/core/renderers/minimalist/constants.d.ts +2 -0
- package/core/renderers/minimalist/drawer.d.ts +2 -0
- package/core/renderers/minimalist/info.d.ts +5 -1
- package/core/renderers/minimalist/minimalist.d.ts +2 -1
- package/core/renderers/minimalist/renderer.d.ts +8 -3
- package/core/renderers/thrasos/info.d.ts +5 -4
- package/core/renderers/thrasos/renderer.d.ts +4 -1
- package/core/renderers/thrasos/thrasos.d.ts +2 -1
- package/core/renderers/zelos/constants.d.ts +31 -44
- package/core/renderers/zelos/drawer.d.ts +3 -0
- package/core/renderers/zelos/info.d.ts +10 -5
- package/core/renderers/zelos/marker_svg.d.ts +5 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +2 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +2 -1
- package/core/renderers/zelos/measurables/row_elements.d.ts +2 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +2 -0
- package/core/renderers/zelos/path_object.d.ts +9 -2
- package/core/renderers/zelos/renderer.d.ts +14 -6
- package/core/renderers/zelos/zelos.d.ts +3 -2
- package/core/scrollbar.d.ts +41 -9
- package/core/scrollbar_pair.d.ts +20 -6
- package/core/serialization/blocks.d.ts +10 -4
- package/core/serialization/exceptions.d.ts +5 -0
- package/core/serialization/priorities.d.ts +3 -0
- package/core/serialization/registry.d.ts +3 -0
- package/core/serialization/variables.d.ts +2 -0
- package/core/serialization/workspaces.d.ts +4 -1
- package/core/shortcut_items.d.ts +10 -0
- package/core/shortcut_registry.d.ts +25 -9
- package/core/sprites.d.ts +2 -4
- package/core/theme/classic.d.ts +2 -0
- package/core/theme/themes.d.ts +1 -0
- package/core/theme/zelos.d.ts +2 -0
- package/core/theme.d.ts +41 -30
- package/core/theme_manager.d.ts +10 -1
- package/core/toolbox/category.d.ts +60 -32
- package/core/toolbox/collapsible_category.d.ts +10 -3
- package/core/toolbox/separator.d.ts +4 -1
- package/core/toolbox/toolbox.d.ts +71 -23
- package/core/toolbox/toolbox_item.d.ts +17 -7
- package/core/tooltip.d.ts +22 -1
- package/core/touch.d.ts +18 -6
- package/core/touch_gesture.d.ts +19 -4
- package/core/trashcan.d.ts +27 -6
- package/core/utils/aria.d.ts +4 -0
- package/core/utils/array.d.ts +4 -2
- package/core/utils/colour.d.ts +24 -13
- package/core/utils/coordinate.d.ts +19 -9
- package/core/utils/deprecation.d.ts +6 -4
- package/core/utils/dom.d.ts +37 -18
- package/core/utils/idgenerator.d.ts +14 -4
- package/core/utils/keycodes.d.ts +1 -0
- package/core/utils/math.d.ts +7 -3
- package/core/utils/metrics.d.ts +1 -0
- package/core/utils/object.d.ts +7 -2
- package/core/utils/parsing.d.ts +9 -4
- package/core/utils/rect.d.ts +5 -3
- package/core/utils/sentinel.d.ts +2 -0
- package/core/utils/size.d.ts +4 -2
- package/core/utils/string.d.ts +13 -6
- package/core/utils/style.d.ts +14 -33
- package/core/utils/svg.d.ts +5 -2
- package/core/utils/svg_math.d.ts +15 -7
- package/core/utils/svg_paths.d.ts +20 -10
- package/core/utils/toolbox.d.ts +26 -5
- package/core/utils/useragent.d.ts +1 -12
- package/core/utils/xml.d.ts +13 -5
- package/core/utils.d.ts +43 -21
- package/core/variable_map.d.ts +26 -9
- package/core/variable_model.d.ts +5 -2
- package/core/variables.d.ts +33 -18
- package/core/variables_dynamic.d.ts +25 -5
- package/core/warning.d.ts +8 -3
- package/core/widgetdiv.d.ts +15 -6
- package/core/workspace.d.ts +80 -30
- package/core/workspace_audio.d.ts +6 -0
- package/core/workspace_comment.d.ts +33 -11
- package/core/workspace_comment_svg.d.ts +52 -9
- package/core/workspace_drag_surface_svg.d.ts +20 -14
- package/core/workspace_dragger.d.ts +6 -0
- package/core/workspace_svg.d.ts +174 -62
- package/core/xml.d.ts +26 -11
- package/core/zoom_controls.d.ts +17 -7
- package/core-browser.js +0 -6
- package/core.d.ts +0 -5
- package/core.js +0 -6
- package/dart.d.ts +1 -7
- package/dart_compressed.js.map +1 -1
- package/index.d.ts +2 -6
- package/javascript.d.ts +1 -7
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +1 -7
- package/lua_compressed.js.map +1 -1
- package/msg/ab.d.ts +8 -0
- package/msg/ace.d.ts +8 -0
- package/msg/af.d.ts +8 -0
- package/msg/am.d.ts +8 -0
- package/msg/ar.d.ts +8 -0
- package/msg/ast.d.ts +8 -0
- package/msg/az.d.ts +8 -0
- package/msg/ba.d.ts +8 -0
- package/msg/bcc.d.ts +8 -0
- package/msg/be-tarask.d.ts +8 -0
- package/msg/be.d.ts +8 -0
- package/msg/bg.d.ts +8 -0
- package/msg/bn.d.ts +8 -0
- package/msg/br.d.ts +8 -0
- package/msg/bs.d.ts +8 -0
- package/msg/ca.d.ts +8 -0
- package/msg/cdo.d.ts +8 -0
- package/msg/constants.d.ts +16 -0
- package/msg/cs.d.ts +8 -0
- package/msg/da.d.ts +8 -0
- package/msg/de.d.ts +8 -0
- package/msg/diq.d.ts +8 -0
- package/msg/dty.d.ts +8 -0
- package/msg/ee.d.ts +8 -0
- package/msg/el.d.ts +8 -0
- package/msg/en-gb.d.ts +8 -0
- package/msg/en.d.ts +8 -0
- package/msg/eo.d.ts +8 -0
- package/msg/es.d.ts +8 -0
- package/msg/et.d.ts +8 -0
- package/msg/eu.d.ts +8 -0
- package/msg/fa.d.ts +8 -0
- package/msg/fi.d.ts +8 -0
- package/msg/fo.d.ts +8 -0
- package/msg/fr.d.ts +8 -0
- package/msg/frr.d.ts +8 -0
- package/msg/gl.d.ts +8 -0
- package/msg/gn.d.ts +8 -0
- package/msg/gor.d.ts +8 -0
- package/msg/ha.d.ts +8 -0
- package/msg/hak.d.ts +8 -0
- package/msg/he.d.ts +8 -0
- package/msg/hi.d.ts +8 -0
- package/msg/hr.d.ts +8 -0
- package/msg/hrx.d.ts +8 -0
- package/msg/hu.d.ts +8 -0
- package/msg/hy.d.ts +8 -0
- package/msg/ia.d.ts +8 -0
- package/msg/id.d.ts +8 -0
- package/msg/ig.d.ts +8 -0
- package/msg/inh.d.ts +8 -0
- package/msg/is.d.ts +8 -0
- package/msg/it.d.ts +8 -0
- package/msg/ja.d.ts +8 -0
- package/msg/ka.d.ts +8 -0
- package/msg/kab.d.ts +8 -0
- package/msg/kbd-cyrl.d.ts +8 -0
- package/msg/km.d.ts +8 -0
- package/msg/kn.d.ts +8 -0
- package/msg/ko.d.ts +8 -0
- package/msg/ksh.d.ts +8 -0
- package/msg/ku-latn.d.ts +8 -0
- package/msg/ky.d.ts +8 -0
- package/msg/la.d.ts +8 -0
- package/msg/lb.d.ts +8 -0
- package/msg/lki.d.ts +8 -0
- package/msg/lo.d.ts +8 -0
- package/msg/lrc.d.ts +8 -0
- package/msg/lt.d.ts +8 -0
- package/msg/lv.d.ts +8 -0
- package/msg/mg.d.ts +8 -0
- package/msg/mk.d.ts +8 -0
- package/msg/ml.d.ts +8 -0
- package/msg/mnw.d.ts +8 -0
- package/msg/ms.d.ts +8 -0
- package/msg/msg.d.ts +429 -432
- package/msg/my.d.ts +8 -0
- package/msg/mzn.d.ts +8 -0
- package/msg/nb.d.ts +8 -0
- package/msg/ne.d.ts +8 -0
- package/msg/nl.d.ts +8 -0
- package/msg/oc.d.ts +8 -0
- package/msg/olo.d.ts +8 -0
- package/msg/pa.d.ts +8 -0
- package/msg/pl.d.ts +8 -0
- package/msg/pms.d.ts +8 -0
- package/msg/ps.d.ts +8 -0
- package/msg/pt-br.d.ts +8 -0
- package/msg/pt.d.ts +8 -0
- package/msg/qqq.d.ts +16 -0
- package/msg/ro.d.ts +8 -0
- package/msg/ru.d.ts +8 -0
- package/msg/sc.d.ts +8 -0
- package/msg/sco.d.ts +8 -0
- package/msg/sd.d.ts +8 -0
- package/msg/shn.d.ts +8 -0
- package/msg/si.d.ts +8 -0
- package/msg/sk.d.ts +8 -0
- package/msg/skr-arab.d.ts +8 -0
- package/msg/sl.d.ts +8 -0
- package/msg/smn.d.ts +8 -0
- package/msg/sq.d.ts +8 -0
- package/msg/sr-latn.d.ts +8 -0
- package/msg/sr.d.ts +8 -0
- package/msg/sv.d.ts +8 -0
- package/msg/sw.d.ts +8 -0
- package/msg/synonyms.d.ts +16 -0
- package/msg/ta.d.ts +8 -0
- package/msg/tcy.d.ts +8 -0
- package/msg/te.d.ts +8 -0
- package/msg/th.d.ts +8 -0
- package/msg/ti.d.ts +8 -0
- package/msg/tl.d.ts +8 -0
- package/msg/tlh.d.ts +8 -0
- package/msg/tr.d.ts +8 -0
- package/msg/ug-arab.d.ts +8 -0
- package/msg/uk.d.ts +8 -0
- package/msg/ur.d.ts +8 -0
- package/msg/uz.d.ts +8 -0
- package/msg/vi.d.ts +8 -0
- package/msg/xmf.d.ts +8 -0
- package/msg/yo.d.ts +8 -0
- package/msg/yue.d.ts +8 -0
- package/msg/zgh.d.ts +8 -0
- package/msg/zh-hans.d.ts +8 -0
- package/msg/zh-hant.d.ts +8 -0
- package/package.json +6 -3
- package/php.d.ts +1 -7
- package/php_compressed.js.map +1 -1
- package/python.d.ts +1 -7
- package/python_compressed.js.map +1 -1
- package/blocks/blocks.js +0 -48
- package/blocks/colour.js +0 -121
- package/blocks/lists.js +0 -996
- package/blocks/logic.js +0 -665
- package/blocks/loops.js +0 -375
- package/blocks/math.js +0 -594
- package/blocks/procedures.js +0 -1196
- package/blocks/text.js +0 -1000
- package/blocks/variables.js +0 -176
- package/blocks/variables_dynamic.js +0 -192
- package/core/any_aliases.ts +0 -1
- package/core/block.ts +0 -2102
- package/core/block_animations.ts +0 -202
- package/core/block_drag_surface.ts +0 -237
- package/core/block_dragger.ts +0 -447
- package/core/block_svg.ts +0 -1758
- package/core/blockly.js +0 -890
- package/core/blockly.ts +0 -749
- package/core/blockly_options.ts +0 -81
- package/core/blocks.ts +0 -29
- package/core/browser_events.ts +0 -289
- package/core/bubble.ts +0 -892
- package/core/bubble_dragger.ts +0 -229
- package/core/bump_objects.ts +0 -182
- package/core/clipboard.ts +0 -91
- package/core/comment.ts +0 -398
- package/core/common.ts +0 -288
- package/core/component_manager.ts +0 -211
- package/core/config.ts +0 -80
- package/core/connection.ts +0 -692
- package/core/connection_checker.ts +0 -301
- package/core/connection_db.ts +0 -289
- package/core/connection_type.ts +0 -32
- package/core/constants.ts +0 -29
- package/core/contextmenu.ts +0 -363
- package/core/contextmenu_items.ts +0 -576
- package/core/contextmenu_registry.ts +0 -179
- package/core/css.ts +0 -560
- package/core/delete_area.ts +0 -82
- package/core/dialog.ts +0 -127
- package/core/drag_target.ts +0 -94
- package/core/dropdowndiv.ts +0 -683
- package/core/events/events.ts +0 -123
- package/core/events/events_abstract.ts +0 -112
- package/core/events/events_block_base.ts +0 -65
- package/core/events/events_block_change.ts +0 -176
- package/core/events/events_block_create.ts +0 -114
- package/core/events/events_block_delete.ts +0 -126
- package/core/events/events_block_drag.ts +0 -82
- package/core/events/events_block_move.ts +0 -206
- package/core/events/events_bubble_open.ts +0 -82
- package/core/events/events_click.ts +0 -84
- package/core/events/events_comment_base.ts +0 -107
- package/core/events/events_comment_change.ts +0 -108
- package/core/events/events_comment_create.ts +0 -82
- package/core/events/events_comment_delete.ts +0 -77
- package/core/events/events_comment_move.ts +0 -154
- package/core/events/events_marker_move.ts +0 -99
- package/core/events/events_selected.ts +0 -78
- package/core/events/events_theme_change.ts +0 -67
- package/core/events/events_toolbox_item_select.ts +0 -79
- package/core/events/events_trashcan_open.ts +0 -68
- package/core/events/events_ui.ts +0 -89
- package/core/events/events_ui_base.ts +0 -54
- package/core/events/events_var_base.ts +0 -65
- package/core/events/events_var_create.ts +0 -88
- package/core/events/events_var_delete.ts +0 -88
- package/core/events/events_var_rename.ts +0 -89
- package/core/events/events_viewport.ts +0 -100
- package/core/events/utils.ts +0 -529
- package/core/events/workspace_events.ts +0 -86
- package/core/extensions.ts +0 -504
- package/core/field.ts +0 -1206
- package/core/field_angle.ts +0 -563
- package/core/field_checkbox.ts +0 -243
- package/core/field_colour.ts +0 -632
- package/core/field_dropdown.ts +0 -773
- package/core/field_image.ts +0 -282
- package/core/field_label.ts +0 -152
- package/core/field_label_serializable.ts +0 -76
- package/core/field_multilineinput.ts +0 -466
- package/core/field_number.ts +0 -327
- package/core/field_registry.ts +0 -87
- package/core/field_textinput.ts +0 -591
- package/core/field_variable.ts +0 -545
- package/core/flyout_base.ts +0 -1165
- package/core/flyout_button.ts +0 -292
- package/core/flyout_horizontal.ts +0 -381
- package/core/flyout_metrics_manager.ts +0 -94
- package/core/flyout_vertical.ts +0 -384
- package/core/generator.ts +0 -539
- package/core/gesture.ts +0 -946
- package/core/grid.ts +0 -192
- package/core/icon.ts +0 -189
- package/core/inject.ts +0 -390
- package/core/input.ts +0 -309
- package/core/input_types.ts +0 -32
- package/core/insertion_marker_manager.ts +0 -788
- package/core/interfaces/i_ast_node_location.ts +0 -23
- package/core/interfaces/i_ast_node_location_svg.ts +0 -37
- package/core/interfaces/i_ast_node_location_with_block.ts +0 -38
- package/core/interfaces/i_autohideable.ts +0 -34
- package/core/interfaces/i_block_dragger.ts +0 -67
- package/core/interfaces/i_bounded_element.ts +0 -42
- package/core/interfaces/i_bubble.ts +0 -88
- package/core/interfaces/i_collapsible_toolbox_item.ts +0 -47
- package/core/interfaces/i_component.ts +0 -32
- package/core/interfaces/i_connection_checker.ts +0 -102
- package/core/interfaces/i_contextmenu.ts +0 -26
- package/core/interfaces/i_copyable.ts +0 -40
- package/core/interfaces/i_deletable.ts +0 -29
- package/core/interfaces/i_delete_area.ts +0 -46
- package/core/interfaces/i_drag_target.ts +0 -84
- package/core/interfaces/i_draggable.ts +0 -25
- package/core/interfaces/i_flyout.ts +0 -186
- package/core/interfaces/i_keyboard_accessible.ts +0 -35
- package/core/interfaces/i_metrics_manager.ts +0 -151
- package/core/interfaces/i_movable.ts +0 -29
- package/core/interfaces/i_positionable.ts +0 -50
- package/core/interfaces/i_registrable.ts +0 -25
- package/core/interfaces/i_registrable_field.ts +0 -31
- package/core/interfaces/i_selectable.ts +0 -34
- package/core/interfaces/i_selectable_toolbox_item.ts +0 -64
- package/core/interfaces/i_serializer.ts +0 -65
- package/core/interfaces/i_styleable.ts +0 -35
- package/core/interfaces/i_toolbox.ts +0 -127
- package/core/interfaces/i_toolbox_item.ts +0 -84
- package/core/internal_constants.ts +0 -67
- package/core/keyboard_nav/ast_node.ts +0 -717
- package/core/keyboard_nav/basic_cursor.ts +0 -214
- package/core/keyboard_nav/cursor.ts +0 -134
- package/core/keyboard_nav/marker.ts +0 -115
- package/core/keyboard_nav/tab_navigate_cursor.ts +0 -48
- package/core/main.js +0 -303
- package/core/marker_manager.ts +0 -181
- package/core/menu.ts +0 -449
- package/core/menuitem.ts +0 -240
- package/core/metrics_manager.ts +0 -456
- package/core/msg.ts +0 -20
- package/core/mutator.ts +0 -560
- package/core/names.ts +0 -267
- package/core/options.ts +0 -365
- package/core/positionable_helpers.ts +0 -181
- package/core/procedures.ts +0 -443
- package/core/registry.ts +0 -339
- package/core/rendered_connection.ts +0 -568
- package/core/renderers/common/block_rendering.ts +0 -164
- package/core/renderers/common/constants.ts +0 -1124
- package/core/renderers/common/debug.ts +0 -61
- package/core/renderers/common/debugger.ts +0 -433
- package/core/renderers/common/drawer.ts +0 -450
- package/core/renderers/common/i_path_object.ts +0 -161
- package/core/renderers/common/info.ts +0 -718
- package/core/renderers/common/marker_svg.ts +0 -680
- package/core/renderers/common/path_object.ts +0 -272
- package/core/renderers/common/renderer.ts +0 -271
- package/core/renderers/geras/constants.ts +0 -61
- package/core/renderers/geras/drawer.ts +0 -176
- package/core/renderers/geras/geras.ts +0 -37
- package/core/renderers/geras/highlight_constants.ts +0 -337
- package/core/renderers/geras/highlighter.ts +0 -306
- package/core/renderers/geras/info.ts +0 -450
- package/core/renderers/geras/measurables/inline_input.ts +0 -51
- package/core/renderers/geras/measurables/statement_input.ts +0 -50
- package/core/renderers/geras/path_object.ts +0 -138
- package/core/renderers/geras/renderer.ts +0 -126
- package/core/renderers/measurables/base.ts +0 -53
- package/core/renderers/measurables/bottom_row.ts +0 -120
- package/core/renderers/measurables/connection.ts +0 -52
- package/core/renderers/measurables/external_value_input.ts +0 -65
- package/core/renderers/measurables/field.ts +0 -63
- package/core/renderers/measurables/hat.ts +0 -48
- package/core/renderers/measurables/icon.ts +0 -54
- package/core/renderers/measurables/in_row_spacer.ts +0 -44
- package/core/renderers/measurables/inline_input.ts +0 -76
- package/core/renderers/measurables/input_connection.ts +0 -66
- package/core/renderers/measurables/input_row.ts +0 -82
- package/core/renderers/measurables/jagged_edge.ts +0 -43
- package/core/renderers/measurables/next_connection.ts +0 -47
- package/core/renderers/measurables/output_connection.ts +0 -56
- package/core/renderers/measurables/previous_connection.ts +0 -47
- package/core/renderers/measurables/round_corner.ts +0 -49
- package/core/renderers/measurables/row.ts +0 -225
- package/core/renderers/measurables/spacer_row.ts +0 -55
- package/core/renderers/measurables/square_corner.ts +0 -47
- package/core/renderers/measurables/statement_input.ts +0 -55
- package/core/renderers/measurables/top_row.ts +0 -122
- package/core/renderers/measurables/types.ts +0 -332
- package/core/renderers/minimalist/constants.ts +0 -32
- package/core/renderers/minimalist/drawer.ts +0 -38
- package/core/renderers/minimalist/info.ts +0 -52
- package/core/renderers/minimalist/minimalist.ts +0 -22
- package/core/renderers/minimalist/renderer.ts +0 -71
- package/core/renderers/thrasos/info.ts +0 -338
- package/core/renderers/thrasos/renderer.ts +0 -48
- package/core/renderers/thrasos/thrasos.ts +0 -20
- package/core/renderers/zelos/constants.ts +0 -858
- package/core/renderers/zelos/drawer.ts +0 -228
- package/core/renderers/zelos/info.ts +0 -593
- package/core/renderers/zelos/marker_svg.ts +0 -151
- package/core/renderers/zelos/measurables/bottom_row.ts +0 -53
- package/core/renderers/zelos/measurables/inputs.ts +0 -56
- package/core/renderers/zelos/measurables/row_elements.ts +0 -45
- package/core/renderers/zelos/measurables/top_row.ts +0 -58
- package/core/renderers/zelos/path_object.ts +0 -215
- package/core/renderers/zelos/renderer.ts +0 -142
- package/core/renderers/zelos/zelos.ts +0 -39
- package/core/scrollbar.ts +0 -870
- package/core/scrollbar_pair.ts +0 -321
- package/core/serialization/blocks.ts +0 -706
- package/core/serialization/exceptions.ts +0 -98
- package/core/serialization/priorities.ts +0 -32
- package/core/serialization/registry.ts +0 -43
- package/core/serialization/variables.ts +0 -96
- package/core/serialization/workspaces.ts +0 -106
- package/core/shortcut_items.ts +0 -266
- package/core/shortcut_registry.ts +0 -355
- package/core/sprites.ts +0 -29
- package/core/theme/classic.ts +0 -54
- package/core/theme/themes.ts +0 -22
- package/core/theme/zelos.ts +0 -91
- package/core/theme.ts +0 -221
- package/core/theme_manager.ts +0 -186
- package/core/toolbox/category.ts +0 -679
- package/core/toolbox/collapsible_category.ts +0 -273
- package/core/toolbox/separator.ts +0 -105
- package/core/toolbox/toolbox.ts +0 -1044
- package/core/toolbox/toolbox_item.ts +0 -147
- package/core/tooltip.ts +0 -463
- package/core/touch.ts +0 -306
- package/core/touch_gesture.ts +0 -295
- package/core/trashcan.ts +0 -671
- package/core/utils/aria.ts +0 -160
- package/core/utils/array.ts +0 -32
- package/core/utils/colour.ts +0 -276
- package/core/utils/coordinate.ts +0 -124
- package/core/utils/deprecation.ts +0 -41
- package/core/utils/dom.ts +0 -408
- package/core/utils/idgenerator.ts +0 -80
- package/core/utils/keycodes.ts +0 -169
- package/core/utils/math.ts +0 -61
- package/core/utils/metrics.ts +0 -97
- package/core/utils/object.ts +0 -95
- package/core/utils/parsing.ts +0 -261
- package/core/utils/rect.ts +0 -62
- package/core/utils/sentinel.ts +0 -23
- package/core/utils/size.ts +0 -51
- package/core/utils/string.ts +0 -308
- package/core/utils/style.ts +0 -306
- package/core/utils/svg.ts +0 -88
- package/core/utils/svg_math.ts +0 -269
- package/core/utils/svg_paths.ts +0 -140
- package/core/utils/toolbox.ts +0 -433
- package/core/utils/useragent.ts +0 -135
- package/core/utils/xml.ts +0 -97
- package/core/utils.ts +0 -428
- package/core/variable_map.ts +0 -392
- package/core/variable_model.ts +0 -82
- package/core/variables.ts +0 -596
- package/core/variables_dynamic.ts +0 -133
- package/core/warning.ts +0 -161
- package/core/widgetdiv.ts +0 -257
- package/core/workspace.ts +0 -801
- package/core/workspace_audio.ts +0 -156
- package/core/workspace_comment.ts +0 -398
- package/core/workspace_comment_svg.ts +0 -1127
- package/core/workspace_drag_surface_svg.ts +0 -187
- package/core/workspace_dragger.ts +0 -104
- package/core/workspace_svg.ts +0 -2655
- package/core/xml.ts +0 -1023
- package/core/zoom_controls.ts +0 -441
- package/generators/dart/all.js +0 -27
- package/generators/dart/colour.js +0 -105
- package/generators/dart/lists.js +0 -431
- package/generators/dart/logic.js +0 -123
- package/generators/dart/loops.js +0 -161
- package/generators/dart/math.js +0 -446
- package/generators/dart/procedures.js +0 -105
- package/generators/dart/text.js +0 -338
- package/generators/dart/variables.js +0 -32
- package/generators/dart/variables_dynamic.js +0 -21
- package/generators/dart.js +0 -303
- package/generators/javascript/all.js +0 -27
- package/generators/javascript/colour.js +0 -85
- package/generators/javascript/lists.js +0 -405
- package/generators/javascript/logic.js +0 -127
- package/generators/javascript/loops.js +0 -180
- package/generators/javascript/math.js +0 -401
- package/generators/javascript/procedures.js +0 -110
- package/generators/javascript/text.js +0 -371
- package/generators/javascript/variables.js +0 -32
- package/generators/javascript/variables_dynamic.js +0 -21
- package/generators/javascript.js +0 -322
- package/generators/lua/all.js +0 -27
- package/generators/lua/colour.js +0 -71
- package/generators/lua/lists.js +0 -348
- package/generators/lua/logic.js +0 -112
- package/generators/lua/loops.js +0 -168
- package/generators/lua/math.js +0 -406
- package/generators/lua/procedures.js +0 -106
- package/generators/lua/text.js +0 -327
- package/generators/lua/variables.js +0 -31
- package/generators/lua/variables_dynamic.js +0 -21
- package/generators/lua.js +0 -206
- package/generators/php/all.js +0 -27
- package/generators/php/colour.js +0 -81
- package/generators/php/lists.js +0 -481
- package/generators/php/logic.js +0 -119
- package/generators/php/loops.js +0 -161
- package/generators/php/math.js +0 -349
- package/generators/php/procedures.js +0 -125
- package/generators/php/text.js +0 -255
- package/generators/php/variables.js +0 -32
- package/generators/php/variables_dynamic.js +0 -21
- package/generators/php.js +0 -303
- package/generators/python/all.js +0 -27
- package/generators/python/colour.js +0 -67
- package/generators/python/lists.js +0 -346
- package/generators/python/logic.js +0 -120
- package/generators/python/loops.js +0 -206
- package/generators/python/math.js +0 -373
- package/generators/python/procedures.js +0 -129
- package/generators/python/text.js +0 -291
- package/generators/python/variables.js +0 -32
- package/generators/python/variables_dynamic.js +0 -21
- package/generators/python.js +0 -333
package/php_compressed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["generators/php.js","generators/php/variables.js","generators/php/variables_dynamic.js","generators/php/text.js","generators/php/procedures.js","generators/php/math.js","generators/php/loops.js","generators/php/logic.js","generators/php/lists.js","generators/php/colour.js","generators/php/all.js"],"names":["objectUtils","stringUtils","Generator","inputTypes","Names","PHP","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_NONE","ORDER_OVERRIDES","isInitialized","init","PHP.init","workspace","Object","getPrototypeOf","call","nameDB_","reset","RESERVED_WORDS_","setVariableMap","getVariableMap","populateVariables","populateProcedures","finish","PHP.finish","code","definitions","values","definitions_","join","scrubNakedValue","PHP.scrubNakedValue","line","quote_","PHP.quote_","string","replace","multiline_quote_","PHP.multiline_quote_","split","map","lines","scrub_","PHP.scrub_","block","opt_thisOnly","commentCode","outputConnection","targetConnection","comment","getCommentText","wrap","COMMENT_WRAP","prefixLines","i","inputList","length","type","VALUE","childBlock","connection","targetBlock","allNestedComments","nextBlock","nextConnection","nextCode","blockToCode","getAdjusted","PHP.getAdjusted","atId","opt_delta","opt_negate","opt_order","delta","order","options","oneBasedIndex","defaultAtIndex","outerOrder","innerOrder","at","valueToCode","isNumber","Number","Math","floor","NameType","getName","getFieldValue","VARIABLE","argument0","varName","indexOf","itemCount_","element0","element1","elements","Array","value","functionName","provideFunction_","FUNCTION_NAME_PLACEHOLDER_","text","operator","substring","errorIndex","indexAdjustment","where","Error","where1","where2","at1","at2","OPERATORS","getField","msg","sub","from","to","Variables","globals","usedVariables","allUsedVarModels","variable","name","getVars","push","devVarList","allDeveloperVariables","DEVELOPER_VARIABLE","globalStr","INDENT","funcName","PROCEDURE","xfix1","STATEMENT_PREFIX","injectId","STATEMENT_SUFFIX","loopTrap","INFINITE_LOOP_TRAP","branch","statementToCode","returnValue","xfix2","args","variables","tuple","hasReturnValue_","Infinity","argument1","arg","CONSTANTS","PROPERTIES","dropdownProperty","prefix","suffix","inputOrder","outputOrder","numberToCheck","divisor","func","list","argument2","repeats","String","addLoopTrap","loopVar","getDistinctName","endVar","match","until","variable0","increment","up","step","abs","startVar","incVar","xfix","loop","getSurroundLoop","suppressPrefixSuffix","n","branchCode","conditionCode","getInput","defaultArgument","value_if","value_then","value_else","element","repeatCount","mode","cachedList","listVar","xVar","listCode","direction","value_input","value_delim","red","green","blue","c1","c2","ratio","exports","moduleExports"],"mappings":"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","file":"php_compressed.js","sourceRoot":"./"}
|
|
1
|
+
{"version":3,"sources":["generators/php.js","generators/php/variables.js","generators/php/variables_dynamic.js","generators/php/text.js","generators/php/procedures.js","generators/php/math.js","generators/php/loops.js","generators/php/logic.js","generators/php/lists.js","generators/php/colour.js","generators/php/all.js"],"names":["objectUtils","stringUtils","Generator","inputTypes","Names","PHP","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_NONE","ORDER_OVERRIDES","isInitialized","init","PHP.init","workspace","Object","getPrototypeOf","call","nameDB_","reset","RESERVED_WORDS_","setVariableMap","getVariableMap","populateVariables","populateProcedures","finish","PHP.finish","code","definitions","values","definitions_","join","scrubNakedValue","PHP.scrubNakedValue","line","quote_","PHP.quote_","string","replace","multiline_quote_","PHP.multiline_quote_","split","map","lines","scrub_","PHP.scrub_","block","opt_thisOnly","commentCode","outputConnection","targetConnection","comment","getCommentText","wrap","COMMENT_WRAP","prefixLines","i","inputList","length","type","VALUE","childBlock","connection","targetBlock","allNestedComments","nextBlock","nextConnection","nextCode","blockToCode","getAdjusted","PHP.getAdjusted","atId","opt_delta","opt_negate","opt_order","delta","order","options","oneBasedIndex","defaultAtIndex","outerOrder","innerOrder","at","valueToCode","isNumber","Number","Math","floor","NameType","getName","getFieldValue","VARIABLE","argument0","varName","indexOf","itemCount_","element0","element1","elements","Array","value","functionName","provideFunction_","FUNCTION_NAME_PLACEHOLDER_","text","operator","substring","errorIndex","indexAdjustment","where","Error","where1","where2","at1","at2","OPERATORS","getField","msg","sub","from","to","Variables","globals","usedVariables","allUsedVarModels","variable","name","getVars","push","devVarList","allDeveloperVariables","DEVELOPER_VARIABLE","globalStr","INDENT","funcName","PROCEDURE","xfix1","STATEMENT_PREFIX","injectId","STATEMENT_SUFFIX","loopTrap","INFINITE_LOOP_TRAP","branch","statementToCode","returnValue","xfix2","args","variables","tuple","hasReturnValue_","Infinity","argument1","arg","CONSTANTS","PROPERTIES","dropdownProperty","prefix","suffix","inputOrder","outputOrder","numberToCheck","divisor","func","list","argument2","repeats","String","addLoopTrap","loopVar","getDistinctName","endVar","match","until","variable0","increment","up","step","abs","startVar","incVar","xfix","loop","getSurroundLoop","suppressPrefixSuffix","n","branchCode","conditionCode","getInput","defaultArgument","value_if","value_then","value_else","element","repeatCount","mode","cachedList","listVar","xVar","listCode","direction","value_input","value_delim","red","green","blue","c1","c2","ratio","exports","moduleExports"],"mappings":"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","file":"php_compressed.js","sourcesContent":["/**\n * @license\n * Copyright 2015 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview Helper functions for generating PHP for blocks.\n * @suppress {checkTypes|globalThis}\n */\n'use strict';\n\ngoog.module('Blockly.PHP');\n\nconst objectUtils = goog.require('Blockly.utils.object');\nconst stringUtils = goog.require('Blockly.utils.string');\nconst {Block} = goog.requireType('Blockly.Block');\nconst {Generator} = goog.require('Blockly.Generator');\nconst {inputTypes} = goog.require('Blockly.inputTypes');\nconst {Names} = goog.require('Blockly.Names');\nconst {Workspace} = goog.requireType('Blockly.Workspace');\n\n\n/**\n * PHP code generator.\n * @type {!Generator}\n */\nconst PHP = new Generator('PHP');\n\n/**\n * List of illegal variable names.\n * This is not intended to be a security feature. Blockly is 100% client-side,\n * so bypassing this list is trivial. This is intended to prevent users from\n * accidentally clobbering a built-in object or function.\n */\nPHP.addReservedWords(\n // http://php.net/manual/en/reserved.keywords.php\n '__halt_compiler,abstract,and,array,as,break,callable,case,catch,class,' +\n 'clone,const,continue,declare,default,die,do,echo,else,elseif,empty,' +\n 'enddeclare,endfor,endforeach,endif,endswitch,endwhile,eval,exit,extends,' +\n 'final,for,foreach,function,global,goto,if,implements,include,' +\n 'include_once,instanceof,insteadof,interface,isset,list,namespace,new,or,' +\n 'print,private,protected,public,require,require_once,return,static,' +\n 'switch,throw,trait,try,unset,use,var,while,xor,' +\n // http://php.net/manual/en/reserved.constants.php\n 'PHP_VERSION,PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,' +\n 'PHP_VERSION_ID,PHP_EXTRA_VERSION,PHP_ZTS,PHP_DEBUG,PHP_MAXPATHLEN,' +\n 'PHP_OS,PHP_SAPI,PHP_EOL,PHP_INT_MAX,PHP_INT_SIZE,DEFAULT_INCLUDE_PATH,' +\n 'PEAR_INSTALL_DIR,PEAR_EXTENSION_DIR,PHP_EXTENSION_DIR,PHP_PREFIX,' +\n 'PHP_BINDIR,PHP_BINARY,PHP_MANDIR,PHP_LIBDIR,PHP_DATADIR,PHP_SYSCONFDIR,' +\n 'PHP_LOCALSTATEDIR,PHP_CONFIG_FILE_PATH,PHP_CONFIG_FILE_SCAN_DIR,' +\n 'PHP_SHLIB_SUFFIX,E_ERROR,E_WARNING,E_PARSE,E_NOTICE,E_CORE_ERROR,' +\n 'E_CORE_WARNING,E_COMPILE_ERROR,E_COMPILE_WARNING,E_USER_ERROR,' +\n 'E_USER_WARNING,E_USER_NOTICE,E_DEPRECATED,E_USER_DEPRECATED,E_ALL,' +\n 'E_STRICT,__COMPILER_HALT_OFFSET__,TRUE,FALSE,NULL,__CLASS__,__DIR__,' +\n '__FILE__,__FUNCTION__,__LINE__,__METHOD__,__NAMESPACE__,__TRAIT__');\n\n/**\n * Order of operation ENUMs.\n * http://php.net/manual/en/language.operators.precedence.php\n */\nPHP.ORDER_ATOMIC = 0; // 0 \"\" ...\nPHP.ORDER_CLONE = 1; // clone\nPHP.ORDER_NEW = 1; // new\nPHP.ORDER_MEMBER = 2.1; // []\nPHP.ORDER_FUNCTION_CALL = 2.2; // ()\nPHP.ORDER_POWER = 3; // **\nPHP.ORDER_INCREMENT = 4; // ++\nPHP.ORDER_DECREMENT = 4; // --\nPHP.ORDER_BITWISE_NOT = 4; // ~\nPHP.ORDER_CAST = 4; // (int) (float) (string) (array) ...\nPHP.ORDER_SUPPRESS_ERROR = 4; // @\nPHP.ORDER_INSTANCEOF = 5; // instanceof\nPHP.ORDER_LOGICAL_NOT = 6; // !\nPHP.ORDER_UNARY_PLUS = 7.1; // +\nPHP.ORDER_UNARY_NEGATION = 7.2; // -\nPHP.ORDER_MULTIPLICATION = 8.1; // *\nPHP.ORDER_DIVISION = 8.2; // /\nPHP.ORDER_MODULUS = 8.3; // %\nPHP.ORDER_ADDITION = 9.1; // +\nPHP.ORDER_SUBTRACTION = 9.2; // -\nPHP.ORDER_STRING_CONCAT = 9.3; // .\nPHP.ORDER_BITWISE_SHIFT = 10; // << >>\nPHP.ORDER_RELATIONAL = 11; // < <= > >=\nPHP.ORDER_EQUALITY = 12; // == != === !== <> <=>\nPHP.ORDER_REFERENCE = 13; // &\nPHP.ORDER_BITWISE_AND = 13; // &\nPHP.ORDER_BITWISE_XOR = 14; // ^\nPHP.ORDER_BITWISE_OR = 15; // |\nPHP.ORDER_LOGICAL_AND = 16; // &&\nPHP.ORDER_LOGICAL_OR = 17; // ||\nPHP.ORDER_IF_NULL = 18; // ??\nPHP.ORDER_CONDITIONAL = 19; // ?:\nPHP.ORDER_ASSIGNMENT = 20; // = += -= *= /= %= <<= >>= ...\nPHP.ORDER_LOGICAL_AND_WEAK = 21; // and\nPHP.ORDER_LOGICAL_XOR = 22; // xor\nPHP.ORDER_LOGICAL_OR_WEAK = 23; // or\nPHP.ORDER_NONE = 99; // (...)\n\n/**\n * List of outer-inner pairings that do NOT require parentheses.\n * @type {!Array<!Array<number>>}\n */\nPHP.ORDER_OVERRIDES = [\n // (foo()).bar() -> foo().bar()\n // (foo())[0] -> foo()[0]\n [PHP.ORDER_MEMBER, PHP.ORDER_FUNCTION_CALL],\n // (foo[0])[1] -> foo[0][1]\n // (foo.bar).baz -> foo.bar.baz\n [PHP.ORDER_MEMBER, PHP.ORDER_MEMBER],\n // !(!foo) -> !!foo\n [PHP.ORDER_LOGICAL_NOT, PHP.ORDER_LOGICAL_NOT],\n // a * (b * c) -> a * b * c\n [PHP.ORDER_MULTIPLICATION, PHP.ORDER_MULTIPLICATION],\n // a + (b + c) -> a + b + c\n [PHP.ORDER_ADDITION, PHP.ORDER_ADDITION],\n // a && (b && c) -> a && b && c\n [PHP.ORDER_LOGICAL_AND, PHP.ORDER_LOGICAL_AND],\n // a || (b || c) -> a || b || c\n [PHP.ORDER_LOGICAL_OR, PHP.ORDER_LOGICAL_OR]\n];\n\n/**\n * Whether the init method has been called.\n * @type {?boolean}\n */\nPHP.isInitialized = false;\n\n/**\n * Initialise the database of variable names.\n * @param {!Workspace} workspace Workspace to generate code from.\n */\nPHP.init = function(workspace) {\n // Call Blockly.Generator's init.\n Object.getPrototypeOf(this).init.call(this);\n\n if (!this.nameDB_) {\n this.nameDB_ = new Names(this.RESERVED_WORDS_, '$');\n } else {\n this.nameDB_.reset();\n }\n\n this.nameDB_.setVariableMap(workspace.getVariableMap());\n this.nameDB_.populateVariables(workspace);\n this.nameDB_.populateProcedures(workspace);\n\n this.isInitialized = true;\n};\n\n/**\n * Prepend the generated code with the variable definitions.\n * @param {string} code Generated code.\n * @return {string} Completed code.\n */\nPHP.finish = function(code) {\n // Convert the definitions dictionary into a list.\n const definitions = objectUtils.values(this.definitions_);\n // Call Blockly.Generator's finish.\n code = Object.getPrototypeOf(this).finish.call(this, code);\n this.isInitialized = false;\n\n this.nameDB_.reset();\n return definitions.join('\\n\\n') + '\\n\\n\\n' + code;\n};\n\n/**\n * Naked values are top-level blocks with outputs that aren't plugged into\n * anything. A trailing semicolon is needed to make this legal.\n * @param {string} line Line of generated code.\n * @return {string} Legal line of code.\n */\nPHP.scrubNakedValue = function(line) {\n return line + ';\\n';\n};\n\n/**\n * Encode a string as a properly escaped PHP string, complete with\n * quotes.\n * @param {string} string Text to encode.\n * @return {string} PHP string.\n * @protected\n */\nPHP.quote_ = function(string) {\n string = string.replace(/\\\\/g, '\\\\\\\\')\n .replace(/\\n/g, '\\\\\\n')\n .replace(/'/g, '\\\\\\'');\n return '\\'' + string + '\\'';\n};\n\n/**\n * Encode a string as a properly escaped multiline PHP string, complete with\n * quotes.\n * @param {string} string Text to encode.\n * @return {string} PHP string.\n * @protected\n */\nPHP.multiline_quote_ = function(string) {\n const lines = string.split(/\\n/g).map(this.quote_);\n // Join with the following, plus a newline:\n // . \"\\n\" .\n // Newline escaping only works in double-quoted strings.\n return lines.join(' . \\\"\\\\n\\\" .\\n');\n};\n\n/**\n * Common tasks for generating PHP from blocks.\n * Handles comments for the specified block and any connected value blocks.\n * Calls any statements following this block.\n * @param {!Block} block The current block.\n * @param {string} code The PHP code created for this block.\n * @param {boolean=} opt_thisOnly True to generate code for only this statement.\n * @return {string} PHP code with comments and subsequent blocks added.\n * @protected\n */\nPHP.scrub_ = function(block, code, opt_thisOnly) {\n let commentCode = '';\n // Only collect comments for blocks that aren't inline.\n if (!block.outputConnection || !block.outputConnection.targetConnection) {\n // Collect comment for this block.\n let comment = block.getCommentText();\n if (comment) {\n comment = stringUtils.wrap(comment, this.COMMENT_WRAP - 3);\n commentCode += this.prefixLines(comment, '// ') + '\\n';\n }\n // Collect comments for all value arguments.\n // Don't collect comments for nested statements.\n for (let i = 0; i < block.inputList.length; i++) {\n if (block.inputList[i].type === inputTypes.VALUE) {\n const childBlock = block.inputList[i].connection.targetBlock();\n if (childBlock) {\n comment = this.allNestedComments(childBlock);\n if (comment) {\n commentCode += this.prefixLines(comment, '// ');\n }\n }\n }\n }\n }\n const nextBlock = block.nextConnection && block.nextConnection.targetBlock();\n const nextCode = opt_thisOnly ? '' : this.blockToCode(nextBlock);\n return commentCode + code + nextCode;\n};\n\n/**\n * Gets a property and adjusts the value while taking into account indexing.\n * @param {!Block} block The block.\n * @param {string} atId The property ID of the element to get.\n * @param {number=} opt_delta Value to add.\n * @param {boolean=} opt_negate Whether to negate the value.\n * @param {number=} opt_order The highest order acting on this value.\n * @return {string|number}\n */\nPHP.getAdjusted = function(block, atId, opt_delta, opt_negate, opt_order) {\n let delta = opt_delta || 0;\n let order = opt_order || this.ORDER_NONE;\n if (block.workspace.options.oneBasedIndex) {\n delta--;\n }\n let defaultAtIndex = block.workspace.options.oneBasedIndex ? '1' : '0';\n let outerOrder = order;\n let innerOrder;\n if (delta > 0) {\n outerOrder = this.ORDER_ADDITION;\n innerOrder = this.ORDER_ADDITION;\n } else if (delta < 0) {\n outerOrder = this.ORDER_SUBTRACTION;\n innerOrder = this.ORDER_SUBTRACTION;\n } else if (opt_negate) {\n outerOrder = this.ORDER_UNARY_NEGATION;\n innerOrder = this.ORDER_UNARY_NEGATION;\n }\n let at = this.valueToCode(block, atId, outerOrder) || defaultAtIndex;\n\n if (stringUtils.isNumber(at)) {\n // If the index is a naked number, adjust it right now.\n at = Number(at) + delta;\n if (opt_negate) {\n at = -at;\n }\n } else {\n // If the index is dynamic, adjust it in code.\n if (delta > 0) {\n at = at + ' + ' + delta;\n } else if (delta < 0) {\n at = at + ' - ' + -delta;\n }\n if (opt_negate) {\n if (delta) {\n at = '-(' + at + ')';\n } else {\n at = '-' + at;\n }\n }\n innerOrder = Math.floor(innerOrder);\n order = Math.floor(order);\n if (innerOrder && order >= innerOrder) {\n at = '(' + at + ')';\n }\n }\n return at;\n};\n\nexports.phpGenerator = PHP;\n","/**\n * @license\n * Copyright 2015 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview Generating PHP for variable blocks.\n */\n'use strict';\n\ngoog.module('Blockly.PHP.variables');\n\nconst {NameType} = goog.require('Blockly.Names');\nconst {phpGenerator: PHP} = goog.require('Blockly.PHP');\n\n\nPHP['variables_get'] = function(block) {\n // Variable getter.\n const code =\n PHP.nameDB_.getName(block.getFieldValue('VAR'), NameType.VARIABLE);\n return [code, PHP.ORDER_ATOMIC];\n};\n\nPHP['variables_set'] = function(block) {\n // Variable setter.\n const argument0 =\n PHP.valueToCode(block, 'VALUE', PHP.ORDER_ASSIGNMENT) || '0';\n const varName =\n PHP.nameDB_.getName(block.getFieldValue('VAR'), NameType.VARIABLE);\n return varName + ' = ' + argument0 + ';\\n';\n};\n","/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview Generating PHP for dynamic variable blocks.\n */\n'use strict';\n\ngoog.module('Blockly.PHP.variablesDynamic');\n\nconst {phpGenerator: PHP} = goog.require('Blockly.PHP');\n/** @suppress {extraRequire} */\ngoog.require('Blockly.PHP.variables');\n\n\n// PHP is dynamically typed.\nPHP['variables_get_dynamic'] = PHP['variables_get'];\nPHP['variables_set_dynamic'] = PHP['variables_set'];\n","/**\n * @license\n * Copyright 2015 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview Generating PHP for text blocks.\n */\n'use strict';\n\ngoog.module('Blockly.PHP.texts');\n\nconst {NameType} = goog.require('Blockly.Names');\nconst {phpGenerator: PHP} = goog.require('Blockly.PHP');\n\n\nPHP['text'] = function(block) {\n // Text value.\n const code = PHP.quote_(block.getFieldValue('TEXT'));\n return [code, PHP.ORDER_ATOMIC];\n};\n\nPHP['text_multiline'] = function(block) {\n // Text value.\n const code = PHP.multiline_quote_(block.getFieldValue('TEXT'));\n const order =\n code.indexOf('.') !== -1 ? PHP.ORDER_STRING_CONCAT : PHP.ORDER_ATOMIC;\n return [code, order];\n};\n\nPHP['text_join'] = function(block) {\n // Create a string made up of any number of elements of any type.\n if (block.itemCount_ === 0) {\n return [\"''\", PHP.ORDER_ATOMIC];\n } else if (block.itemCount_ === 1) {\n const element = PHP.valueToCode(block, 'ADD0', PHP.ORDER_NONE) || \"''\";\n const code = element;\n return [code, PHP.ORDER_NONE];\n } else if (block.itemCount_ === 2) {\n const element0 =\n PHP.valueToCode(block, 'ADD0', PHP.ORDER_STRING_CONCAT) || \"''\";\n const element1 =\n PHP.valueToCode(block, 'ADD1', PHP.ORDER_STRING_CONCAT) || \"''\";\n const code = element0 + ' . ' + element1;\n return [code, PHP.ORDER_STRING_CONCAT];\n } else {\n const elements = new Array(block.itemCount_);\n for (let i = 0; i < block.itemCount_; i++) {\n elements[i] = PHP.valueToCode(block, 'ADD' + i, PHP.ORDER_NONE) || \"''\";\n }\n const code = 'implode(\\'\\', array(' + elements.join(',') + '))';\n return [code, PHP.ORDER_FUNCTION_CALL];\n }\n};\n\nPHP['text_append'] = function(block) {\n // Append to a variable in place.\n const varName =\n PHP.nameDB_.getName(block.getFieldValue('VAR'), NameType.VARIABLE);\n const value = PHP.valueToCode(block, 'TEXT', PHP.ORDER_ASSIGNMENT) || \"''\";\n return varName + ' .= ' + value + ';\\n';\n};\n\nPHP['text_length'] = function(block) {\n // String or array length.\n const functionName = PHP.provideFunction_('length', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($value) {\n if (is_string($value)) {\n return strlen($value);\n }\n return count($value);\n}\n`);\n const text = PHP.valueToCode(block, 'VALUE', PHP.ORDER_NONE) || \"''\";\n return [functionName + '(' + text + ')', PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['text_isEmpty'] = function(block) {\n // Is the string null or array empty?\n const text = PHP.valueToCode(block, 'VALUE', PHP.ORDER_NONE) || \"''\";\n return ['empty(' + text + ')', PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['text_indexOf'] = function(block) {\n // Search the text for a substring.\n const operator =\n block.getFieldValue('END') === 'FIRST' ? 'strpos' : 'strrpos';\n const substring = PHP.valueToCode(block, 'FIND', PHP.ORDER_NONE) || \"''\";\n const text = PHP.valueToCode(block, 'VALUE', PHP.ORDER_NONE) || \"''\";\n let errorIndex = ' -1';\n let indexAdjustment = '';\n if (block.workspace.options.oneBasedIndex) {\n errorIndex = ' 0';\n indexAdjustment = ' + 1';\n }\n const functionName = PHP.provideFunction_(\n block.getFieldValue('END') === 'FIRST' ? 'text_indexOf' :\n 'text_lastIndexOf',\n `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($text, $search) {\n $pos = ${operator}($text, $search);\n return $pos === false ? ${errorIndex} : $pos${indexAdjustment};\n}\n`);\n const code = functionName + '(' + text + ', ' + substring + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['text_charAt'] = function(block) {\n // Get letter at index.\n const where = block.getFieldValue('WHERE') || 'FROM_START';\n const textOrder = (where === 'RANDOM') ? PHP.ORDER_NONE : PHP.ORDER_NONE;\n const text = PHP.valueToCode(block, 'VALUE', textOrder) || \"''\";\n switch (where) {\n case 'FIRST': {\n const code = 'substr(' + text + ', 0, 1)';\n return [code, PHP.ORDER_FUNCTION_CALL];\n }\n case 'LAST': {\n const code = 'substr(' + text + ', -1)';\n return [code, PHP.ORDER_FUNCTION_CALL];\n }\n case 'FROM_START': {\n const at = PHP.getAdjusted(block, 'AT');\n const code = 'substr(' + text + ', ' + at + ', 1)';\n return [code, PHP.ORDER_FUNCTION_CALL];\n }\n case 'FROM_END': {\n const at = PHP.getAdjusted(block, 'AT', 1, true);\n const code = 'substr(' + text + ', ' + at + ', 1)';\n return [code, PHP.ORDER_FUNCTION_CALL];\n }\n case 'RANDOM': {\n const functionName = PHP.provideFunction_('text_random_letter', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($text) {\n return $text[rand(0, strlen($text) - 1)];\n}\n`);\n const code = functionName + '(' + text + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n }\n }\n throw Error('Unhandled option (text_charAt).');\n};\n\nPHP['text_getSubstring'] = function(block) {\n // Get substring.\n const where1 = block.getFieldValue('WHERE1');\n const where2 = block.getFieldValue('WHERE2');\n const text = PHP.valueToCode(block, 'STRING', PHP.ORDER_NONE) || \"''\";\n if (where1 === 'FIRST' && where2 === 'LAST') {\n const code = text;\n return [code, PHP.ORDER_NONE];\n } else {\n const at1 = PHP.getAdjusted(block, 'AT1');\n const at2 = PHP.getAdjusted(block, 'AT2');\n const functionName = PHP.provideFunction_('text_get_substring', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($text, $where1, $at1, $where2, $at2) {\n if ($where1 == 'FROM_END') {\n $at1 = strlen($text) - 1 - $at1;\n } else if ($where1 == 'FIRST') {\n $at1 = 0;\n } else if ($where1 != 'FROM_START') {\n throw new Exception('Unhandled option (text_get_substring).');\n }\n $length = 0;\n if ($where2 == 'FROM_START') {\n $length = $at2 - $at1 + 1;\n } else if ($where2 == 'FROM_END') {\n $length = strlen($text) - $at1 - $at2;\n } else if ($where2 == 'LAST') {\n $length = strlen($text) - $at1;\n } else {\n throw new Exception('Unhandled option (text_get_substring).');\n }\n return substr($text, $at1, $length);\n}\n`);\n const code = functionName + '(' + text + ', \\'' + where1 + '\\', ' + at1 +\n ', \\'' + where2 + '\\', ' + at2 + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n }\n};\n\nPHP['text_changeCase'] = function(block) {\n // Change capitalization.\n const text = PHP.valueToCode(block, 'TEXT', PHP.ORDER_NONE) || \"''\";\n let code;\n if (block.getFieldValue('CASE') === 'UPPERCASE') {\n code = 'strtoupper(' + text + ')';\n } else if (block.getFieldValue('CASE') === 'LOWERCASE') {\n code = 'strtolower(' + text + ')';\n } else if (block.getFieldValue('CASE') === 'TITLECASE') {\n code = 'ucwords(strtolower(' + text + '))';\n }\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['text_trim'] = function(block) {\n // Trim spaces.\n const OPERATORS = {'LEFT': 'ltrim', 'RIGHT': 'rtrim', 'BOTH': 'trim'};\n const operator = OPERATORS[block.getFieldValue('MODE')];\n const text = PHP.valueToCode(block, 'TEXT', PHP.ORDER_NONE) || \"''\";\n return [operator + '(' + text + ')', PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['text_print'] = function(block) {\n // Print statement.\n const msg = PHP.valueToCode(block, 'TEXT', PHP.ORDER_NONE) || \"''\";\n return 'print(' + msg + ');\\n';\n};\n\nPHP['text_prompt_ext'] = function(block) {\n // Prompt function.\n let msg;\n if (block.getField('TEXT')) {\n // Internal message.\n msg = PHP.quote_(block.getFieldValue('TEXT'));\n } else {\n // External message.\n msg = PHP.valueToCode(block, 'TEXT', PHP.ORDER_NONE) || \"''\";\n }\n let code = 'readline(' + msg + ')';\n const toNumber = block.getFieldValue('TYPE') === 'NUMBER';\n if (toNumber) {\n code = 'floatval(' + code + ')';\n }\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['text_prompt'] = PHP['text_prompt_ext'];\n\nPHP['text_count'] = function(block) {\n const text = PHP.valueToCode(block, 'TEXT', PHP.ORDER_NONE) || \"''\";\n const sub = PHP.valueToCode(block, 'SUB', PHP.ORDER_NONE) || \"''\";\n const code = 'strlen(' + sub + ') === 0' +\n ' ? strlen(' + text + ') + 1' +\n ' : substr_count(' + text + ', ' + sub + ')';\n return [code, PHP.ORDER_CONDITIONAL];\n};\n\nPHP['text_replace'] = function(block) {\n const text = PHP.valueToCode(block, 'TEXT', PHP.ORDER_NONE) || \"''\";\n const from = PHP.valueToCode(block, 'FROM', PHP.ORDER_NONE) || \"''\";\n const to = PHP.valueToCode(block, 'TO', PHP.ORDER_NONE) || \"''\";\n const code = 'str_replace(' + from + ', ' + to + ', ' + text + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['text_reverse'] = function(block) {\n const text = PHP.valueToCode(block, 'TEXT', PHP.ORDER_NONE) || \"''\";\n const code = 'strrev(' + text + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n","/**\n * @license\n * Copyright 2015 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview Generating PHP for procedure blocks.\n */\n'use strict';\n\ngoog.module('Blockly.PHP.procedures');\n\nconst Variables = goog.require('Blockly.Variables');\nconst {NameType} = goog.require('Blockly.Names');\nconst {phpGenerator: PHP} = goog.require('Blockly.PHP');\n\n\nPHP['procedures_defreturn'] = function(block) {\n // Define a procedure with a return value.\n // First, add a 'global' statement for every variable that is not shadowed by\n // a local parameter.\n const globals = [];\n const workspace = block.workspace;\n const usedVariables = Variables.allUsedVarModels(workspace) || [];\n for (let i = 0, variable; variable = usedVariables[i]; i++) {\n const varName = variable.name;\n if (block.getVars().indexOf(varName) === -1) {\n globals.push(PHP.nameDB_.getName(varName, NameType.VARIABLE));\n }\n }\n // Add developer variables.\n const devVarList = Variables.allDeveloperVariables(workspace);\n for (let i = 0; i < devVarList.length; i++) {\n globals.push(\n PHP.nameDB_.getName(devVarList[i], NameType.DEVELOPER_VARIABLE));\n }\n const globalStr =\n globals.length ? PHP.INDENT + 'global ' + globals.join(', ') + ';\\n' : '';\n\n const funcName =\n PHP.nameDB_.getName(block.getFieldValue('NAME'), NameType.PROCEDURE);\n let xfix1 = '';\n if (PHP.STATEMENT_PREFIX) {\n xfix1 += PHP.injectId(PHP.STATEMENT_PREFIX, block);\n }\n if (PHP.STATEMENT_SUFFIX) {\n xfix1 += PHP.injectId(PHP.STATEMENT_SUFFIX, block);\n }\n if (xfix1) {\n xfix1 = PHP.prefixLines(xfix1, PHP.INDENT);\n }\n let loopTrap = '';\n if (PHP.INFINITE_LOOP_TRAP) {\n loopTrap = PHP.prefixLines(\n PHP.injectId(PHP.INFINITE_LOOP_TRAP, block), PHP.INDENT);\n }\n const branch = PHP.statementToCode(block, 'STACK');\n let returnValue = PHP.valueToCode(block, 'RETURN', PHP.ORDER_NONE) || '';\n let xfix2 = '';\n if (branch && returnValue) {\n // After executing the function body, revisit this block for the return.\n xfix2 = xfix1;\n }\n if (returnValue) {\n returnValue = PHP.INDENT + 'return ' + returnValue + ';\\n';\n }\n const args = [];\n const variables = block.getVars();\n for (let i = 0; i < variables.length; i++) {\n args[i] = PHP.nameDB_.getName(variables[i], NameType.VARIABLE);\n }\n let code = 'function ' + funcName + '(' + args.join(', ') + ') {\\n' +\n globalStr + xfix1 + loopTrap + branch + xfix2 + returnValue + '}';\n code = PHP.scrub_(block, code);\n // Add % so as not to collide with helper functions in definitions list.\n PHP.definitions_['%' + funcName] = code;\n return null;\n};\n\n// Defining a procedure without a return value uses the same generator as\n// a procedure with a return value.\nPHP['procedures_defnoreturn'] = PHP['procedures_defreturn'];\n\nPHP['procedures_callreturn'] = function(block) {\n // Call a procedure with a return value.\n const funcName =\n PHP.nameDB_.getName(block.getFieldValue('NAME'), NameType.PROCEDURE);\n const args = [];\n const variables = block.getVars();\n for (let i = 0; i < variables.length; i++) {\n args[i] = PHP.valueToCode(block, 'ARG' + i, PHP.ORDER_NONE) || 'null';\n }\n const code = funcName + '(' + args.join(', ') + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['procedures_callnoreturn'] = function(block) {\n // Call a procedure with no return value.\n // Generated code is for a function call as a statement is the same as a\n // function call as a value, with the addition of line ending.\n const tuple = PHP['procedures_callreturn'](block);\n return tuple[0] + ';\\n';\n};\n\nPHP['procedures_ifreturn'] = function(block) {\n // Conditionally return value from a procedure.\n const condition =\n PHP.valueToCode(block, 'CONDITION', PHP.ORDER_NONE) || 'false';\n let code = 'if (' + condition + ') {\\n';\n if (PHP.STATEMENT_SUFFIX) {\n // Inject any statement suffix here since the regular one at the end\n // will not get executed if the return is triggered.\n code +=\n PHP.prefixLines(PHP.injectId(PHP.STATEMENT_SUFFIX, block), PHP.INDENT);\n }\n if (block.hasReturnValue_) {\n const value = PHP.valueToCode(block, 'VALUE', PHP.ORDER_NONE) || 'null';\n code += PHP.INDENT + 'return ' + value + ';\\n';\n } else {\n code += PHP.INDENT + 'return;\\n';\n }\n code += '}\\n';\n return code;\n};\n","/**\n * @license\n * Copyright 2015 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview Generating PHP for math blocks.\n */\n'use strict';\n\ngoog.module('Blockly.PHP.math');\n\nconst {NameType} = goog.require('Blockly.Names');\nconst {phpGenerator: PHP} = goog.require('Blockly.PHP');\n\n\nPHP['math_number'] = function(block) {\n // Numeric value.\n let code = Number(block.getFieldValue('NUM'));\n const order = code >= 0 ? PHP.ORDER_ATOMIC : PHP.ORDER_UNARY_NEGATION;\n if (code === Infinity) {\n code = 'INF';\n } else if (code === -Infinity) {\n code = '-INF';\n }\n return [code, order];\n};\n\nPHP['math_arithmetic'] = function(block) {\n // Basic arithmetic operators, and power.\n const OPERATORS = {\n 'ADD': [' + ', PHP.ORDER_ADDITION],\n 'MINUS': [' - ', PHP.ORDER_SUBTRACTION],\n 'MULTIPLY': [' * ', PHP.ORDER_MULTIPLICATION],\n 'DIVIDE': [' / ', PHP.ORDER_DIVISION],\n 'POWER': [' ** ', PHP.ORDER_POWER],\n };\n const tuple = OPERATORS[block.getFieldValue('OP')];\n const operator = tuple[0];\n const order = tuple[1];\n const argument0 = PHP.valueToCode(block, 'A', order) || '0';\n const argument1 = PHP.valueToCode(block, 'B', order) || '0';\n const code = argument0 + operator + argument1;\n return [code, order];\n};\n\nPHP['math_single'] = function(block) {\n // Math operators with single operand.\n const operator = block.getFieldValue('OP');\n let code;\n let arg;\n if (operator === 'NEG') {\n // Negation is a special case given its different operator precedence.\n arg = PHP.valueToCode(block, 'NUM', PHP.ORDER_UNARY_NEGATION) || '0';\n if (arg[0] === '-') {\n // --3 is not legal in JS.\n arg = ' ' + arg;\n }\n code = '-' + arg;\n return [code, PHP.ORDER_UNARY_NEGATION];\n }\n if (operator === 'SIN' || operator === 'COS' || operator === 'TAN') {\n arg = PHP.valueToCode(block, 'NUM', PHP.ORDER_DIVISION) || '0';\n } else {\n arg = PHP.valueToCode(block, 'NUM', PHP.ORDER_NONE) || '0';\n }\n // First, handle cases which generate values that don't need parentheses\n // wrapping the code.\n switch (operator) {\n case 'ABS':\n code = 'abs(' + arg + ')';\n break;\n case 'ROOT':\n code = 'sqrt(' + arg + ')';\n break;\n case 'LN':\n code = 'log(' + arg + ')';\n break;\n case 'EXP':\n code = 'exp(' + arg + ')';\n break;\n case 'POW10':\n code = 'pow(10,' + arg + ')';\n break;\n case 'ROUND':\n code = 'round(' + arg + ')';\n break;\n case 'ROUNDUP':\n code = 'ceil(' + arg + ')';\n break;\n case 'ROUNDDOWN':\n code = 'floor(' + arg + ')';\n break;\n case 'SIN':\n code = 'sin(' + arg + ' / 180 * pi())';\n break;\n case 'COS':\n code = 'cos(' + arg + ' / 180 * pi())';\n break;\n case 'TAN':\n code = 'tan(' + arg + ' / 180 * pi())';\n break;\n }\n if (code) {\n return [code, PHP.ORDER_FUNCTION_CALL];\n }\n // Second, handle cases which generate values that may need parentheses\n // wrapping the code.\n switch (operator) {\n case 'LOG10':\n code = 'log(' + arg + ') / log(10)';\n break;\n case 'ASIN':\n code = 'asin(' + arg + ') / pi() * 180';\n break;\n case 'ACOS':\n code = 'acos(' + arg + ') / pi() * 180';\n break;\n case 'ATAN':\n code = 'atan(' + arg + ') / pi() * 180';\n break;\n default:\n throw Error('Unknown math operator: ' + operator);\n }\n return [code, PHP.ORDER_DIVISION];\n};\n\nPHP['math_constant'] = function(block) {\n // Constants: PI, E, the Golden Ratio, sqrt(2), 1/sqrt(2), INFINITY.\n const CONSTANTS = {\n 'PI': ['M_PI', PHP.ORDER_ATOMIC],\n 'E': ['M_E', PHP.ORDER_ATOMIC],\n 'GOLDEN_RATIO': ['(1 + sqrt(5)) / 2', PHP.ORDER_DIVISION],\n 'SQRT2': ['M_SQRT2', PHP.ORDER_ATOMIC],\n 'SQRT1_2': ['M_SQRT1_2', PHP.ORDER_ATOMIC],\n 'INFINITY': ['INF', PHP.ORDER_ATOMIC],\n };\n return CONSTANTS[block.getFieldValue('CONSTANT')];\n};\n\nPHP['math_number_property'] = function(block) {\n // Check if a number is even, odd, prime, whole, positive, or negative\n // or if it is divisible by certain number. Returns true or false.\n const PROPERTIES = {\n 'EVEN': ['', ' % 2 == 0', PHP.ORDER_MODULUS, PHP.ORDER_EQUALITY],\n 'ODD': ['', ' % 2 == 1', PHP.ORDER_MODULUS, PHP.ORDER_EQUALITY],\n 'WHOLE': ['is_int(', ')', PHP.ORDER_NONE, PHP.ORDER_FUNCTION_CALL],\n 'POSITIVE': ['', ' > 0', PHP.ORDER_RELATIONAL, PHP.ORDER_RELATIONAL],\n 'NEGATIVE': ['', ' < 0', PHP.ORDER_RELATIONAL, PHP.ORDER_RELATIONAL],\n 'DIVISIBLE_BY': [null, null, PHP.ORDER_MODULUS, PHP.ORDER_EQUALITY],\n 'PRIME': [null, null, PHP.ORDER_NONE, PHP.ORDER_FUNCTION_CALL],\n };\n const dropdownProperty = block.getFieldValue('PROPERTY');\n const [prefix, suffix, inputOrder, outputOrder] = PROPERTIES[dropdownProperty];\n const numberToCheck = PHP.valueToCode(block, 'NUMBER_TO_CHECK',\n inputOrder) || '0';\n let code;\n if (dropdownProperty === 'PRIME') {\n // Prime is a special case as it is not a one-liner test.\n const functionName = PHP.provideFunction_('math_isPrime', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($n) {\n // https://en.wikipedia.org/wiki/Primality_test#Naive_methods\n if ($n == 2 || $n == 3) {\n return true;\n }\n // False if n is NaN, negative, is 1, or not whole.\n // And false if n is divisible by 2 or 3.\n if (!is_numeric($n) || $n <= 1 || $n % 1 != 0 || $n % 2 == 0 || $n % 3 == 0) {\n return false;\n }\n // Check all the numbers of form 6k +/- 1, up to sqrt(n).\n for ($x = 6; $x <= sqrt($n) + 1; $x += 6) {\n if ($n % ($x - 1) == 0 || $n % ($x + 1) == 0) {\n return false;\n }\n }\n return true;\n}\n`);\n code = functionName + '(' + numberToCheck + ')';\n } else if (dropdownProperty === 'DIVISIBLE_BY') {\n const divisor = PHP.valueToCode(block, 'DIVISOR',\n PHP.ORDER_MODULUS) || '0';\n if (divisor === '0') {\n return ['false', PHP.ORDER_ATOMIC];\n\n }\n code = numberToCheck + ' % ' + divisor + ' == 0';\n } else {\n code = prefix + numberToCheck + suffix;\n }\n return [code, outputOrder];\n};\n\nPHP['math_change'] = function(block) {\n // Add to a variable in place.\n const argument0 = PHP.valueToCode(block, 'DELTA', PHP.ORDER_ADDITION) || '0';\n const varName =\n PHP.nameDB_.getName(block.getFieldValue('VAR'), NameType.VARIABLE);\n return varName + ' += ' + argument0 + ';\\n';\n};\n\n// Rounding functions have a single operand.\nPHP['math_round'] = PHP['math_single'];\n// Trigonometry functions have a single operand.\nPHP['math_trig'] = PHP['math_single'];\n\nPHP['math_on_list'] = function(block) {\n // Math functions for lists.\n const func = block.getFieldValue('OP');\n let list;\n let code;\n switch (func) {\n case 'SUM':\n list =\n PHP.valueToCode(block, 'LIST', PHP.ORDER_FUNCTION_CALL) || 'array()';\n code = 'array_sum(' + list + ')';\n break;\n case 'MIN':\n list =\n PHP.valueToCode(block, 'LIST', PHP.ORDER_FUNCTION_CALL) || 'array()';\n code = 'min(' + list + ')';\n break;\n case 'MAX':\n list =\n PHP.valueToCode(block, 'LIST', PHP.ORDER_FUNCTION_CALL) || 'array()';\n code = 'max(' + list + ')';\n break;\n case 'AVERAGE': {\n const functionName = PHP.provideFunction_('math_mean', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($myList) {\n return array_sum($myList) / count($myList);\n}\n`);\n list = PHP.valueToCode(block, 'LIST', PHP.ORDER_NONE) || 'array()';\n code = functionName + '(' + list + ')';\n break;\n }\n case 'MEDIAN': {\n const functionName = PHP.provideFunction_('math_median', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($arr) {\n sort($arr,SORT_NUMERIC);\n return (count($arr) % 2) ? $arr[floor(count($arr) / 2)] :\n ($arr[floor(count($arr) / 2)] + $arr[floor(count($arr) / 2) - 1]) / 2;\n}\n`);\n list = PHP.valueToCode(block, 'LIST', PHP.ORDER_NONE) || '[]';\n code = functionName + '(' + list + ')';\n break;\n }\n case 'MODE': {\n // As a list of numbers can contain more than one mode,\n // the returned result is provided as an array.\n // Mode of [3, 'x', 'x', 1, 1, 2, '3'] -> ['x', 1].\n const functionName = PHP.provideFunction_('math_modes', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($values) {\n if (empty($values)) return array();\n $counts = array_count_values($values);\n arsort($counts); // Sort counts in descending order\n $modes = array_keys($counts, current($counts), true);\n return $modes;\n}\n`);\n list = PHP.valueToCode(block, 'LIST', PHP.ORDER_NONE) || '[]';\n code = functionName + '(' + list + ')';\n break;\n }\n case 'STD_DEV': {\n const functionName = PHP.provideFunction_('math_standard_deviation', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($numbers) {\n $n = count($numbers);\n if (!$n) return null;\n $mean = array_sum($numbers) / count($numbers);\n foreach($numbers as $key => $num) $devs[$key] = pow($num - $mean, 2);\n return sqrt(array_sum($devs) / (count($devs) - 1));\n}\n`);\n list = PHP.valueToCode(block, 'LIST', PHP.ORDER_NONE) || '[]';\n code = functionName + '(' + list + ')';\n break;\n }\n case 'RANDOM': {\n const functionName = PHP.provideFunction_('math_random_list', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($list) {\n $x = rand(0, count($list)-1);\n return $list[$x];\n}\n`);\n list = PHP.valueToCode(block, 'LIST', PHP.ORDER_NONE) || '[]';\n code = functionName + '(' + list + ')';\n break;\n }\n default:\n throw Error('Unknown operator: ' + func);\n }\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['math_modulo'] = function(block) {\n // Remainder computation.\n const argument0 =\n PHP.valueToCode(block, 'DIVIDEND', PHP.ORDER_MODULUS) || '0';\n const argument1 = PHP.valueToCode(block, 'DIVISOR', PHP.ORDER_MODULUS) || '0';\n const code = argument0 + ' % ' + argument1;\n return [code, PHP.ORDER_MODULUS];\n};\n\nPHP['math_constrain'] = function(block) {\n // Constrain a number between two limits.\n const argument0 = PHP.valueToCode(block, 'VALUE', PHP.ORDER_NONE) || '0';\n const argument1 = PHP.valueToCode(block, 'LOW', PHP.ORDER_NONE) || '0';\n const argument2 =\n PHP.valueToCode(block, 'HIGH', PHP.ORDER_NONE) || 'Infinity';\n const code =\n 'min(max(' + argument0 + ', ' + argument1 + '), ' + argument2 + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['math_random_int'] = function(block) {\n // Random integer between [X] and [Y].\n const argument0 = PHP.valueToCode(block, 'FROM', PHP.ORDER_NONE) || '0';\n const argument1 = PHP.valueToCode(block, 'TO', PHP.ORDER_NONE) || '0';\n const functionName = PHP.provideFunction_('math_random_int', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($a, $b) {\n if ($a > $b) {\n return rand($b, $a);\n }\n return rand($a, $b);\n}\n`);\n const code = functionName + '(' + argument0 + ', ' + argument1 + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['math_random_float'] = function(block) {\n // Random fraction between 0 and 1.\n return ['(float)rand()/(float)getrandmax()', PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['math_atan2'] = function(block) {\n // Arctangent of point (X, Y) in degrees from -180 to 180.\n const argument0 = PHP.valueToCode(block, 'X', PHP.ORDER_NONE) || '0';\n const argument1 = PHP.valueToCode(block, 'Y', PHP.ORDER_NONE) || '0';\n return [\n 'atan2(' + argument1 + ', ' + argument0 + ') / pi() * 180',\n PHP.ORDER_DIVISION\n ];\n};\n","/**\n * @license\n * Copyright 2015 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview Generating PHP for loop blocks.\n */\n'use strict';\n\ngoog.module('Blockly.PHP.loops');\n\nconst stringUtils = goog.require('Blockly.utils.string');\nconst {NameType} = goog.require('Blockly.Names');\nconst {phpGenerator: PHP} = goog.require('Blockly.PHP');\n\n\nPHP['controls_repeat_ext'] = function(block) {\n // Repeat n times.\n let repeats;\n if (block.getField('TIMES')) {\n // Internal number.\n repeats = String(Number(block.getFieldValue('TIMES')));\n } else {\n // External number.\n repeats = PHP.valueToCode(block, 'TIMES', PHP.ORDER_ASSIGNMENT) || '0';\n }\n let branch = PHP.statementToCode(block, 'DO');\n branch = PHP.addLoopTrap(branch, block);\n let code = '';\n const loopVar = PHP.nameDB_.getDistinctName('count', NameType.VARIABLE);\n let endVar = repeats;\n if (!repeats.match(/^\\w+$/) && !stringUtils.isNumber(repeats)) {\n endVar = PHP.nameDB_.getDistinctName('repeat_end', NameType.VARIABLE);\n code += endVar + ' = ' + repeats + ';\\n';\n }\n code += 'for (' + loopVar + ' = 0; ' + loopVar + ' < ' + endVar + '; ' +\n loopVar + '++) {\\n' + branch + '}\\n';\n return code;\n};\n\nPHP['controls_repeat'] = PHP['controls_repeat_ext'];\n\nPHP['controls_whileUntil'] = function(block) {\n // Do while/until loop.\n const until = block.getFieldValue('MODE') === 'UNTIL';\n let argument0 =\n PHP.valueToCode(\n block, 'BOOL', until ? PHP.ORDER_LOGICAL_NOT : PHP.ORDER_NONE) ||\n 'false';\n let branch = PHP.statementToCode(block, 'DO');\n branch = PHP.addLoopTrap(branch, block);\n if (until) {\n argument0 = '!' + argument0;\n }\n return 'while (' + argument0 + ') {\\n' + branch + '}\\n';\n};\n\nPHP['controls_for'] = function(block) {\n // For loop.\n const variable0 =\n PHP.nameDB_.getName(block.getFieldValue('VAR'), NameType.VARIABLE);\n const argument0 = PHP.valueToCode(block, 'FROM', PHP.ORDER_ASSIGNMENT) || '0';\n const argument1 = PHP.valueToCode(block, 'TO', PHP.ORDER_ASSIGNMENT) || '0';\n const increment = PHP.valueToCode(block, 'BY', PHP.ORDER_ASSIGNMENT) || '1';\n let branch = PHP.statementToCode(block, 'DO');\n branch = PHP.addLoopTrap(branch, block);\n let code;\n if (stringUtils.isNumber(argument0) && stringUtils.isNumber(argument1) &&\n stringUtils.isNumber(increment)) {\n // All arguments are simple numbers.\n const up = Number(argument0) <= Number(argument1);\n code = 'for (' + variable0 + ' = ' + argument0 + '; ' + variable0 +\n (up ? ' <= ' : ' >= ') + argument1 + '; ' + variable0;\n const step = Math.abs(Number(increment));\n if (step === 1) {\n code += up ? '++' : '--';\n } else {\n code += (up ? ' += ' : ' -= ') + step;\n }\n code += ') {\\n' + branch + '}\\n';\n } else {\n code = '';\n // Cache non-trivial values to variables to prevent repeated look-ups.\n let startVar = argument0;\n if (!argument0.match(/^\\w+$/) && !stringUtils.isNumber(argument0)) {\n startVar =\n PHP.nameDB_.getDistinctName(variable0 + '_start', NameType.VARIABLE);\n code += startVar + ' = ' + argument0 + ';\\n';\n }\n let endVar = argument1;\n if (!argument1.match(/^\\w+$/) && !stringUtils.isNumber(argument1)) {\n endVar =\n PHP.nameDB_.getDistinctName(variable0 + '_end', NameType.VARIABLE);\n code += endVar + ' = ' + argument1 + ';\\n';\n }\n // Determine loop direction at start, in case one of the bounds\n // changes during loop execution.\n const incVar =\n PHP.nameDB_.getDistinctName(variable0 + '_inc', NameType.VARIABLE);\n code += incVar + ' = ';\n if (stringUtils.isNumber(increment)) {\n code += Math.abs(increment) + ';\\n';\n } else {\n code += 'abs(' + increment + ');\\n';\n }\n code += 'if (' + startVar + ' > ' + endVar + ') {\\n';\n code += PHP.INDENT + incVar + ' = -' + incVar + ';\\n';\n code += '}\\n';\n code += 'for (' + variable0 + ' = ' + startVar + '; ' + incVar +\n ' >= 0 ? ' + variable0 + ' <= ' + endVar + ' : ' + variable0 +\n ' >= ' + endVar + '; ' + variable0 + ' += ' + incVar + ') {\\n' +\n branch + '}\\n';\n }\n return code;\n};\n\nPHP['controls_forEach'] = function(block) {\n // For each loop.\n const variable0 =\n PHP.nameDB_.getName(block.getFieldValue('VAR'), NameType.VARIABLE);\n const argument0 =\n PHP.valueToCode(block, 'LIST', PHP.ORDER_ASSIGNMENT) || '[]';\n let branch = PHP.statementToCode(block, 'DO');\n branch = PHP.addLoopTrap(branch, block);\n let code = '';\n code +=\n 'foreach (' + argument0 + ' as ' + variable0 + ') {\\n' + branch + '}\\n';\n return code;\n};\n\nPHP['controls_flow_statements'] = function(block) {\n // Flow statements: continue, break.\n let xfix = '';\n if (PHP.STATEMENT_PREFIX) {\n // Automatic prefix insertion is switched off for this block. Add manually.\n xfix += PHP.injectId(PHP.STATEMENT_PREFIX, block);\n }\n if (PHP.STATEMENT_SUFFIX) {\n // Inject any statement suffix here since the regular one at the end\n // will not get executed if the break/continue is triggered.\n xfix += PHP.injectId(PHP.STATEMENT_SUFFIX, block);\n }\n if (PHP.STATEMENT_PREFIX) {\n const loop = block.getSurroundLoop();\n if (loop && !loop.suppressPrefixSuffix) {\n // Inject loop's statement prefix here since the regular one at the end\n // of the loop will not get executed if 'continue' is triggered.\n // In the case of 'break', a prefix is needed due to the loop's suffix.\n xfix += PHP.injectId(PHP.STATEMENT_PREFIX, loop);\n }\n }\n switch (block.getFieldValue('FLOW')) {\n case 'BREAK':\n return xfix + 'break;\\n';\n case 'CONTINUE':\n return xfix + 'continue;\\n';\n }\n throw Error('Unknown flow statement.');\n};\n","/**\n * @license\n * Copyright 2015 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview Generating PHP for logic blocks.\n */\n'use strict';\n\ngoog.module('Blockly.PHP.logic');\n\nconst {phpGenerator: PHP} = goog.require('Blockly.PHP');\n\n\nPHP['controls_if'] = function(block) {\n // If/elseif/else condition.\n let n = 0;\n let code = '', branchCode, conditionCode;\n if (PHP.STATEMENT_PREFIX) {\n // Automatic prefix insertion is switched off for this block. Add manually.\n code += PHP.injectId(PHP.STATEMENT_PREFIX, block);\n }\n do {\n conditionCode = PHP.valueToCode(block, 'IF' + n, PHP.ORDER_NONE) || 'false';\n branchCode = PHP.statementToCode(block, 'DO' + n);\n if (PHP.STATEMENT_SUFFIX) {\n branchCode = PHP.prefixLines(\n PHP.injectId(PHP.STATEMENT_SUFFIX, block), PHP.INDENT) +\n branchCode;\n }\n code += (n > 0 ? ' else ' : '') + 'if (' + conditionCode + ') {\\n' +\n branchCode + '}';\n n++;\n } while (block.getInput('IF' + n));\n\n if (block.getInput('ELSE') || PHP.STATEMENT_SUFFIX) {\n branchCode = PHP.statementToCode(block, 'ELSE');\n if (PHP.STATEMENT_SUFFIX) {\n branchCode = PHP.prefixLines(\n PHP.injectId(PHP.STATEMENT_SUFFIX, block), PHP.INDENT) +\n branchCode;\n }\n code += ' else {\\n' + branchCode + '}';\n }\n return code + '\\n';\n};\n\nPHP['controls_ifelse'] = PHP['controls_if'];\n\nPHP['logic_compare'] = function(block) {\n // Comparison operator.\n const OPERATORS =\n {'EQ': '==', 'NEQ': '!=', 'LT': '<', 'LTE': '<=', 'GT': '>', 'GTE': '>='};\n const operator = OPERATORS[block.getFieldValue('OP')];\n const order = (operator === '==' || operator === '!=') ? PHP.ORDER_EQUALITY :\n PHP.ORDER_RELATIONAL;\n const argument0 = PHP.valueToCode(block, 'A', order) || '0';\n const argument1 = PHP.valueToCode(block, 'B', order) || '0';\n const code = argument0 + ' ' + operator + ' ' + argument1;\n return [code, order];\n};\n\nPHP['logic_operation'] = function(block) {\n // Operations 'and', 'or'.\n const operator = (block.getFieldValue('OP') === 'AND') ? '&&' : '||';\n const order =\n (operator === '&&') ? PHP.ORDER_LOGICAL_AND : PHP.ORDER_LOGICAL_OR;\n let argument0 = PHP.valueToCode(block, 'A', order);\n let argument1 = PHP.valueToCode(block, 'B', order);\n if (!argument0 && !argument1) {\n // If there are no arguments, then the return value is false.\n argument0 = 'false';\n argument1 = 'false';\n } else {\n // Single missing arguments have no effect on the return value.\n const defaultArgument = (operator === '&&') ? 'true' : 'false';\n if (!argument0) {\n argument0 = defaultArgument;\n }\n if (!argument1) {\n argument1 = defaultArgument;\n }\n }\n const code = argument0 + ' ' + operator + ' ' + argument1;\n return [code, order];\n};\n\nPHP['logic_negate'] = function(block) {\n // Negation.\n const order = PHP.ORDER_LOGICAL_NOT;\n const argument0 = PHP.valueToCode(block, 'BOOL', order) || 'true';\n const code = '!' + argument0;\n return [code, order];\n};\n\nPHP['logic_boolean'] = function(block) {\n // Boolean values true and false.\n const code = (block.getFieldValue('BOOL') === 'TRUE') ? 'true' : 'false';\n return [code, PHP.ORDER_ATOMIC];\n};\n\nPHP['logic_null'] = function(block) {\n // Null data type.\n return ['null', PHP.ORDER_ATOMIC];\n};\n\nPHP['logic_ternary'] = function(block) {\n // Ternary operator.\n const value_if =\n PHP.valueToCode(block, 'IF', PHP.ORDER_CONDITIONAL) || 'false';\n const value_then =\n PHP.valueToCode(block, 'THEN', PHP.ORDER_CONDITIONAL) || 'null';\n const value_else =\n PHP.valueToCode(block, 'ELSE', PHP.ORDER_CONDITIONAL) || 'null';\n const code = value_if + ' ? ' + value_then + ' : ' + value_else;\n return [code, PHP.ORDER_CONDITIONAL];\n};\n","/**\n * @license\n * Copyright 2015 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview Generating PHP for list blocks.\n */\n\n/**\n * Lists in PHP are known to break when non-variables are passed into blocks\n * that require a list. PHP, unlike other languages, passes arrays as reference\n * value instead of value so we are unable to support it to the extent we can\n * for the other languages.\n * For example, a ternary operator with two arrays will return the array by\n * value and that cannot be passed into any of the built-in array functions for\n * PHP (because only variables can be passed by reference).\n * ex: end(true ? list1 : list2)\n */\n'use strict';\n\ngoog.module('Blockly.PHP.lists');\n\nconst stringUtils = goog.require('Blockly.utils.string');\nconst {NameType} = goog.require('Blockly.Names');\nconst {phpGenerator: PHP} = goog.require('Blockly.PHP');\n\nPHP['lists_create_empty'] = function(block) {\n // Create an empty list.\n return ['array()', PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['lists_create_with'] = function(block) {\n // Create a list with any number of elements of any type.\n let code = new Array(block.itemCount_);\n for (let i = 0; i < block.itemCount_; i++) {\n code[i] = PHP.valueToCode(block, 'ADD' + i, PHP.ORDER_NONE) || 'null';\n }\n code = 'array(' + code.join(', ') + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['lists_repeat'] = function(block) {\n // Create a list with one element repeated.\n const functionName = PHP.provideFunction_('lists_repeat', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($value, $count) {\n $array = array();\n for ($index = 0; $index < $count; $index++) {\n $array[] = $value;\n }\n return $array;\n}\n`);\n const element = PHP.valueToCode(block, 'ITEM', PHP.ORDER_NONE) || 'null';\n const repeatCount = PHP.valueToCode(block, 'NUM', PHP.ORDER_NONE) || '0';\n const code = functionName + '(' + element + ', ' + repeatCount + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['lists_length'] = function(block) {\n // String or array length.\n const functionName = PHP.provideFunction_('length', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($value) {\n if (is_string($value)) {\n return strlen($value);\n } else {\n return count($value);\n }\n}\n`);\n const list = PHP.valueToCode(block, 'VALUE', PHP.ORDER_NONE) || \"''\";\n return [functionName + '(' + list + ')', PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['lists_isEmpty'] = function(block) {\n // Is the string null or array empty?\n const argument0 =\n PHP.valueToCode(block, 'VALUE', PHP.ORDER_FUNCTION_CALL) || 'array()';\n return ['empty(' + argument0 + ')', PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['lists_indexOf'] = function(block) {\n // Find an item in the list.\n const argument0 = PHP.valueToCode(block, 'FIND', PHP.ORDER_NONE) || \"''\";\n const argument1 = PHP.valueToCode(block, 'VALUE', PHP.ORDER_MEMBER) || '[]';\n let errorIndex = ' -1';\n let indexAdjustment = '';\n if (block.workspace.options.oneBasedIndex) {\n errorIndex = ' 0';\n indexAdjustment = ' + 1';\n }\n let functionName;\n if (block.getFieldValue('END') === 'FIRST') {\n // indexOf\n functionName = PHP.provideFunction_('indexOf', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($haystack, $needle) {\n for ($index = 0; $index < count($haystack); $index++) {\n if ($haystack[$index] == $needle) return $index${indexAdjustment};\n }\n return ${errorIndex};\n}\n`);\n } else {\n // lastIndexOf\n functionName = PHP.provideFunction_('lastIndexOf', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($haystack, $needle) {\n $last = ${errorIndex};\n for ($index = 0; $index < count($haystack); $index++) {\n if ($haystack[$index] == $needle) $last = $index${indexAdjustment};\n }\n return $last;\n}\n`);\n }\n\n const code = functionName + '(' + argument1 + ', ' + argument0 + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['lists_getIndex'] = function(block) {\n // Get element at index.\n const mode = block.getFieldValue('MODE') || 'GET';\n const where = block.getFieldValue('WHERE') || 'FROM_START';\n switch (where) {\n case 'FIRST':\n if (mode === 'GET') {\n const list =\n PHP.valueToCode(block, 'VALUE', PHP.ORDER_MEMBER) || 'array()';\n const code = list + '[0]';\n return [code, PHP.ORDER_MEMBER];\n } else if (mode === 'GET_REMOVE') {\n const list =\n PHP.valueToCode(block, 'VALUE', PHP.ORDER_NONE) || 'array()';\n const code = 'array_shift(' + list + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n } else if (mode === 'REMOVE') {\n const list =\n PHP.valueToCode(block, 'VALUE', PHP.ORDER_NONE) || 'array()';\n return 'array_shift(' + list + ');\\n';\n }\n break;\n case 'LAST':\n if (mode === 'GET') {\n const list =\n PHP.valueToCode(block, 'VALUE', PHP.ORDER_NONE) || 'array()';\n const code = 'end(' + list + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n } else if (mode === 'GET_REMOVE') {\n const list =\n PHP.valueToCode(block, 'VALUE', PHP.ORDER_NONE) || 'array()';\n const code = 'array_pop(' + list + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n } else if (mode === 'REMOVE') {\n const list =\n PHP.valueToCode(block, 'VALUE', PHP.ORDER_NONE) || 'array()';\n return 'array_pop(' + list + ');\\n';\n }\n break;\n case 'FROM_START': {\n const at = PHP.getAdjusted(block, 'AT');\n if (mode === 'GET') {\n const list =\n PHP.valueToCode(block, 'VALUE', PHP.ORDER_MEMBER) || 'array()';\n const code = list + '[' + at + ']';\n return [code, PHP.ORDER_MEMBER];\n } else if (mode === 'GET_REMOVE') {\n const list =\n PHP.valueToCode(block, 'VALUE', PHP.ORDER_NONE) || 'array()';\n const code = 'array_splice(' + list + ', ' + at + ', 1)[0]';\n return [code, PHP.ORDER_FUNCTION_CALL];\n } else if (mode === 'REMOVE') {\n const list =\n PHP.valueToCode(block, 'VALUE', PHP.ORDER_NONE) || 'array()';\n return 'array_splice(' + list + ', ' + at + ', 1);\\n';\n }\n break;\n }\n case 'FROM_END':\n if (mode === 'GET') {\n const list =\n PHP.valueToCode(block, 'VALUE', PHP.ORDER_NONE) || 'array()';\n const at = PHP.getAdjusted(block, 'AT', 1, true);\n const code = 'array_slice(' + list + ', ' + at + ', 1)[0]';\n return [code, PHP.ORDER_FUNCTION_CALL];\n } else if (mode === 'GET_REMOVE' || mode === 'REMOVE') {\n const list =\n PHP.valueToCode(block, 'VALUE', PHP.ORDER_NONE) || 'array()';\n const at =\n PHP.getAdjusted(block, 'AT', 1, false, PHP.ORDER_SUBTRACTION);\n const code = 'array_splice(' + list + ', count(' + list + ') - ' + at +\n ', 1)[0]';\n if (mode === 'GET_REMOVE') {\n return [code, PHP.ORDER_FUNCTION_CALL];\n } else if (mode === 'REMOVE') {\n return code + ';\\n';\n }\n }\n break;\n case 'RANDOM': {\n const list = PHP.valueToCode(block, 'VALUE', PHP.ORDER_NONE) || 'array()';\n if (mode === 'GET') {\n const functionName = PHP.provideFunction_('lists_get_random_item', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($list) {\n return $list[rand(0,count($list)-1)];\n}\n`);\n const code = functionName + '(' + list + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n } else if (mode === 'GET_REMOVE') {\n const functionName =\n PHP.provideFunction_('lists_get_remove_random_item', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}(&$list) {\n $x = rand(0,count($list)-1);\n unset($list[$x]);\n return array_values($list);\n}\n`);\n const code = functionName + '(' + list + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n } else if (mode === 'REMOVE') {\n const functionName = PHP.provideFunction_('lists_remove_random_item', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}(&$list) {\n unset($list[rand(0,count($list)-1)]);\n}\n`);\n return functionName + '(' + list + ');\\n';\n }\n break;\n }\n }\n throw Error('Unhandled combination (lists_getIndex).');\n};\n\nPHP['lists_setIndex'] = function(block) {\n // Set element at index.\n // Note: Until February 2013 this block did not have MODE or WHERE inputs.\n const mode = block.getFieldValue('MODE') || 'GET';\n const where = block.getFieldValue('WHERE') || 'FROM_START';\n const value = PHP.valueToCode(block, 'TO', PHP.ORDER_ASSIGNMENT) || 'null';\n // Cache non-trivial values to variables to prevent repeated look-ups.\n // Closure, which accesses and modifies 'list'.\n let cachedList;\n function cacheList() {\n if (cachedList.match(/^\\$\\w+$/)) {\n return '';\n }\n const listVar = PHP.nameDB_.getDistinctName('tmp_list', NameType.VARIABLE);\n const code = listVar + ' = &' + cachedList + ';\\n';\n cachedList = listVar;\n return code;\n }\n switch (where) {\n case 'FIRST':\n if (mode === 'SET') {\n const list =\n PHP.valueToCode(block, 'LIST', PHP.ORDER_MEMBER) || 'array()';\n return list + '[0] = ' + value + ';\\n';\n } else if (mode === 'INSERT') {\n const list =\n PHP.valueToCode(block, 'LIST', PHP.ORDER_NONE) || 'array()';\n return 'array_unshift(' + list + ', ' + value + ');\\n';\n }\n break;\n case 'LAST': {\n const list = PHP.valueToCode(block, 'LIST', PHP.ORDER_NONE) || 'array()';\n if (mode === 'SET') {\n const functionName = PHP.provideFunction_('lists_set_last_item', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}(&$list, $value) {\n $list[count($list) - 1] = $value;\n}\n`);\n return functionName + '(' + list + ', ' + value + ');\\n';\n } else if (mode === 'INSERT') {\n return 'array_push(' + list + ', ' + value + ');\\n';\n }\n break;\n }\n case 'FROM_START': {\n const at = PHP.getAdjusted(block, 'AT');\n if (mode === 'SET') {\n const list =\n PHP.valueToCode(block, 'LIST', PHP.ORDER_MEMBER) || 'array()';\n return list + '[' + at + '] = ' + value + ';\\n';\n } else if (mode === 'INSERT') {\n const list =\n PHP.valueToCode(block, 'LIST', PHP.ORDER_NONE) || 'array()';\n return 'array_splice(' + list + ', ' + at + ', 0, ' + value + ');\\n';\n }\n break;\n }\n case 'FROM_END': {\n const list = PHP.valueToCode(block, 'LIST', PHP.ORDER_NONE) || 'array()';\n const at = PHP.getAdjusted(block, 'AT', 1);\n if (mode === 'SET') {\n const functionName = PHP.provideFunction_('lists_set_from_end', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}(&$list, $at, $value) {\n $list[count($list) - $at] = $value;\n}\n`);\n return functionName + '(' + list + ', ' + at + ', ' + value + ');\\n';\n } else if (mode === 'INSERT') {\n const functionName = PHP.provideFunction_('lists_insert_from_end', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}(&$list, $at, $value) {\n return array_splice($list, count($list) - $at, 0, $value);\n}\n`);\n return functionName + '(' + list + ', ' + at + ', ' + value + ');\\n';\n }\n break;\n }\n case 'RANDOM':\n cachedList =\n PHP.valueToCode(block, 'LIST', PHP.ORDER_REFERENCE) || 'array()';\n let code = cacheList();\n const list = cachedList;\n const xVar = PHP.nameDB_.getDistinctName('tmp_x', NameType.VARIABLE);\n code += xVar + ' = rand(0, count(' + list + ')-1);\\n';\n if (mode === 'SET') {\n code += list + '[' + xVar + '] = ' + value + ';\\n';\n return code;\n } else if (mode === 'INSERT') {\n code += 'array_splice(' + list + ', ' + xVar + ', 0, ' + value + ');\\n';\n return code;\n }\n break;\n }\n throw Error('Unhandled combination (lists_setIndex).');\n};\n\nPHP['lists_getSublist'] = function(block) {\n // Get sublist.\n const list = PHP.valueToCode(block, 'LIST', PHP.ORDER_NONE) || 'array()';\n const where1 = block.getFieldValue('WHERE1');\n const where2 = block.getFieldValue('WHERE2');\n let code;\n if (where1 === 'FIRST' && where2 === 'LAST') {\n code = list;\n } else if (\n list.match(/^\\$\\w+$/) ||\n (where1 !== 'FROM_END' && where2 === 'FROM_START')) {\n // If the list is a simple value or doesn't require a call for length, don't\n // generate a helper function.\n let at1;\n switch (where1) {\n case 'FROM_START':\n at1 = PHP.getAdjusted(block, 'AT1');\n break;\n case 'FROM_END':\n at1 = PHP.getAdjusted(block, 'AT1', 1, false, PHP.ORDER_SUBTRACTION);\n at1 = 'count(' + list + ') - ' + at1;\n break;\n case 'FIRST':\n at1 = '0';\n break;\n default:\n throw Error('Unhandled option (lists_getSublist).');\n }\n let at2;\n let length;\n switch (where2) {\n case 'FROM_START':\n at2 = PHP.getAdjusted(block, 'AT2', 0, false, PHP.ORDER_SUBTRACTION);\n length = at2 + ' - ';\n if (stringUtils.isNumber(String(at1)) ||\n String(at1).match(/^\\(.+\\)$/)) {\n length += at1;\n } else {\n length += '(' + at1 + ')';\n }\n length += ' + 1';\n break;\n case 'FROM_END':\n at2 = PHP.getAdjusted(block, 'AT2', 0, false, PHP.ORDER_SUBTRACTION);\n length = 'count(' + list + ') - ' + at2 + ' - ';\n if (stringUtils.isNumber(String(at1)) ||\n String(at1).match(/^\\(.+\\)$/)) {\n length += at1;\n } else {\n length += '(' + at1 + ')';\n }\n break;\n case 'LAST':\n length = 'count(' + list + ') - ';\n if (stringUtils.isNumber(String(at1)) ||\n String(at1).match(/^\\(.+\\)$/)) {\n length += at1;\n } else {\n length += '(' + at1 + ')';\n }\n break;\n default:\n throw Error('Unhandled option (lists_getSublist).');\n }\n code = 'array_slice(' + list + ', ' + at1 + ', ' + length + ')';\n } else {\n const at1 = PHP.getAdjusted(block, 'AT1');\n const at2 = PHP.getAdjusted(block, 'AT2');\n const functionName = PHP.provideFunction_('lists_get_sublist', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($list, $where1, $at1, $where2, $at2) {\n if ($where1 == 'FROM_END') {\n $at1 = count($list) - 1 - $at1;\n } else if ($where1 == 'FIRST') {\n $at1 = 0;\n } else if ($where1 != 'FROM_START') {\n throw new Exception('Unhandled option (lists_get_sublist).');\n }\n $length = 0;\n if ($where2 == 'FROM_START') {\n $length = $at2 - $at1 + 1;\n } else if ($where2 == 'FROM_END') {\n $length = count($list) - $at1 - $at2;\n } else if ($where2 == 'LAST') {\n $length = count($list) - $at1;\n } else {\n throw new Exception('Unhandled option (lists_get_sublist).');\n }\n return array_slice($list, $at1, $length);\n}\n`);\n code = functionName + '(' + list + ', \\'' + where1 + '\\', ' + at1 + ', \\'' +\n where2 + '\\', ' + at2 + ')';\n }\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['lists_sort'] = function(block) {\n // Block for sorting a list.\n const listCode = PHP.valueToCode(block, 'LIST', PHP.ORDER_NONE) || 'array()';\n const direction = block.getFieldValue('DIRECTION') === '1' ? 1 : -1;\n const type = block.getFieldValue('TYPE');\n const functionName = PHP.provideFunction_('lists_sort', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($list, $type, $direction) {\n $sortCmpFuncs = array(\n 'NUMERIC' => 'strnatcasecmp',\n 'TEXT' => 'strcmp',\n 'IGNORE_CASE' => 'strcasecmp'\n );\n $sortCmp = $sortCmpFuncs[$type];\n $list2 = $list;\n usort($list2, $sortCmp);\n if ($direction == -1) {\n $list2 = array_reverse($list2);\n }\n return $list2;\n}\n`);\n const sortCode =\n functionName + '(' + listCode + ', \"' + type + '\", ' + direction + ')';\n return [sortCode, PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['lists_split'] = function(block) {\n // Block for splitting text into a list, or joining a list into text.\n let value_input = PHP.valueToCode(block, 'INPUT', PHP.ORDER_NONE);\n const value_delim = PHP.valueToCode(block, 'DELIM', PHP.ORDER_NONE) || \"''\";\n const mode = block.getFieldValue('MODE');\n let functionName;\n if (mode === 'SPLIT') {\n if (!value_input) {\n value_input = \"''\";\n }\n functionName = 'explode';\n } else if (mode === 'JOIN') {\n if (!value_input) {\n value_input = 'array()';\n }\n functionName = 'implode';\n } else {\n throw Error('Unknown mode: ' + mode);\n }\n const code = functionName + '(' + value_delim + ', ' + value_input + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['lists_reverse'] = function(block) {\n // Block for reversing a list.\n const list = PHP.valueToCode(block, 'LIST', PHP.ORDER_NONE) || '[]';\n const code = 'array_reverse(' + list + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n","/**\n * @license\n * Copyright 2015 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview Generating PHP for colour blocks.\n */\n'use strict';\n\ngoog.module('Blockly.PHP.colour');\n\nconst {phpGenerator: PHP} = goog.require('Blockly.PHP');\n\n\nPHP['colour_picker'] = function(block) {\n // Colour picker.\n const code = PHP.quote_(block.getFieldValue('COLOUR'));\n return [code, PHP.ORDER_ATOMIC];\n};\n\nPHP['colour_random'] = function(block) {\n // Generate a random colour.\n const functionName = PHP.provideFunction_('colour_random', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}() {\n return '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);\n}\n`);\n const code = functionName + '()';\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['colour_rgb'] = function(block) {\n // Compose a colour from RGB components expressed as percentages.\n const red = PHP.valueToCode(block, 'RED', PHP.ORDER_NONE) || 0;\n const green = PHP.valueToCode(block, 'GREEN', PHP.ORDER_NONE) || 0;\n const blue = PHP.valueToCode(block, 'BLUE', PHP.ORDER_NONE) || 0;\n const functionName = PHP.provideFunction_('colour_rgb', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($r, $g, $b) {\n $r = round(max(min($r, 100), 0) * 2.55);\n $g = round(max(min($g, 100), 0) * 2.55);\n $b = round(max(min($b, 100), 0) * 2.55);\n $hex = '#';\n $hex .= str_pad(dechex($r), 2, '0', STR_PAD_LEFT);\n $hex .= str_pad(dechex($g), 2, '0', STR_PAD_LEFT);\n $hex .= str_pad(dechex($b), 2, '0', STR_PAD_LEFT);\n return $hex;\n}\n`);\n const code = functionName + '(' + red + ', ' + green + ', ' + blue + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n\nPHP['colour_blend'] = function(block) {\n // Blend two colours together.\n const c1 = PHP.valueToCode(block, 'COLOUR1', PHP.ORDER_NONE) || \"'#000000'\";\n const c2 = PHP.valueToCode(block, 'COLOUR2', PHP.ORDER_NONE) || \"'#000000'\";\n const ratio = PHP.valueToCode(block, 'RATIO', PHP.ORDER_NONE) || 0.5;\n const functionName = PHP.provideFunction_('colour_blend', `\nfunction ${PHP.FUNCTION_NAME_PLACEHOLDER_}($c1, $c2, $ratio) {\n $ratio = max(min($ratio, 1), 0);\n $r1 = hexdec(substr($c1, 1, 2));\n $g1 = hexdec(substr($c1, 3, 2));\n $b1 = hexdec(substr($c1, 5, 2));\n $r2 = hexdec(substr($c2, 1, 2));\n $g2 = hexdec(substr($c2, 3, 2));\n $b2 = hexdec(substr($c2, 5, 2));\n $r = round($r1 * (1 - $ratio) + $r2 * $ratio);\n $g = round($g1 * (1 - $ratio) + $g2 * $ratio);\n $b = round($b1 * (1 - $ratio) + $b2 * $ratio);\n $hex = '#';\n $hex .= str_pad(dechex($r), 2, '0', STR_PAD_LEFT);\n $hex .= str_pad(dechex($g), 2, '0', STR_PAD_LEFT);\n $hex .= str_pad(dechex($b), 2, '0', STR_PAD_LEFT);\n return $hex;\n}\n`);\n const code = functionName + '(' + c1 + ', ' + c2 + ', ' + ratio + ')';\n return [code, PHP.ORDER_FUNCTION_CALL];\n};\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview Complete helper functions for generating PHP for\n * blocks. This is the entrypoint for php_compressed.js.\n * @suppress {extraRequire}\n */\n'use strict';\n\ngoog.module('Blockly.PHP.all');\n\nconst moduleExports = goog.require('Blockly.PHP');\ngoog.require('Blockly.PHP.colour');\ngoog.require('Blockly.PHP.lists');\ngoog.require('Blockly.PHP.logic');\ngoog.require('Blockly.PHP.loops');\ngoog.require('Blockly.PHP.math');\ngoog.require('Blockly.PHP.procedures');\ngoog.require('Blockly.PHP.texts');\ngoog.require('Blockly.PHP.variables');\ngoog.require('Blockly.PHP.variablesDynamic');\n\nexports = moduleExports;\n"]}
|
package/python.d.ts
CHANGED
|
@@ -4,10 +4,4 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
* @fileoverview Type definitions for the Python generator.
|
|
9
|
-
* @author samelh@google.com (Sam El-Husseini)
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
declare const python: any;
|
|
13
|
-
export = python;
|
|
7
|
+
export declare const pythonGenerator: any;
|