You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.1 KiB
31 lines
1.1 KiB
|
2 months ago
|
|
||
|
|
// source: https://github.com/flexdinesh/browser-or-node
|
||
|
|
// source: https://github.com/mozilla/pdf.js/blob/7ea0e40e588864cd938d1836ec61f1928d3877d3/src/shared/util.js#L24
|
||
|
|
var isNode = function (nodeProcess) {
|
||
|
|
return (
|
||
|
|
typeof nodeProcess !== 'undefined' &&
|
||
|
|
nodeProcess.versions != null &&
|
||
|
|
nodeProcess.versions.node != null &&
|
||
|
|
nodeProcess + '' === '[object process]'
|
||
|
|
);
|
||
|
|
}
|
||
|
|
module.exports.isNode = isNode
|
||
|
|
|
||
|
|
// determines the JavaScript platform: browser or node
|
||
|
|
module.exports.platform = typeof process !== 'undefined' && isNode(process)
|
||
|
|
? 'node'
|
||
|
|
: 'browser';
|
||
|
|
|
||
|
|
// determines whether the code is running in main thread or not
|
||
|
|
// note that in node.js we have to check both worker_thread and child_process
|
||
|
|
var worker_threads = module.exports.platform === 'node' && require('worker_threads');
|
||
|
|
module.exports.isMainThread = module.exports.platform === 'node'
|
||
|
|
? ((!worker_threads || worker_threads.isMainThread) && !process.connected)
|
||
|
|
: typeof Window !== 'undefined';
|
||
|
|
|
||
|
|
// determines the number of cpus available
|
||
|
|
module.exports.cpus = module.exports.platform === 'browser'
|
||
|
|
? self.navigator.hardwareConcurrency
|
||
|
|
: require('os').cpus().length;
|
||
|
|
|