@splitsoftware/splitio-commons
Version:
Split JavaScript SDK common components
23 lines (22 loc) • 747 B
JavaScript
var nodeFetch;
try {
nodeFetch = require('node-fetch');
// Handle node-fetch issue https://github.com/node-fetch/node-fetch/issues/1037
if (typeof nodeFetch !== 'function')
nodeFetch = nodeFetch.default;
}
catch (error) {
// Try to access global fetch if `node-fetch` package couldn't be imported (e.g., not in a Node environment)
// eslint-disable-next-line no-undef
nodeFetch = typeof fetch === 'function' ? fetch : undefined;
}
// This function is only exposed for testing purposes.
export function __setFetch(fetch) {
nodeFetch = fetch;
}
/**
* Retrieves 'node-fetch', a Fetch API polyfill for Node.js, with fallback to global 'fetch' if available.
*/
export function getFetch() {
return nodeFetch;
}