@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
30 lines (28 loc) • 4.49 kB
JavaScript
;
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