UNPKG

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

Version:

NEO•ONE TypeScript smart contract compiler.

93 lines (91 loc) 3.6 kB
import { utils } from '@neo-one/utils-esnext-esm'; import { Types } from '../../constants'; import { Helper } from '../Helper'; export class WrapValHelper 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.wrapArray); break; case Types.ArrayStorage: sb.emitHelper(node, options, sb.helpers.wrapArrayStorage); break; case Types.Attribute: sb.emitHelper(node, options, sb.helpers.wrapAttribute); break; case Types.Boolean: sb.emitHelper(node, options, sb.helpers.wrapBoolean); break; case Types.Buffer: sb.emitHelper(node, options, sb.helpers.wrapBuffer); break; case Types.Error: sb.emitHelper(node, options, sb.helpers.wrapError); break; case Types.ForwardValue: sb.emitHelper(node, options, sb.helpers.wrapForwardValue); break; case Types.Input: sb.emitHelper(node, options, sb.helpers.wrapInput); break; case Types.IteratorResult: sb.emitHelper(node, options, sb.helpers.wrapIteratorResult); break; case Types.IterableIterator: sb.emitHelper(node, options, sb.helpers.wrapIterableIterator); break; case Types.Map: sb.emitHelper(node, options, sb.helpers.wrapMap); break; case Types.MapStorage: sb.emitHelper(node, options, sb.helpers.wrapMapStorage); break; case Types.Number: sb.emitHelper(node, options, sb.helpers.wrapNumber); break; case Types.Object: sb.emitHelper(node, options, sb.helpers.wrapObject); break; case Types.Output: sb.emitHelper(node, options, sb.helpers.wrapOutput); break; case Types.Set: sb.emitHelper(node, options, sb.helpers.wrapSet); break; case Types.SetStorage: sb.emitHelper(node, options, sb.helpers.wrapSetStorage); break; case Types.String: sb.emitHelper(node, options, sb.helpers.wrapString); break; case Types.Transaction: sb.emitHelper(node, options, sb.helpers.wrapTransaction); break; case Types.Symbol: sb.emitHelper(node, options, sb.helpers.wrapSymbol); break; case Types.Account: sb.emitHelper(node, options, sb.helpers.wrapAccount); break; case Types.Asset: sb.emitHelper(node, options, sb.helpers.wrapAsset); break; case Types.Contract: sb.emitHelper(node, options, sb.helpers.wrapContract); break; case Types.Header: sb.emitHelper(node, options, sb.helpers.wrapHeader); break; case Types.Block: sb.emitHelper(node, options, sb.helpers.wrapBlock); break; default: utils.assertNever(this.type); } } } //# sourceMappingURL=WrapValHelper.js.map