@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
29 lines (27 loc) • 830 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExportHelper = void 0;
const Helper_1 = require("../Helper");
class ExportHelper extends Helper_1.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');
}
}
exports.ExportHelper = ExportHelper;
//# sourceMappingURL=ExportHelper.js.map