@neo-one/smart-contract-compiler-esnext-esm
Version:
NEO•ONE TypeScript smart contract compiler.
25 lines (23 loc) • 1.12 kB
JavaScript
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