UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

24 lines (22 loc) 801 B
import { Helper } from '../Helper'; export class RawIteratorForEachHelper extends Helper { constructor(options) { super(); this.each = options.each; this.deserializeKey = options.deserializeKey ?? false; } emit(sb, node, options) { sb.emitHelper(node, options, sb.helpers.rawIteratorForEachBase({ each: (innerOptions) => { sb.emitSysCall(node, 'Neo.Enumerator.Value'); sb.emitOp(node, 'OVER'); sb.emitSysCall(node, 'Neo.Iterator.Key'); if (this.deserializeKey) { sb.emitSysCall(node, 'Neo.Runtime.Deserialize'); } this.each(innerOptions); }, })); } } //# sourceMappingURL=RawIteratorForEachHelper.js.map