UNPKG

loadable-ts-transformer

Version:

TypeScript custom transformer for lodable-components SSR

25 lines (24 loc) 1.49 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var typescript_1 = __importDefault(require("typescript")); var util_1 = require("../util"); function getCallValue(callNode) { var importArg = util_1.getImportArg(callNode); if (typescript_1.default.isBinaryExpression(importArg) || typescript_1.default.isStringLiteral(importArg) || typescript_1.default.isTemplateLiteral(importArg) || typescript_1.default.isTemplateExpression(importArg)) { return importArg; } throw new Error('invalid import argument'); } function resolveProperty(callNode) { var id = getCallValue(callNode); return util_1.createObjectMethod('resolve', [], typescript_1.default.createBlock([ typescript_1.default.createReturn(typescript_1.default.createConditional(typescript_1.default.createPropertyAccess(typescript_1.default.createIdentifier('require'), 'resolveWeak'), typescript_1.default.createCall(typescript_1.default.createPropertyAccess(typescript_1.default.createIdentifier('require'), 'resolveWeak'), undefined, [id]), typescript_1.default.createCall(typescript_1.default.createCall(typescript_1.default.createIdentifier('eval'), undefined, [typescript_1.default.createStringLiteral('require.resolve')]), undefined, [id]))), ], true)); } exports.default = resolveProperty;