* Transforms a SourceFile into a UMD module. * * @param node The SourceFile node.
(node)
| 104498 | * @param node The SourceFile node. |
| 104499 | */ |
| 104500 | function transformUMDModule(node) { |
| 104501 | var _a = collectAsynchronousDependencies(node, /*includeNonAmdDependencies*/ false), aliasedModuleNames = _a.aliasedModuleNames, unaliasedModuleNames = _a.unaliasedModuleNames, importAliasNames = _a.importAliasNames; |
| 104502 | var moduleName = ts.tryGetModuleNameFromFile(factory, node, host, compilerOptions); |
| 104503 | var umdHeader = factory.createFunctionExpression( |
| 104504 | /*modifiers*/ undefined, |
| 104505 | /*asteriskToken*/ undefined, |
| 104506 | /*name*/ undefined, |
| 104507 | /*typeParameters*/ undefined, [factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "factory")], |
| 104508 | /*type*/ undefined, ts.setTextRange(factory.createBlock([ |
| 104509 | factory.createIfStatement(factory.createLogicalAnd(factory.createTypeCheck(factory.createIdentifier("module"), "object"), factory.createTypeCheck(factory.createPropertyAccessExpression(factory.createIdentifier("module"), "exports"), "object")), factory.createBlock([ |
| 104510 | factory.createVariableStatement( |
| 104511 | /*modifiers*/ undefined, [ |
| 104512 | factory.createVariableDeclaration("v", |
| 104513 | /*exclamationToken*/ undefined, |
| 104514 | /*type*/ undefined, factory.createCallExpression(factory.createIdentifier("factory"), |
| 104515 | /*typeArguments*/ undefined, [ |
| 104516 | factory.createIdentifier("require"), |
| 104517 | factory.createIdentifier("exports") |
| 104518 | ])) |
| 104519 | ]), |
| 104520 | ts.setEmitFlags(factory.createIfStatement(factory.createStrictInequality(factory.createIdentifier("v"), factory.createIdentifier("undefined")), factory.createExpressionStatement(factory.createAssignment(factory.createPropertyAccessExpression(factory.createIdentifier("module"), "exports"), factory.createIdentifier("v")))), 1 /* EmitFlags.SingleLine */) |
| 104521 | ]), factory.createIfStatement(factory.createLogicalAnd(factory.createTypeCheck(factory.createIdentifier("define"), "function"), factory.createPropertyAccessExpression(factory.createIdentifier("define"), "amd")), factory.createBlock([ |
| 104522 | factory.createExpressionStatement(factory.createCallExpression(factory.createIdentifier("define"), |
| 104523 | /*typeArguments*/ undefined, __spreadArray(__spreadArray([], (moduleName ? [moduleName] : []), true), [ |
| 104524 | factory.createArrayLiteralExpression(__spreadArray(__spreadArray([ |
| 104525 | factory.createStringLiteral("require"), |
| 104526 | factory.createStringLiteral("exports") |
| 104527 | ], aliasedModuleNames, true), unaliasedModuleNames, true)), |
| 104528 | factory.createIdentifier("factory") |
| 104529 | ], false))) |
| 104530 | ]))) |
| 104531 | ], |
| 104532 | /*multiLine*/ true), |
| 104533 | /*location*/ undefined)); |
| 104534 | // Create an updated SourceFile: |
| 104535 | // |
| 104536 | // (function (factory) { |
| 104537 | // if (typeof module === "object" && typeof module.exports === "object") { |
| 104538 | // var v = factory(require, exports); |
| 104539 | // if (v !== undefined) module.exports = v; |
| 104540 | // } |
| 104541 | // else if (typeof define === 'function' && define.amd) { |
| 104542 | // define(["require", "exports"], factory); |
| 104543 | // } |
| 104544 | // })(function ...) |
| 104545 | var updated = factory.updateSourceFile(node, ts.setTextRange(factory.createNodeArray([ |
| 104546 | factory.createExpressionStatement(factory.createCallExpression(umdHeader, |
| 104547 | /*typeArguments*/ undefined, [ |
| 104548 | // Add the module body function argument: |
| 104549 | // |
| 104550 | // function (require, exports) ... |
| 104551 | factory.createFunctionExpression( |
| 104552 | /*modifiers*/ undefined, |
| 104553 | /*asteriskToken*/ undefined, |
| 104554 | /*name*/ undefined, |
| 104555 | /*typeParameters*/ undefined, __spreadArray([ |
| 104556 | factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "require"), |
| 104557 | factory.createParameterDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, /*dotDotDotToken*/ undefined, "exports") |
nothing calls this directly
no test coverage detected