UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

19 lines (17 loc) 2.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Helper_1 = require("../Helper"); class IsHelper extends Helper_1.Helper { emit(sb, node, options) { if (!options.pushValue) { sb.emitOp(node, 'DROP'); return; } sb.emitPushInt(node, 0); sb.emitOp(node, 'PICKITEM'); sb.emitPushInt(node, this.type); sb.emitOp(node, 'NUMEQUAL'); } } exports.IsHelper = IsHelper; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIklzSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsc0NBQW1DO0FBSW5DLE1BQXNCLFFBQVMsU0FBUSxlQUFNO0lBR3BDLElBQUksQ0FBQyxFQUFpQixFQUFFLElBQWEsRUFBRSxPQUFxQjtRQUNqRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUN0QixFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUV4QixPQUFPO1NBQ1I7UUFHRCxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUV4QixFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUU1QixFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFaEMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNGO0FBbkJELDRCQW1CQyIsImZpbGUiOiJuZW8tb25lLXNtYXJ0LWNvbnRyYWN0LWNvbXBpbGVyL3NyYy9jb21waWxlL2hlbHBlci90eXBlcy9Jc0hlbHBlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7IFR5cGVzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFNjcmlwdEJ1aWxkZXIgfSBmcm9tICcuLi8uLi9zYic7XG5pbXBvcnQgeyBWaXNpdE9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBIZWxwZXIgfSBmcm9tICcuLi9IZWxwZXInO1xuXG4vLyBJbnB1dDogW3ZhbF1cbi8vIE91dHB1dDogW2Jvb2xlYW5dXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSXNIZWxwZXIgZXh0ZW5kcyBIZWxwZXIge1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgdHlwZTogVHlwZXM7XG5cbiAgcHVibGljIGVtaXQoc2I6IFNjcmlwdEJ1aWxkZXIsIG5vZGU6IHRzLk5vZGUsIG9wdGlvbnM6IFZpc2l0T3B0aW9ucyk6IHZvaWQge1xuICAgIGlmICghb3B0aW9ucy5wdXNoVmFsdWUpIHtcbiAgICAgIHNiLmVtaXRPcChub2RlLCAnRFJPUCcpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gWzAsIHZhbHVlXVxuICAgIHNiLmVtaXRQdXNoSW50KG5vZGUsIDApO1xuICAgIC8vIFt0eXBlXVxuICAgIHNiLmVtaXRPcChub2RlLCAnUElDS0lURU0nKTtcbiAgICAvLyBbdHlwZSwgdHlwZV1cbiAgICBzYi5lbWl0UHVzaEludChub2RlLCB0aGlzLnR5cGUpO1xuICAgIC8vIFtpc1R5cGVdXG4gICAgc2IuZW1pdE9wKG5vZGUsICdOVU1FUVVBTCcpO1xuICB9XG59XG4iXX0=