UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

30 lines (28 loc) 4.49 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 UnwrapIterableIteratorHelper extends UnwrapHelper_1.UnwrapHelper { } exports.UnwrapIterableIteratorHelper = UnwrapIterableIteratorHelper; class WrapIterableIteratorHelper extends WrapHelper_1.WrapHelper { constructor() { super(...arguments); this.type = constants_1.Types.IterableIterator; } } exports.WrapIterableIteratorHelper = WrapIterableIteratorHelper; class IsIterableIteratorHelper extends IsHelper_1.IsHelper { constructor() { super(...arguments); this.type = constants_1.Types.IterableIterator; } } exports.IsIterableIteratorHelper = IsIterableIteratorHelper; exports.hasIterableIterator = (context, node, type) => ts_utils_1.tsUtils.type_.hasType(type, (tpe) => exports.isIterableIterator(context, node, tpe)); exports.isOnlyIterableIterator = (context, node, type) => ts_utils_1.tsUtils.type_.isOnlyType(type, (tpe) => exports.isIterableIterator(context, node, tpe)); exports.isIterableIterator = (context, node, type) => context.builtins.isInterface(node, type, 'IterableIterator') || context.builtins.isInterface(node, type, 'Iterator'); //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIml0ZXJhYmxlSXRlcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxnREFBNEM7QUFHNUMsK0NBQXdDO0FBQ3hDLHlDQUFzQztBQUN0QyxpREFBOEM7QUFDOUMsNkNBQTBDO0FBRTFDLE1BQWEsNEJBQTZCLFNBQVEsMkJBQVk7Q0FBRztBQUFqRSxvRUFBaUU7QUFDakUsTUFBYSwwQkFBMkIsU0FBUSx1QkFBVTtJQUExRDs7UUFDcUIsU0FBSSxHQUFHLGlCQUFLLENBQUMsZ0JBQWdCLENBQUM7SUFDbkQsQ0FBQztDQUFBO0FBRkQsZ0VBRUM7QUFDRCxNQUFhLHdCQUF5QixTQUFRLG1CQUFRO0lBQXREOztRQUNxQixTQUFJLEdBQUcsaUJBQUssQ0FBQyxnQkFBZ0IsQ0FBQztJQUNuRCxDQUFDO0NBQUE7QUFGRCw0REFFQztBQUVZLFFBQUEsbUJBQW1CLEdBQUcsQ0FBQyxPQUFnQixFQUFFLElBQWEsRUFBRSxJQUFhLEVBQVcsRUFBRSxDQUM3RixrQkFBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQywwQkFBa0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFbEUsUUFBQSxzQkFBc0IsR0FBRyxDQUFDLE9BQWdCLEVBQUUsSUFBYSxFQUFFLElBQWEsRUFBVyxFQUFFLENBQ2hHLGtCQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLDBCQUFrQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUVyRSxRQUFBLGtCQUFrQixHQUFHLENBQUMsT0FBZ0IsRUFBRSxJQUFhLEVBQUUsSUFBYSxFQUFXLEVBQUUsQ0FDNUYsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMiLCJmaWxlIjoibmVvLW9uZS1zbWFydC1jb250cmFjdC1jb21waWxlci9zcmMvY29tcGlsZS9oZWxwZXIvdHlwZXMvaXRlcmFibGVJdGVyYXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRzVXRpbHMgfSBmcm9tICdAbmVvLW9uZS90cy11dGlscyc7XG5pbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vQ29udGV4dCc7XG5pbXBvcnQgeyBUeXBlcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBJc0hlbHBlciB9IGZyb20gJy4vSXNIZWxwZXInO1xuaW1wb3J0IHsgVW53cmFwSGVscGVyIH0gZnJvbSAnLi9VbndyYXBIZWxwZXInO1xuaW1wb3J0IHsgV3JhcEhlbHBlciB9IGZyb20gJy4vV3JhcEhlbHBlcic7XG5cbmV4cG9ydCBjbGFzcyBVbndyYXBJdGVyYWJsZUl0ZXJhdG9ySGVscGVyIGV4dGVuZHMgVW53cmFwSGVscGVyIHt9XG5leHBvcnQgY2xhc3MgV3JhcEl0ZXJhYmxlSXRlcmF0b3JIZWxwZXIgZXh0ZW5kcyBXcmFwSGVscGVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHR5cGUgPSBUeXBlcy5JdGVyYWJsZUl0ZXJhdG9yO1xufVxuZXhwb3J0IGNsYXNzIElzSXRlcmFibGVJdGVyYXRvckhlbHBlciBleHRlbmRzIElzSGVscGVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHR5cGUgPSBUeXBlcy5JdGVyYWJsZUl0ZXJhdG9yO1xufVxuXG5leHBvcnQgY29uc3QgaGFzSXRlcmFibGVJdGVyYXRvciA9IChjb250ZXh0OiBDb250ZXh0LCBub2RlOiB0cy5Ob2RlLCB0eXBlOiB0cy5UeXBlKTogYm9vbGVhbiA9PlxuICB0c1V0aWxzLnR5cGVfLmhhc1R5cGUodHlwZSwgKHRwZSkgPT4gaXNJdGVyYWJsZUl0ZXJhdG9yKGNvbnRleHQsIG5vZGUsIHRwZSkpO1xuXG5leHBvcnQgY29uc3QgaXNPbmx5SXRlcmFibGVJdGVyYXRvciA9IChjb250ZXh0OiBDb250ZXh0LCBub2RlOiB0cy5Ob2RlLCB0eXBlOiB0cy5UeXBlKTogYm9vbGVhbiA9PlxuICB0c1V0aWxzLnR5cGVfLmlzT25seVR5cGUodHlwZSwgKHRwZSkgPT4gaXNJdGVyYWJsZUl0ZXJhdG9yKGNvbnRleHQsIG5vZGUsIHRwZSkpO1xuXG5leHBvcnQgY29uc3QgaXNJdGVyYWJsZUl0ZXJhdG9yID0gKGNvbnRleHQ6IENvbnRleHQsIG5vZGU6IHRzLk5vZGUsIHR5cGU6IHRzLlR5cGUpOiBib29sZWFuID0+XG4gIGNvbnRleHQuYnVpbHRpbnMuaXNJbnRlcmZhY2Uobm9kZSwgdHlwZSwgJ0l0ZXJhYmxlSXRlcmF0b3InKSB8fCBjb250ZXh0LmJ1aWx0aW5zLmlzSW50ZXJmYWNlKG5vZGUsIHR5cGUsICdJdGVyYXRvcicpO1xuIl19