UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

30 lines (28 loc) 4.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ts_utils_1 = require("@neo-one/ts-utils"); const constants_1 = require("../../constants"); const IsHelper_1 = require("./IsHelper"); const UnwrapHelper_1 = require("./UnwrapHelper"); const WrapHelper_1 = require("./WrapHelper"); class UnwrapIteratorResultHelper extends UnwrapHelper_1.UnwrapHelper { } exports.UnwrapIteratorResultHelper = UnwrapIteratorResultHelper; class WrapIteratorResultHelper extends WrapHelper_1.WrapHelper { constructor() { super(...arguments); this.type = constants_1.Types.IteratorResult; } } exports.WrapIteratorResultHelper = WrapIteratorResultHelper; class IsIteratorResultHelper extends IsHelper_1.IsHelper { constructor() { super(...arguments); this.type = constants_1.Types.IteratorResult; } } exports.IsIteratorResultHelper = IsIteratorResultHelper; exports.hasIteratorResult = (context, node, type) => ts_utils_1.tsUtils.type_.hasType(type, (tpe) => exports.isIteratorResult(context, node, tpe)); exports.isOnlyIteratorResult = (context, node, type) => ts_utils_1.tsUtils.type_.isOnlyType(type, (tpe) => exports.isIteratorResult(context, node, tpe)); exports.isIteratorResult = (context, node, type) => context.builtins.isInterface(node, type, 'IteratorResult'); //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIml0ZXJhdG9yUmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsZ0RBQTRDO0FBRzVDLCtDQUF3QztBQUN4Qyx5Q0FBc0M7QUFDdEMsaURBQThDO0FBQzlDLDZDQUEwQztBQUUxQyxNQUFhLDBCQUEyQixTQUFRLDJCQUFZO0NBQUc7QUFBL0QsZ0VBQStEO0FBQy9ELE1BQWEsd0JBQXlCLFNBQVEsdUJBQVU7SUFBeEQ7O1FBQ3FCLFNBQUksR0FBRyxpQkFBSyxDQUFDLGNBQWMsQ0FBQztJQUNqRCxDQUFDO0NBQUE7QUFGRCw0REFFQztBQUNELE1BQWEsc0JBQXVCLFNBQVEsbUJBQVE7SUFBcEQ7O1FBQ3FCLFNBQUksR0FBRyxpQkFBSyxDQUFDLGNBQWMsQ0FBQztJQUNqRCxDQUFDO0NBQUE7QUFGRCx3REFFQztBQUVZLFFBQUEsaUJBQWlCLEdBQUcsQ0FBQyxPQUFnQixFQUFFLElBQWEsRUFBRSxJQUFhLEVBQVcsRUFBRSxDQUMzRixrQkFBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyx3QkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFaEUsUUFBQSxvQkFBb0IsR0FBRyxDQUFDLE9BQWdCLEVBQUUsSUFBYSxFQUFFLElBQWEsRUFBVyxFQUFFLENBQzlGLGtCQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLHdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUVuRSxRQUFBLGdCQUFnQixHQUFHLENBQUMsT0FBZ0IsRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFXLEVBQUUsQ0FDMUYsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDIiwiZmlsZSI6Im5lby1vbmUtc21hcnQtY29udHJhY3QtY29tcGlsZXIvc3JjL2NvbXBpbGUvaGVscGVyL3R5cGVzL2l0ZXJhdG9yUmVzdWx0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHNVdGlscyB9IGZyb20gJ0BuZW8tb25lL3RzLXV0aWxzJztcbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9Db250ZXh0JztcbmltcG9ydCB7IFR5cGVzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IElzSGVscGVyIH0gZnJvbSAnLi9Jc0hlbHBlcic7XG5pbXBvcnQgeyBVbndyYXBIZWxwZXIgfSBmcm9tICcuL1Vud3JhcEhlbHBlcic7XG5pbXBvcnQgeyBXcmFwSGVscGVyIH0gZnJvbSAnLi9XcmFwSGVscGVyJztcblxuZXhwb3J0IGNsYXNzIFVud3JhcEl0ZXJhdG9yUmVzdWx0SGVscGVyIGV4dGVuZHMgVW53cmFwSGVscGVyIHt9XG5leHBvcnQgY2xhc3MgV3JhcEl0ZXJhdG9yUmVzdWx0SGVscGVyIGV4dGVuZHMgV3JhcEhlbHBlciB7XG4gIHByb3RlY3RlZCByZWFkb25seSB0eXBlID0gVHlwZXMuSXRlcmF0b3JSZXN1bHQ7XG59XG5leHBvcnQgY2xhc3MgSXNJdGVyYXRvclJlc3VsdEhlbHBlciBleHRlbmRzIElzSGVscGVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHR5cGUgPSBUeXBlcy5JdGVyYXRvclJlc3VsdDtcbn1cblxuZXhwb3J0IGNvbnN0IGhhc0l0ZXJhdG9yUmVzdWx0ID0gKGNvbnRleHQ6IENvbnRleHQsIG5vZGU6IHRzLk5vZGUsIHR5cGU6IHRzLlR5cGUpOiBib29sZWFuID0+XG4gIHRzVXRpbHMudHlwZV8uaGFzVHlwZSh0eXBlLCAodHBlKSA9PiBpc0l0ZXJhdG9yUmVzdWx0KGNvbnRleHQsIG5vZGUsIHRwZSkpO1xuXG5leHBvcnQgY29uc3QgaXNPbmx5SXRlcmF0b3JSZXN1bHQgPSAoY29udGV4dDogQ29udGV4dCwgbm9kZTogdHMuTm9kZSwgdHlwZTogdHMuVHlwZSk6IGJvb2xlYW4gPT5cbiAgdHNVdGlscy50eXBlXy5pc09ubHlUeXBlKHR5cGUsICh0cGUpID0+IGlzSXRlcmF0b3JSZXN1bHQoY29udGV4dCwgbm9kZSwgdHBlKSk7XG5cbmV4cG9ydCBjb25zdCBpc0l0ZXJhdG9yUmVzdWx0ID0gKGNvbnRleHQ6IENvbnRleHQsIG5vZGU6IHRzLk5vZGUsIHR5cGU6IHRzLlR5cGUpOiBib29sZWFuID0+XG4gIGNvbnRleHQuYnVpbHRpbnMuaXNJbnRlcmZhY2Uobm9kZSwgdHlwZSwgJ0l0ZXJhdG9yUmVzdWx0Jyk7XG4iXX0=