UNPKG

@neo-one/smart-contract-compiler-esnext-esm

Version:

NEO•ONE TypeScript smart contract compiler.

25 lines (23 loc) 1.12 kB
import { tsUtils } from '@neo-one/ts-utils-esnext-esm'; import { Types } from '../../constants'; import { IsHelper } from './IsHelper'; import { UnwrapHelper } from './UnwrapHelper'; import { WrapHelper } from './WrapHelper'; export class UnwrapIterableIteratorHelper extends UnwrapHelper { } export class WrapIterableIteratorHelper extends WrapHelper { constructor() { super(...arguments); this.type = Types.IterableIterator; } } export class IsIterableIteratorHelper extends IsHelper { constructor() { super(...arguments); this.type = Types.IterableIterator; } } export const hasIterableIterator = (context, node, type) => tsUtils.type_.hasType(type, (tpe) => isIterableIterator(context, node, tpe)); export const isOnlyIterableIterator = (context, node, type) => tsUtils.type_.isOnlyType(type, (tpe) => isIterableIterator(context, node, tpe)); export const isIterableIterator = (context, node, type) => context.builtins.isInterface(node, type, 'IterableIterator') || context.builtins.isInterface(node, type, 'Iterator'); //# sourceMappingURL=iterableIterator.js.map