@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
25 lines (23 loc) • 680 B
JavaScript
import { Helper } from '../Helper';
export class ExportHelper extends Helper {
constructor({ name, defaultExport }) {
super();
this.name = name;
this.defaultExport = defaultExport || false;
}
emit(sb, node, _optionsIn) {
if (this.name !== undefined) {
sb.addExport(this.name);
sb.emitPushString(node, this.name);
}
else if (this.defaultExport) {
sb.emitPushString(node, 'default');
}
else {
sb.context.reportUnsupported(node);
}
sb.emitOp(node, 'SWAP');
sb.emitOp(node, 'SETITEM');
}
}
//# sourceMappingURL=ExportHelper.js.map