UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

26 lines (24 loc) 1.02 kB
import stringify from 'safe-stable-stringify'; import { InternalObjectProperty } from '../../constants'; import { Helper } from '../Helper'; export class GetCallableHelper extends Helper { constructor(options = { bindThis: false }) { super(); this.bindThis = options.bindThis || false; this.overwriteThis = options.overwriteThis || false; } static getKey(options = { bindThis: false }) { const bindThis = options.bindThis || false; const overwriteThis = options.overwriteThis || false; return stringify({ bindThis, overwriteThis }); } emit(sb, node, optionsIn) { const options = sb.pushValueOptions(optionsIn); sb.emitPushInt(node, InternalObjectProperty.Call); sb.emitHelper(node, options, sb.helpers.getInternalObjectProperty); if (this.bindThis) { sb.emitHelper(node, options, sb.helpers.bindFunctionThis({ overwrite: this.overwriteThis })); } } } //# sourceMappingURL=GetCallableHelper.js.map