UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

22 lines (20 loc) 3.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Helper_1 = require("../Helper"); class CreateFunctionObjectHelper extends Helper_1.Helper { constructor({ property }) { super(); this.property = property; } emit(sb, node, options) { if (options.pushValue) { sb.emitHelper(node, options, sb.helpers.createObject); sb.emitOp(node, 'TUCK'); sb.emitPushInt(node, this.property); sb.emitOp(node, 'ROT'); sb.emitHelper(node, options, sb.helpers.setInternalObjectProperty); } } } exports.CreateFunctionObjectHelper = CreateFunctionObjectHelper; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNyZWF0ZUZ1bmN0aW9uT2JqZWN0SGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsc0NBQW1DO0FBUW5DLE1BQWEsMEJBQTJCLFNBQVEsZUFBTTtJQUdwRCxZQUFtQixFQUFFLFFBQVEsRUFBcUM7UUFDaEUsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRU0sSUFBSSxDQUFDLEVBQWlCLEVBQUUsSUFBYSxFQUFFLE9BQXFCO1FBQ2pFLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUVyQixFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUV0RCxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUV4QixFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFcEMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFdkIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztTQUNwRTtJQUNILENBQUM7Q0FDRjtBQXRCRCxnRUFzQkMiLCJmaWxlIjoibmVvLW9uZS1zbWFydC1jb250cmFjdC1jb21waWxlci9zcmMvY29tcGlsZS9oZWxwZXIvZnVuY3Rpb24vQ3JlYXRlRnVuY3Rpb25PYmplY3RIZWxwZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBJbnRlcm5hbE9iamVjdFByb3BlcnR5IH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFNjcmlwdEJ1aWxkZXIgfSBmcm9tICcuLi8uLi9zYic7XG5pbXBvcnQgeyBWaXNpdE9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBIZWxwZXIgfSBmcm9tICcuLi9IZWxwZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUZ1bmN0aW9uT2JqZWN0SGVscGVyT3B0aW9ucyB7XG4gIHJlYWRvbmx5IHByb3BlcnR5OiBJbnRlcm5hbE9iamVjdFByb3BlcnR5O1xufVxuXG4vLyBJbnB1dDogW2ZhcnJdXG4vLyBPdXRwdXQ6IFtvYmplY3RWYWxdXG5leHBvcnQgY2xhc3MgQ3JlYXRlRnVuY3Rpb25PYmplY3RIZWxwZXIgZXh0ZW5kcyBIZWxwZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHByb3BlcnR5OiBJbnRlcm5hbE9iamVjdFByb3BlcnR5O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih7IHByb3BlcnR5IH06IENyZWF0ZUZ1bmN0aW9uT2JqZWN0SGVscGVyT3B0aW9ucykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5wcm9wZXJ0eSA9IHByb3BlcnR5O1xuICB9XG5cbiAgcHVibGljIGVtaXQoc2I6IFNjcmlwdEJ1aWxkZXIsIG5vZGU6IHRzLk5vZGUsIG9wdGlvbnM6IFZpc2l0T3B0aW9ucyk6IHZvaWQge1xuICAgIGlmIChvcHRpb25zLnB1c2hWYWx1ZSkge1xuICAgICAgLy8gW29iamVjdFZhbCwgZmFycl1cbiAgICAgIHNiLmVtaXRIZWxwZXIobm9kZSwgb3B0aW9ucywgc2IuaGVscGVycy5jcmVhdGVPYmplY3QpO1xuICAgICAgLy8gW29iamVjdFZhbCwgZmFyciwgb2JqZWN0VmFsXVxuICAgICAgc2IuZW1pdE9wKG5vZGUsICdUVUNLJyk7XG4gICAgICAvLyBbbnVtYmVyLCBvYmplY3RWYWwsIGZhcnIsIG9iamVjdFZhbF1cbiAgICAgIHNiLmVtaXRQdXNoSW50KG5vZGUsIHRoaXMucHJvcGVydHkpO1xuICAgICAgLy8gW2ZhcnIsICdjYWxsJywgb2JqZWN0VmFsLCBvYmplY3RWYWxdXG4gICAgICBzYi5lbWl0T3Aobm9kZSwgJ1JPVCcpO1xuICAgICAgLy8gW29iamVjdFZhbF1cbiAgICAgIHNiLmVtaXRIZWxwZXIobm9kZSwgb3B0aW9ucywgc2IuaGVscGVycy5zZXRJbnRlcm5hbE9iamVjdFByb3BlcnR5KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==