35 lines
886 B
TypeScript
35 lines
886 B
TypeScript
/**
|
|
* @author Martin Karkowski
|
|
* @email m.karkowski@zema.de
|
|
* @create date 2020-08-25 14:52:52
|
|
* @modify date 2020-08-25 18:13:54
|
|
* @desc [description]
|
|
*/
|
|
|
|
declare const process: any;
|
|
declare const setImmediate: any;
|
|
|
|
const _runningInNode = (
|
|
typeof process !== 'undefined' &&
|
|
typeof process.release !== 'undefined') && ((process as any).release.name === 'node');
|
|
|
|
/**
|
|
* Function to call a function something direct async
|
|
*/
|
|
export const callImmediate = _runningInNode ? (callback: (...args) => void, ...args) => {
|
|
return setImmediate(() => {
|
|
try {
|
|
callback(...args);
|
|
} catch (error) {
|
|
console.log(error);
|
|
}
|
|
});
|
|
} : (callback: (...args) => void, ...args) => {
|
|
return setTimeout(callback, 0, ...args);
|
|
};
|
|
|
|
export const callDirect = (callback: (...args) => void, ...args) => {
|
|
callback(...args);
|
|
};
|
|
|
|
export const RUNNINGINNODE = _runningInNode; |