12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- 'use strict';
- goog.provide('Blockly.Pseudo.dicts');
- goog.require('Blockly.Pseudo');
- Blockly.Pseudo['dict_get'] = function(block) {
- var dict = Blockly.Pseudo.valueToCode(block, 'DICT',
- Blockly.Pseudo.ORDER_MEMBER) || '___';
- var value = Blockly.Pseudo.valueToCode(block, 'ITEM',
- Blockly.Pseudo.ORDER_NONE) || '___';
- var code = " the value of the key " + value + " of " +dict;
- return [code, Blockly.Pseudo.ORDER_ATOMIC];
- };
- Blockly.Pseudo['dict_get_literal'] = function(block) {
- var dict = Blockly.Pseudo.valueToCode(block, 'DICT',
- Blockly.Pseudo.ORDER_MEMBER) || '___';
- var value = Blockly.Pseudo.quote_(block.getFieldValue('ITEM'));
- var code = " the value of the key " + value + " of " +dict;
- return [code, Blockly.Pseudo.ORDER_ATOMIC];
- };
- Blockly.Pseudo['dicts_create_with'] = function(block) {
- var value_keys = Blockly.Pseudo.valueToCode(block, 'keys', Blockly. Pseudo.ORDER_ATOMIC);
-
- var code = new Array(block.itemCount_);
-
- for (var n = 0; n < block.itemCount_; n++) {
- var key = Blockly.Pseudo.quote_(block.getFieldValue('KEY' + n));
- var value = Blockly.Pseudo.valueToCode(block, 'VALUE' + n,
- Blockly.Pseudo.ORDER_NONE) || '___';
- code[n] = key +": "+ value;
- }
- code = '{' + code.join(', ') + '}';
- return [code, Blockly.Pseudo.ORDER_ATOMIC];
- };
- Blockly.Pseudo['dict_keys'] = function(block) {
- var dict = Blockly.Pseudo.valueToCode(block, 'DICT',
- Blockly.Pseudo.ORDER_MEMBER) || '___';
- var code = dict + '.keys()';
- return [code, Blockly.Pseudo.ORDER_ATOMIC];
- };
|