UNPKG

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

Version:

NEO•ONE TypeScript smart contract compiler.

93 lines (91 loc) 3.65 kB
import { utils } from '@neo-one/utils-esnext-esm'; import { Types } from '../../constants'; import { Helper } from '../Helper'; export class UnwrapValHelper extends Helper { constructor(options) { super(); this.type = options.type; } emit(sb, node, options) { switch (this.type) { case Types.Array: sb.emitHelper(node, options, sb.helpers.unwrapArray); break; case Types.ArrayStorage: sb.emitHelper(node, options, sb.helpers.unwrapArrayStorage); break; case Types.Attribute: sb.emitHelper(node, options, sb.helpers.unwrapAttribute); break; case Types.Boolean: sb.emitHelper(node, options, sb.helpers.unwrapBoolean); break; case Types.Buffer: sb.emitHelper(node, options, sb.helpers.unwrapBuffer); break; case Types.Error: sb.emitHelper(node, options, sb.helpers.unwrapError); break; case Types.ForwardValue: sb.emitHelper(node, options, sb.helpers.unwrapForwardValue); break; case Types.Input: sb.emitHelper(node, options, sb.helpers.unwrapInput); break; case Types.IterableIterator: sb.emitHelper(node, options, sb.helpers.unwrapIterableIterator); break; case Types.IteratorResult: sb.emitHelper(node, options, sb.helpers.unwrapIteratorResult); break; case Types.Map: sb.emitHelper(node, options, sb.helpers.unwrapMap); break; case Types.MapStorage: sb.emitHelper(node, options, sb.helpers.unwrapMapStorage); break; case Types.Number: sb.emitHelper(node, options, sb.helpers.unwrapNumber); break; case Types.Object: sb.emitHelper(node, options, sb.helpers.unwrapObject); break; case Types.Output: sb.emitHelper(node, options, sb.helpers.unwrapOutput); break; case Types.Set: sb.emitHelper(node, options, sb.helpers.unwrapSet); break; case Types.SetStorage: sb.emitHelper(node, options, sb.helpers.unwrapSetStorage); break; case Types.String: sb.emitHelper(node, options, sb.helpers.unwrapString); break; case Types.Transaction: sb.emitHelper(node, options, sb.helpers.unwrapTransaction); break; case Types.Symbol: sb.emitHelper(node, options, sb.helpers.unwrapSymbol); break; case Types.Account: sb.emitHelper(node, options, sb.helpers.unwrapAccount); break; case Types.Asset: sb.emitHelper(node, options, sb.helpers.unwrapAsset); break; case Types.Contract: sb.emitHelper(node, options, sb.helpers.unwrapContract); break; case Types.Header: sb.emitHelper(node, options, sb.helpers.unwrapHeader); break; case Types.Block: sb.emitHelper(node, options, sb.helpers.unwrapBlock); break; default: utils.assertNever(this.type); } } } //# sourceMappingURL=UnwrapValHelper.js.map