@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
23 lines (21 loc) • 3.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const Helper_1 = require("../Helper");
class RawEnumeratorReduceHelper extends Helper_1.Helper {
constructor(options) {
super();
this.each = options.each;
}
emit(sb, node, options) {
sb.emitHelper(node, options, sb.helpers.rawIteratorReduceBase({
each: (innerOptions) => {
sb.emitOp(node, 'SWAP');
sb.emitSysCall(node, 'Neo.Enumerator.Value');
sb.emitOp(node, 'SWAP');
this.each(innerOptions);
},
}));
}
}
exports.RawEnumeratorReduceHelper = RawEnumeratorReduceHelper;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJhd0VudW1lcmF0b3JSZWR1Y2VIZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSxzQ0FBbUM7QUFRbkMsTUFBYSx5QkFBMEIsU0FBUSxlQUFNO0lBR25ELFlBQW1CLE9BQXlDO1FBQzFELEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFTSxJQUFJLENBQUMsRUFBaUIsRUFBRSxJQUFhLEVBQUUsT0FBcUI7UUFDakUsRUFBRSxDQUFDLFVBQVUsQ0FDWCxJQUFJLEVBQ0osT0FBTyxFQUNQLEVBQUUsQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUM7WUFDL0IsSUFBSSxFQUFFLENBQUMsWUFBWSxFQUFFLEVBQUU7Z0JBRXJCLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUV4QixFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO2dCQUU3QyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFFeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMxQixDQUFDO1NBQ0YsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0NBQ0Y7QUExQkQsOERBMEJDIiwiZmlsZSI6Im5lby1vbmUtc21hcnQtY29udHJhY3QtY29tcGlsZXIvc3JjL2NvbXBpbGUvaGVscGVyL2l0ZXJhdG9yL1Jhd0VudW1lcmF0b3JSZWR1Y2VIZWxwZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBTY3JpcHRCdWlsZGVyIH0gZnJvbSAnLi4vLi4vc2InO1xuaW1wb3J0IHsgVmlzaXRPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgSGVscGVyIH0gZnJvbSAnLi4vSGVscGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBSYXdFbnVtZXJhdG9yUmVkdWNlSGVscGVyT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGVhY2g6IChvcHRpb25zOiBWaXNpdE9wdGlvbnMpID0+IHZvaWQ7XG59XG5cbi8vIElucHV0OiBbYWNjdW0sIGl0ZXJhdG9yXVxuLy8gT3V0cHV0OiBbYWNjdW1dXG5leHBvcnQgY2xhc3MgUmF3RW51bWVyYXRvclJlZHVjZUhlbHBlciBleHRlbmRzIEhlbHBlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWFjaDogKG9wdGlvbnM6IFZpc2l0T3B0aW9ucykgPT4gdm9pZDtcblxuICBwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogUmF3RW51bWVyYXRvclJlZHVjZUhlbHBlck9wdGlvbnMpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZWFjaCA9IG9wdGlvbnMuZWFjaDtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0KHNiOiBTY3JpcHRCdWlsZGVyLCBub2RlOiB0cy5Ob2RlLCBvcHRpb25zOiBWaXNpdE9wdGlvbnMpOiB2b2lkIHtcbiAgICBzYi5lbWl0SGVscGVyKFxuICAgICAgbm9kZSxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBzYi5oZWxwZXJzLnJhd0l0ZXJhdG9yUmVkdWNlQmFzZSh7XG4gICAgICAgIGVhY2g6IChpbm5lck9wdGlvbnMpID0+IHtcbiAgICAgICAgICAvLyBbZW51bWVyYXRvciwgYWNjdW1dXG4gICAgICAgICAgc2IuZW1pdE9wKG5vZGUsICdTV0FQJyk7XG4gICAgICAgICAgLy8gW3ZhbHVlLCBhY2N1bV1cbiAgICAgICAgICBzYi5lbWl0U3lzQ2FsbChub2RlLCAnTmVvLkVudW1lcmF0b3IuVmFsdWUnKTtcbiAgICAgICAgICAvLyBbYWNjdW0sIHZhbHVlXVxuICAgICAgICAgIHNiLmVtaXRPcChub2RlLCAnU1dBUCcpO1xuICAgICAgICAgIC8vIFthY2N1bV1cbiAgICAgICAgICB0aGlzLmVhY2goaW5uZXJPcHRpb25zKTtcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==