* @param {NodeModuleName} moduleName * @returns {boolean}
(moduleName)
| 14 | * @returns {boolean} |
| 15 | */ |
| 16 | function detectRuntimeFeatureByNodeModule (moduleName) { |
| 17 | try { |
| 18 | lazyLoaders[moduleName]() |
| 19 | return true |
| 20 | } catch (err) { |
| 21 | if (err.code !== 'ERR_UNKNOWN_BUILTIN_MODULE' && err.code !== 'ERR_NO_CRYPTO') { |
| 22 | throw err |
| 23 | } |
| 24 | return false |
| 25 | } |
| 26 | } |
| 27 | |
| 28 | const runtimeFeaturesAsNodeModule = /** @type {const} */ (['crypto', 'sqlite']) |
| 29 | /** @typedef {typeof runtimeFeaturesAsNodeModule[number]} RuntimeFeatureByNodeModule */ |
no outgoing calls
no test coverage detected