@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
26 lines (24 loc) • 3.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const ts_utils_1 = require("@neo-one/ts-utils");
const typescript_1 = tslib_1.__importDefault(require("typescript"));
const NodeCompiler_1 = require("../NodeCompiler");
class ExportAssignmentCompiler extends NodeCompiler_1.NodeCompiler {
constructor() {
super(...arguments);
this.kind = typescript_1.default.SyntaxKind.ExportAssignment;
}
visitNode(sb, node, optionsIn) {
if (ts_utils_1.tsUtils.importExport.isExportEquals(node)) {
sb.context.reportUnsupported(node);
}
else {
const options = sb.pushValueOptions(optionsIn);
sb.visit(ts_utils_1.tsUtils.expression.getExpression(node), options);
sb.emitHelper(node, options, sb.helpers.exportSingle({ defaultExport: true }));
}
}
}
exports.ExportAssignmentCompiler = ExportAssignmentCompiler;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkV4cG9ydEFzc2lnbm1lbnRDb21waWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnREFBNEM7QUFDNUMsb0VBQTRCO0FBQzVCLGtEQUErQztBQUkvQyxNQUFhLHdCQUF5QixTQUFRLDJCQUFpQztJQUEvRTs7UUFDa0IsU0FBSSxHQUFHLG9CQUFFLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDO0lBYXhELENBQUM7SUFYUSxTQUFTLENBQUMsRUFBaUIsRUFBRSxJQUF5QixFQUFFLFNBQXVCO1FBQ3BGLElBQUksa0JBQU8sQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzdDLEVBQUUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEM7YUFBTTtZQUNMLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUUvQyxFQUFFLENBQUMsS0FBSyxDQUFDLGtCQUFPLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUUxRCxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ2hGO0lBQ0gsQ0FBQztDQUNGO0FBZEQsNERBY0MiLCJmaWxlIjoibmVvLW9uZS1zbWFydC1jb250cmFjdC1jb21waWxlci9zcmMvY29tcGlsZS9kZWNsYXJhdGlvbi9FeHBvcnRBc3NpZ25tZW50Q29tcGlsZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0c1V0aWxzIH0gZnJvbSAnQG5lby1vbmUvdHMtdXRpbHMnO1xuaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHsgTm9kZUNvbXBpbGVyIH0gZnJvbSAnLi4vTm9kZUNvbXBpbGVyJztcbmltcG9ydCB7IFNjcmlwdEJ1aWxkZXIgfSBmcm9tICcuLi9zYic7XG5pbXBvcnQgeyBWaXNpdE9wdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBFeHBvcnRBc3NpZ25tZW50Q29tcGlsZXIgZXh0ZW5kcyBOb2RlQ29tcGlsZXI8dHMuRXhwb3J0QXNzaWdubWVudD4ge1xuICBwdWJsaWMgcmVhZG9ubHkga2luZCA9IHRzLlN5bnRheEtpbmQuRXhwb3J0QXNzaWdubWVudDtcblxuICBwdWJsaWMgdmlzaXROb2RlKHNiOiBTY3JpcHRCdWlsZGVyLCBub2RlOiB0cy5FeHBvcnRBc3NpZ25tZW50LCBvcHRpb25zSW46IFZpc2l0T3B0aW9ucyk6IHZvaWQge1xuICAgIGlmICh0c1V0aWxzLmltcG9ydEV4cG9ydC5pc0V4cG9ydEVxdWFscyhub2RlKSkge1xuICAgICAgc2IuY29udGV4dC5yZXBvcnRVbnN1cHBvcnRlZChub2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IHNiLnB1c2hWYWx1ZU9wdGlvbnMob3B0aW9uc0luKTtcbiAgICAgIC8vIFt2YWxdXG4gICAgICBzYi52aXNpdCh0c1V0aWxzLmV4cHJlc3Npb24uZ2V0RXhwcmVzc2lvbihub2RlKSwgb3B0aW9ucyk7XG4gICAgICAvLyBbXVxuICAgICAgc2IuZW1pdEhlbHBlcihub2RlLCBvcHRpb25zLCBzYi5oZWxwZXJzLmV4cG9ydFNpbmdsZSh7IGRlZmF1bHRFeHBvcnQ6IHRydWUgfSkpO1xuICAgIH1cbiAgfVxufVxuIl19