@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
83 lines (82 loc) • 3.2 kB
TypeScript
import ts from 'typescript';
import { Types } from '../../constants';
import { ScriptBuilder } from '../../sb';
import { VisitOptions } from '../../types';
import { Helper } from '../Helper';
declare type ProcessType = (options: VisitOptions) => void;
export interface ForBuiltinTypeHelperOptions {
readonly type: ts.Type | undefined;
readonly knownType?: Types;
readonly single?: boolean;
readonly singleUndefined?: ProcessType;
readonly singleFalse?: ProcessType;
readonly optional?: boolean;
readonly array: ProcessType;
readonly map: ProcessType;
readonly set: ProcessType;
readonly boolean: ProcessType;
readonly buffer: ProcessType;
readonly null: ProcessType;
readonly number: ProcessType;
readonly object: ProcessType;
readonly string: ProcessType;
readonly symbol: ProcessType;
readonly undefined: ProcessType;
readonly arrayStorage: ProcessType;
readonly mapStorage: ProcessType;
readonly setStorage: ProcessType;
readonly error: ProcessType;
readonly iteratorResult: ProcessType;
readonly iterable: ProcessType;
readonly iterableIterator: ProcessType;
readonly transaction: ProcessType;
readonly output: ProcessType;
readonly attribute: ProcessType;
readonly input: ProcessType;
readonly account: ProcessType;
readonly asset: ProcessType;
readonly contract: ProcessType;
readonly header: ProcessType;
readonly block: ProcessType;
readonly forwardValue: ProcessType;
}
export declare class ForBuiltinTypeHelper extends Helper {
private readonly type;
private readonly knownType?;
private readonly single?;
private readonly singleUndefined?;
private readonly singleFalse?;
private readonly optional?;
private readonly array;
private readonly map;
private readonly set;
private readonly boolean;
private readonly buffer;
private readonly null;
private readonly number;
private readonly object;
private readonly string;
private readonly symbol;
private readonly undefined;
private readonly arrayStorage;
private readonly mapStorage;
private readonly setStorage;
private readonly error;
private readonly iteratorResult;
private readonly iterable;
private readonly iterableIterator;
private readonly transaction;
private readonly output;
private readonly attribute;
private readonly input;
private readonly account;
private readonly asset;
private readonly contract;
private readonly header;
private readonly block;
private readonly forwardValue;
constructor({ type, knownType, single, singleUndefined, singleFalse, optional, array, map, set, boolean: processBoolean, buffer, null: processNull, number: processNumber, object, string: processString, symbol, undefined: processUndefined, arrayStorage, mapStorage, setStorage, error, iteratorResult, iterable, iterableIterator, transaction, output, attribute, input, account, asset, contract, header, block, forwardValue, }: ForBuiltinTypeHelperOptions);
emit(sb: ScriptBuilder, node: ts.Node, options: VisitOptions): void;
private processKnownType;
}
export {};