UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

22 lines (20 loc) 4.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Helper_1 = require("../../Helper"); class PickObjectPropertiesHelper extends Helper_1.Helper { emit(sb, node, options) { sb.emitHelper(node, options, sb.helpers.createObject); sb.emitOp(node, 'TUCK'); sb.emitPushInt(node, 4); sb.emitOp(node, 'PICK'); sb.emitOp(node, 'ROT'); sb.emitHelper(node, options, sb.helpers.pickPropertyObjectProperties); sb.emitOp(node, 'DUP'); sb.emitPushInt(node, 3); sb.emitOp(node, 'XSWAP'); sb.emitOp(node, 'ROT'); sb.emitHelper(node, options, sb.helpers.pickSymbolObjectProperties); } } exports.PickObjectPropertiesHelper = PickObjectPropertiesHelper; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlBpY2tPYmplY3RQcm9wZXJ0aWVzSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEseUNBQXNDO0FBSXRDLE1BQWEsMEJBQTJCLFNBQVEsZUFBTTtJQUM3QyxJQUFJLENBQUMsRUFBaUIsRUFBRSxJQUFhLEVBQUUsT0FBcUI7UUFFakUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdEQsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFeEIsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFeEIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFeEIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFdkIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUV0RSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV2QixFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUV4QixFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUV6QixFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV2QixFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7Q0FDRjtBQXpCRCxnRUF5QkMiLCJmaWxlIjoibmVvLW9uZS1zbWFydC1jb250cmFjdC1jb21waWxlci9zcmMvY29tcGlsZS9oZWxwZXIvdHlwZXMvb2JqZWN0L1BpY2tPYmplY3RQcm9wZXJ0aWVzSGVscGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQgeyBTY3JpcHRCdWlsZGVyIH0gZnJvbSAnLi4vLi4vLi4vc2InO1xuaW1wb3J0IHsgVmlzaXRPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgSGVscGVyIH0gZnJvbSAnLi4vLi4vSGVscGVyJztcblxuLy8gSW5wdXQ6IFtwcm9wZXJ0eUFyciwgc3ltYm9sQXJyLCBvYmplY3RWYWxdXG4vLyBPdXRwdXQ6IFtvYmplY3RWYWxdXG5leHBvcnQgY2xhc3MgUGlja09iamVjdFByb3BlcnRpZXNIZWxwZXIgZXh0ZW5kcyBIZWxwZXIge1xuICBwdWJsaWMgZW1pdChzYjogU2NyaXB0QnVpbGRlciwgbm9kZTogdHMuTm9kZSwgb3B0aW9uczogVmlzaXRPcHRpb25zKTogdm9pZCB7XG4gICAgLy8gW291dHB1dE9iamVjdFZhbCwgcHJvcGVydHlBcnIsIHN5bWJvbEFyciwgb2JqZWN0VmFsXVxuICAgIHNiLmVtaXRIZWxwZXIobm9kZSwgb3B0aW9ucywgc2IuaGVscGVycy5jcmVhdGVPYmplY3QpO1xuICAgIC8vIFtvdXRwdXRPYmplY3RWYWwsIHByb3BlcnR5QXJyLCBvdXRwdXRPYmplY3RWYWwsIHN5bWJvbEFyciwgb2JqZWN0VmFsXVxuICAgIHNiLmVtaXRPcChub2RlLCAnVFVDSycpO1xuICAgIC8vIFs0LCBvdXRwdXRPYmplY3RWYWwsIHByb3BlcnR5QXJyLCBvdXRwdXRPYmplY3RWYWwsIHN5bWJvbEFyciwgb2JqZWN0VmFsXVxuICAgIHNiLmVtaXRQdXNoSW50KG5vZGUsIDQpO1xuICAgIC8vIFtvYmplY3RWYWwsIG91dHB1dE9iamVjdFZhbCwgcHJvcGVydHlBcnIsIG91dHB1dE9iamVjdFZhbCwgc3ltYm9sQXJyLCBvYmplY3RWYWxdXG4gICAgc2IuZW1pdE9wKG5vZGUsICdQSUNLJyk7XG4gICAgLy8gW3Byb3BlcnR5QXJyLCBvYmplY3RWYWwsIG91dHB1dE9iamVjdFZhbCwgb3V0cHV0T2JqZWN0VmFsLCBzeW1ib2xBcnIsIG9iamVjdFZhbF1cbiAgICBzYi5lbWl0T3Aobm9kZSwgJ1JPVCcpO1xuICAgIC8vIFtvdXRwdXRPYmplY3RWYWwsIHN5bWJvbEFyciwgb2JqZWN0VmFsXVxuICAgIHNiLmVtaXRIZWxwZXIobm9kZSwgb3B0aW9ucywgc2IuaGVscGVycy5waWNrUHJvcGVydHlPYmplY3RQcm9wZXJ0aWVzKTtcbiAgICAvLyBbb3V0cHV0T2JqZWN0VmFsLCBvdXRwdXRPYmplY3RWYWwsIHN5bWJvbEFyciwgb2JqZWN0VmFsXVxuICAgIHNiLmVtaXRPcChub2RlLCAnRFVQJyk7XG4gICAgLy8gWzMsIG91dHB1dE9iamVjdFZhbCwgb3V0cHV0T2JqZWN0VmFsLCBzeW1ib2xBcnIsIG9iamVjdFZhbF1cbiAgICBzYi5lbWl0UHVzaEludChub2RlLCAzKTtcbiAgICAvLyBbb2JqZWN0VmFsLCBvdXRwdXRPYmplY3RWYWwsIHN5bWJvbEFyciwgb3V0cHV0T2JqZWN0VmFsXVxuICAgIHNiLmVtaXRPcChub2RlLCAnWFNXQVAnKTtcbiAgICAvLyBbc3ltYm9sQXJyLCBvYmplY3RWYWwsIG91dHB1dE9iamVjdFZhbCwgb3V0cHV0T2JqZWN0VmFsXVxuICAgIHNiLmVtaXRPcChub2RlLCAnUk9UJyk7XG4gICAgLy8gW291dHB1dE9iamVjdFZhbF1cbiAgICBzYi5lbWl0SGVscGVyKG5vZGUsIG9wdGlvbnMsIHNiLmhlbHBlcnMucGlja1N5bWJvbE9iamVjdFByb3BlcnRpZXMpO1xuICB9XG59XG4iXX0=