@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
24 lines (22 loc) • 3.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const StructuredStorageBaseHelper_1 = require("./StructuredStorageBaseHelper");
class ForEachKeyStructuredStorageHelper extends StructuredStorageBaseHelper_1.StructuredStorageBaseHelper {
constructor(_a) {
var { each } = _a, rest = tslib_1.__rest(_a, ["each"]);
super(rest);
this.each = each;
}
emit(sb, node, options) {
sb.emitHelper(node, options, sb.helpers.forEachStructuredStorage({
type: this.type,
each: (innerOptions) => {
sb.emitOp(node, 'NIP');
this.each(sb.noPushValueOptions(innerOptions));
},
}));
}
}
exports.ForEachKeyStructuredStorageHelper = ForEachKeyStructuredStorageHelper;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZvckVhY2hLZXlTdHJ1Y3R1cmVkU3RvcmFnZUhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSwrRUFBZ0g7QUFRaEgsTUFBYSxpQ0FBa0MsU0FBUSx5REFBMkI7SUFHaEYsWUFBbUIsRUFBMkQ7WUFBM0QsRUFBRSxJQUFJLE9BQXFELEVBQW5ELG1DQUFPO1FBQ2hDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFTSxJQUFJLENBQUMsRUFBaUIsRUFBRSxJQUFhLEVBQUUsT0FBcUI7UUFFakUsRUFBRSxDQUFDLFVBQVUsQ0FDWCxJQUFJLEVBQ0osT0FBTyxFQUNQLEVBQUUsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUM7WUFDbEMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsSUFBSSxFQUFFLENBQUMsWUFBWSxFQUFFLEVBQUU7Z0JBRXJCLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUV2QixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQ2pELENBQUM7U0FDRixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXhCRCw4RUF3QkMiLCJmaWxlIjoibmVvLW9uZS1zbWFydC1jb250cmFjdC1jb21waWxlci9zcmMvY29tcGlsZS9oZWxwZXIvc3RvcmFnZS9Gb3JFYWNoS2V5U3RydWN0dXJlZFN0b3JhZ2VIZWxwZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBTY3JpcHRCdWlsZGVyIH0gZnJvbSAnLi4vLi4vc2InO1xuaW1wb3J0IHsgVmlzaXRPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgU3RydWN0dXJlZFN0b3JhZ2VCYXNlSGVscGVyLCBTdHJ1Y3R1cmVkU3RvcmFnZUJhc2VIZWxwZXJPcHRpb25zIH0gZnJvbSAnLi9TdHJ1Y3R1cmVkU3RvcmFnZUJhc2VIZWxwZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvckVhY2hLZXlTdHJ1Y3R1cmVkU3RvcmFnZUhlbHBlck9wdGlvbnMgZXh0ZW5kcyBTdHJ1Y3R1cmVkU3RvcmFnZUJhc2VIZWxwZXJPcHRpb25zIHtcbiAgcmVhZG9ubHkgZWFjaDogKG9wdGlvbnM6IFZpc2l0T3B0aW9ucykgPT4gdm9pZDtcbn1cblxuLy8gSW5wdXQ6IFt2YWxdXG4vLyBPdXRwdXQ6IFt2YWxdXG5leHBvcnQgY2xhc3MgRm9yRWFjaEtleVN0cnVjdHVyZWRTdG9yYWdlSGVscGVyIGV4dGVuZHMgU3RydWN0dXJlZFN0b3JhZ2VCYXNlSGVscGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBlYWNoOiAob3B0aW9uczogVmlzaXRPcHRpb25zKSA9PiB2b2lkO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih7IGVhY2gsIC4uLnJlc3QgfTogRm9yRWFjaEtleVN0cnVjdHVyZWRTdG9yYWdlSGVscGVyT3B0aW9ucykge1xuICAgIHN1cGVyKHJlc3QpO1xuICAgIHRoaXMuZWFjaCA9IGVhY2g7XG4gIH1cblxuICBwdWJsaWMgZW1pdChzYjogU2NyaXB0QnVpbGRlciwgbm9kZTogdHMuTm9kZSwgb3B0aW9uczogVmlzaXRPcHRpb25zKTogdm9pZCB7XG4gICAgLy8gW11cbiAgICBzYi5lbWl0SGVscGVyKFxuICAgICAgbm9kZSxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBzYi5oZWxwZXJzLmZvckVhY2hTdHJ1Y3R1cmVkU3RvcmFnZSh7XG4gICAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgICAgZWFjaDogKGlubmVyT3B0aW9ucykgPT4ge1xuICAgICAgICAgIC8vIFtrZXlWYWxdXG4gICAgICAgICAgc2IuZW1pdE9wKG5vZGUsICdOSVAnKTtcbiAgICAgICAgICAvLyBbXVxuICAgICAgICAgIHRoaXMuZWFjaChzYi5ub1B1c2hWYWx1ZU9wdGlvbnMoaW5uZXJPcHRpb25zKSk7XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0=