@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
35 lines (34 loc) • 1.32 kB
TypeScript
import ts from 'typescript';
import { IterableTypes } from '../../constants';
import { ScriptBuilder } from '../../sb';
import { VisitOptions } from '../../types';
import { Helper } from '../Helper';
declare type ProcessType = (options: VisitOptions) => void;
export interface ForIterableTypeHelperOptions {
readonly type?: ts.Type;
readonly knownType?: IterableTypes;
readonly array: ProcessType;
readonly map: ProcessType;
readonly set: ProcessType;
readonly arrayStorage: ProcessType;
readonly mapStorage: ProcessType;
readonly setStorage: ProcessType;
readonly iterableIterator: ProcessType;
readonly defaultCase?: ProcessType;
}
export declare class ForIterableTypeHelper extends Helper {
private readonly type?;
private readonly knownType?;
private readonly array;
private readonly map;
private readonly set;
private readonly arrayStorage;
private readonly mapStorage;
private readonly setStorage;
private readonly iterableIterator;
private readonly defaultCase?;
constructor({ type, knownType, array, map, set, arrayStorage, mapStorage, setStorage, iterableIterator, defaultCase, }: ForIterableTypeHelperOptions);
emit(sb: ScriptBuilder, node: ts.Node, options: VisitOptions): void;
private processKnownType;
}
export {};