@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
22 lines (20 loc) • 3.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const Helper_1 = require("../../Helper");
class OmitObjectPropertiesHelperBase extends Helper_1.Helper {
emit(sb, node, options) {
const objectValName = sb.scope.addUnique();
sb.emitOp(node, 'SWAP');
sb.scope.set(sb, node, options, objectValName);
sb.emitHelper(node, options, sb.helpers.arrForEach({
each: () => {
sb.scope.get(sb, node, options, objectValName);
sb.emitHelper(node, options, this.getObject(sb));
sb.emitOp(node, 'SWAP');
sb.emitOp(node, 'REMOVE');
},
}));
}
}
exports.OmitObjectPropertiesHelperBase = OmitObjectPropertiesHelperBase;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk9taXRPYmplY3RQcm9wZXJ0aWVzSGVscGVyQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUlBLHlDQUFzQztBQUl0QyxNQUFzQiw4QkFBK0IsU0FBUSxlQUFNO0lBQzFELElBQUksQ0FBQyxFQUFpQixFQUFFLElBQWEsRUFBRSxPQUFxQjtRQUNqRSxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRTNDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXhCLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRS9DLEVBQUUsQ0FBQyxVQUFVLENBQ1gsSUFBSSxFQUNKLE9BQU8sRUFDUCxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztZQUNwQixJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUVULEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO2dCQUUvQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUVqRCxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFFeEIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDNUIsQ0FBQztTQUNGLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztDQUdGO0FBM0JELHdFQTJCQyIsImZpbGUiOiJuZW8tb25lLXNtYXJ0LWNvbnRyYWN0LWNvbXBpbGVyL3NyYy9jb21waWxlL2hlbHBlci90eXBlcy9vYmplY3QvT21pdE9iamVjdFByb3BlcnRpZXNIZWxwZXJCYXNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQgeyBTY3JpcHRCdWlsZGVyIH0gZnJvbSAnLi4vLi4vLi4vc2InO1xuaW1wb3J0IHsgVmlzaXRPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgSGVscGVyIH0gZnJvbSAnLi4vLi4vSGVscGVyJztcblxuLy8gSW5wdXQ6IFtzdHJpbmdBcnIsIG9iamVjdFZhbF1cbi8vIE91dHB1dDogW11cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPbWl0T2JqZWN0UHJvcGVydGllc0hlbHBlckJhc2UgZXh0ZW5kcyBIZWxwZXIge1xuICBwdWJsaWMgZW1pdChzYjogU2NyaXB0QnVpbGRlciwgbm9kZTogdHMuTm9kZSwgb3B0aW9uczogVmlzaXRPcHRpb25zKTogdm9pZCB7XG4gICAgY29uc3Qgb2JqZWN0VmFsTmFtZSA9IHNiLnNjb3BlLmFkZFVuaXF1ZSgpO1xuICAgIC8vIFtvYmplY3RWYWwsIHN0cmluZ0Fycl1cbiAgICBzYi5lbWl0T3Aobm9kZSwgJ1NXQVAnKTtcbiAgICAvLyBbc3RyaW5nQXJyXVxuICAgIHNiLnNjb3BlLnNldChzYiwgbm9kZSwgb3B0aW9ucywgb2JqZWN0VmFsTmFtZSk7XG5cbiAgICBzYi5lbWl0SGVscGVyKFxuICAgICAgbm9kZSxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBzYi5oZWxwZXJzLmFyckZvckVhY2goe1xuICAgICAgICBlYWNoOiAoKSA9PiB7XG4gICAgICAgICAgLy8gW29iamVjdFZhbCwgc3RyaW5nXVxuICAgICAgICAgIHNiLnNjb3BlLmdldChzYiwgbm9kZSwgb3B0aW9ucywgb2JqZWN0VmFsTmFtZSk7XG4gICAgICAgICAgLy8gW29iaiwgc3RyaW5nXVxuICAgICAgICAgIHNiLmVtaXRIZWxwZXIobm9kZSwgb3B0aW9ucywgdGhpcy5nZXRPYmplY3Qoc2IpKTtcbiAgICAgICAgICAvLyBbc3RyaW5nLCBvYmpdXG4gICAgICAgICAgc2IuZW1pdE9wKG5vZGUsICdTV0FQJyk7XG4gICAgICAgICAgLy8gW11cbiAgICAgICAgICBzYi5lbWl0T3Aobm9kZSwgJ1JFTU9WRScpO1xuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRPYmplY3Qoc2I6IFNjcmlwdEJ1aWxkZXIpOiBIZWxwZXI7XG59XG4iXX0=