Try to return an existing file that adds one of the `extensions` to `candidate`.
(candidate, extensions, originalExtension, onlyRecordFailures, state)
| 43551 | } |
| 43552 | /** Try to return an existing file that adds one of the `extensions` to `candidate`. */ |
| 43553 | function tryAddingExtensions(candidate, extensions, originalExtension, onlyRecordFailures, state) { |
| 43554 | if (!onlyRecordFailures) { |
| 43555 | // check if containing folder exists - if it doesn't then just record failures for all supported extensions without disk probing |
| 43556 | var directory = ts.getDirectoryPath(candidate); |
| 43557 | if (directory) { |
| 43558 | onlyRecordFailures = !ts.directoryProbablyExists(directory, state.host); |
| 43559 | } |
| 43560 | } |
| 43561 | switch (extensions) { |
| 43562 | case Extensions.DtsOnly: |
| 43563 | switch (originalExtension) { |
| 43564 | case ".mjs" /* Extension.Mjs */: |
| 43565 | case ".mts" /* Extension.Mts */: |
| 43566 | case ".d.mts" /* Extension.Dmts */: |
| 43567 | return tryExtension(".d.mts" /* Extension.Dmts */); |
| 43568 | case ".cjs" /* Extension.Cjs */: |
| 43569 | case ".cts" /* Extension.Cts */: |
| 43570 | case ".d.cts" /* Extension.Dcts */: |
| 43571 | return tryExtension(".d.cts" /* Extension.Dcts */); |
| 43572 | case ".json" /* Extension.Json */: |
| 43573 | candidate += ".json" /* Extension.Json */; |
| 43574 | return tryExtension(".d.ts" /* Extension.Dts */); |
| 43575 | default: return tryExtension(".d.ts" /* Extension.Dts */); |
| 43576 | } |
| 43577 | case Extensions.TypeScript: |
| 43578 | case Extensions.TsOnly: |
| 43579 | var useDts = extensions === Extensions.TypeScript; |
| 43580 | switch (originalExtension) { |
| 43581 | case ".mjs" /* Extension.Mjs */: |
| 43582 | case ".mts" /* Extension.Mts */: |
| 43583 | case ".d.mts" /* Extension.Dmts */: |
| 43584 | return tryExtension(".mts" /* Extension.Mts */) || (useDts ? tryExtension(".d.mts" /* Extension.Dmts */) : undefined); |
| 43585 | case ".cjs" /* Extension.Cjs */: |
| 43586 | case ".cts" /* Extension.Cts */: |
| 43587 | case ".d.cts" /* Extension.Dcts */: |
| 43588 | return tryExtension(".cts" /* Extension.Cts */) || (useDts ? tryExtension(".d.cts" /* Extension.Dcts */) : undefined); |
| 43589 | case ".json" /* Extension.Json */: |
| 43590 | candidate += ".json" /* Extension.Json */; |
| 43591 | return useDts ? tryExtension(".d.ts" /* Extension.Dts */) : undefined; |
| 43592 | default: |
| 43593 | return tryExtension(".ts" /* Extension.Ts */) || tryExtension(".tsx" /* Extension.Tsx */) || (useDts ? tryExtension(".d.ts" /* Extension.Dts */) : undefined); |
| 43594 | } |
| 43595 | case Extensions.JavaScript: |
| 43596 | switch (originalExtension) { |
| 43597 | case ".mjs" /* Extension.Mjs */: |
| 43598 | case ".mts" /* Extension.Mts */: |
| 43599 | case ".d.mts" /* Extension.Dmts */: |
| 43600 | return tryExtension(".mjs" /* Extension.Mjs */); |
| 43601 | case ".cjs" /* Extension.Cjs */: |
| 43602 | case ".cts" /* Extension.Cts */: |
| 43603 | case ".d.cts" /* Extension.Dcts */: |
| 43604 | return tryExtension(".cjs" /* Extension.Cjs */); |
| 43605 | case ".json" /* Extension.Json */: |
| 43606 | return tryExtension(".json" /* Extension.Json */); |
| 43607 | default: |
| 43608 | return tryExtension(".js" /* Extension.Js */) || tryExtension(".jsx" /* Extension.Jsx */); |
| 43609 | } |
| 43610 | case Extensions.TSConfig: |
no test coverage detected
searching dependent graphs…