@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
22 lines (20 loc) • 3.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const StructuredStorageBaseHelper_1 = require("./StructuredStorageBaseHelper");
class StructuredStorageReduceBaseHelper extends StructuredStorageBaseHelper_1.StructuredStorageBaseHelper {
constructor(_a) {
var { each } = _a, rest = tslib_1.__rest(_a, ["each"]);
super(rest);
this.each = each;
}
emit(sb, node, optionsIn) {
const options = sb.pushValueOptions(optionsIn);
sb.emitOp(node, 'SWAP');
sb.emitHelper(node, options, sb.helpers.createIteratorStructuredStorage({ type: this.type }));
sb.emitOp(node, 'SWAP');
sb.emitHelper(node, optionsIn, sb.helpers.rawIteratorReduceBase({ each: this.each }));
}
}
exports.StructuredStorageReduceBaseHelper = StructuredStorageReduceBaseHelper;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlN0cnVjdHVyZWRTdG9yYWdlUmVkdWNlQmFzZUhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSwrRUFBZ0g7QUFRaEgsTUFBYSxpQ0FBa0MsU0FBUSx5REFBMkI7SUFHaEYsWUFBbUIsRUFBMkQ7WUFBM0QsRUFBRSxJQUFJLE9BQXFELEVBQW5ELG1DQUFPO1FBQ2hDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFTSxJQUFJLENBQUMsRUFBaUIsRUFBRSxJQUFhLEVBQUUsU0FBdUI7UUFDbkUsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRy9DLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXhCLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLCtCQUErQixDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFOUYsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFeEIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0NBQ0Y7QUFwQkQsOEVBb0JDIiwiZmlsZSI6Im5lby1vbmUtc21hcnQtY29udHJhY3QtY29tcGlsZXIvc3JjL2NvbXBpbGUvaGVscGVyL3N0b3JhZ2UvU3RydWN0dXJlZFN0b3JhZ2VSZWR1Y2VCYXNlSGVscGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHsgU2NyaXB0QnVpbGRlciB9IGZyb20gJy4uLy4uL3NiJztcbmltcG9ydCB7IFZpc2l0T3B0aW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IFN0cnVjdHVyZWRTdG9yYWdlQmFzZUhlbHBlciwgU3RydWN0dXJlZFN0b3JhZ2VCYXNlSGVscGVyT3B0aW9ucyB9IGZyb20gJy4vU3RydWN0dXJlZFN0b3JhZ2VCYXNlSGVscGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBTdHJ1Y3R1cmVkU3RvcmFnZVJlZHVjZUJhc2VIZWxwZXJPcHRpb25zIGV4dGVuZHMgU3RydWN0dXJlZFN0b3JhZ2VCYXNlSGVscGVyT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGVhY2g6IChvcHRpb25zOiBWaXNpdE9wdGlvbnMpID0+IHZvaWQ7XG59XG5cbi8vIElucHV0OiBbYWNjdW0sIHZhbF1cbi8vIE91dHB1dDogW2FjY3VtXVxuZXhwb3J0IGNsYXNzIFN0cnVjdHVyZWRTdG9yYWdlUmVkdWNlQmFzZUhlbHBlciBleHRlbmRzIFN0cnVjdHVyZWRTdG9yYWdlQmFzZUhlbHBlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWFjaDogKG9wdGlvbnM6IFZpc2l0T3B0aW9ucykgPT4gdm9pZDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoeyBlYWNoLCAuLi5yZXN0IH06IFN0cnVjdHVyZWRTdG9yYWdlUmVkdWNlQmFzZUhlbHBlck9wdGlvbnMpIHtcbiAgICBzdXBlcihyZXN0KTtcbiAgICB0aGlzLmVhY2ggPSBlYWNoO1xuICB9XG5cbiAgcHVibGljIGVtaXQoc2I6IFNjcmlwdEJ1aWxkZXIsIG5vZGU6IHRzLk5vZGUsIG9wdGlvbnNJbjogVmlzaXRPcHRpb25zKTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHNiLnB1c2hWYWx1ZU9wdGlvbnMob3B0aW9uc0luKTtcblxuICAgIC8vIFt2YWwsIGFjY3VtXVxuICAgIHNiLmVtaXRPcChub2RlLCAnU1dBUCcpO1xuICAgIC8vIFtpdGVyYXRvciwgYWNjdW1dXG4gICAgc2IuZW1pdEhlbHBlcihub2RlLCBvcHRpb25zLCBzYi5oZWxwZXJzLmNyZWF0ZUl0ZXJhdG9yU3RydWN0dXJlZFN0b3JhZ2UoeyB0eXBlOiB0aGlzLnR5cGUgfSkpO1xuICAgIC8vIFthY2N1bSwgaXRlcmF0b3JdXG4gICAgc2IuZW1pdE9wKG5vZGUsICdTV0FQJyk7XG4gICAgLy8gW2FjY3VtXVxuICAgIHNiLmVtaXRIZWxwZXIobm9kZSwgb3B0aW9uc0luLCBzYi5oZWxwZXJzLnJhd0l0ZXJhdG9yUmVkdWNlQmFzZSh7IGVhY2g6IHRoaXMuZWFjaCB9KSk7XG4gIH1cbn1cbiJdfQ==