UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

28 lines (26 loc) 3.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 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=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkV4cG9ydEhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUlBLHNDQUFtQztBQVNuQyxNQUFhLFlBQWEsU0FBUSxlQUFNO0lBSXRDLFlBQW1CLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBdUI7UUFDN0QsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsSUFBSSxLQUFLLENBQUM7SUFDOUMsQ0FBQztJQUVNLElBQUksQ0FBQyxFQUFpQixFQUFFLElBQWEsRUFBRSxVQUF3QjtRQUNwRSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQzNCLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXhCLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNwQzthQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUU3QixFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNwQzthQUFNO1lBQ0wsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNwQztRQUdELEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXhCLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7Q0FDRjtBQTNCRCxvQ0EyQkMiLCJmaWxlIjoibmVvLW9uZS1zbWFydC1jb250cmFjdC1jb21waWxlci9zcmMvY29tcGlsZS9oZWxwZXIvbW9kdWxlL0V4cG9ydEhlbHBlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHsgU2NyaXB0QnVpbGRlciB9IGZyb20gJy4uLy4uL3NiJztcbmltcG9ydCB7IFZpc2l0T3B0aW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEhlbHBlciB9IGZyb20gJy4uL0hlbHBlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0SGVscGVyT3B0aW9ucyB7XG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlZmF1bHRFeHBvcnQ/OiBib29sZWFuO1xufVxuXG4vLyBJbnB1dDogW3ZhbCwgZXhwb3J0c11cbi8vIE91dHB1dDogW11cbmV4cG9ydCBjbGFzcyBFeHBvcnRIZWxwZXIgZXh0ZW5kcyBIZWxwZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0RXhwb3J0OiBib29sZWFuO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih7IG5hbWUsIGRlZmF1bHRFeHBvcnQgfTogRXhwb3J0SGVscGVyT3B0aW9ucykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLmRlZmF1bHRFeHBvcnQgPSBkZWZhdWx0RXhwb3J0IHx8IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGVtaXQoc2I6IFNjcmlwdEJ1aWxkZXIsIG5vZGU6IHRzLk5vZGUsIF9vcHRpb25zSW46IFZpc2l0T3B0aW9ucyk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc2IuYWRkRXhwb3J0KHRoaXMubmFtZSk7XG4gICAgICAvLyBbbmFtZSwgdmFsLCBleHBvcnRzXVxuICAgICAgc2IuZW1pdFB1c2hTdHJpbmcobm9kZSwgdGhpcy5uYW1lKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGVmYXVsdEV4cG9ydCkge1xuICAgICAgLy8gW25hbWUsIHZhbCwgZXhwb3J0c11cbiAgICAgIHNiLmVtaXRQdXNoU3RyaW5nKG5vZGUsICdkZWZhdWx0Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNiLmNvbnRleHQucmVwb3J0VW5zdXBwb3J0ZWQobm9kZSk7XG4gICAgfVxuXG4gICAgLy8gW3ZhbCwgbmFtZSwgZXhwb3J0c11cbiAgICBzYi5lbWl0T3Aobm9kZSwgJ1NXQVAnKTtcbiAgICAvLyBbXVxuICAgIHNiLmVtaXRPcChub2RlLCAnU0VUSVRFTScpO1xuICB9XG59XG4iXX0=