mirror of
https://github.com/Kong/insomnia.git
synced 2026-06-04 14:18:04 -04:00
Move insomnia-data models, services, database code, and common utilities into a dedicated workspace package. Update consumers to import from the new package entrypoints and declare workspace dependencies for the extracted package.
35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
type Platform = NodeJS.Platform;
|
|
|
|
interface INodeProcess {
|
|
platform: string;
|
|
}
|
|
|
|
declare const window: {
|
|
app?: {
|
|
process: INodeProcess;
|
|
};
|
|
};
|
|
|
|
let nodeProcess: INodeProcess | undefined;
|
|
if (
|
|
// eslint-disable-next-line unicorn/no-typeof-undefined
|
|
typeof window !== 'undefined' &&
|
|
window.app?.process !== undefined &&
|
|
typeof window.app.process.platform === 'string'
|
|
) {
|
|
// Renderer: use window.app.process exposed by preload
|
|
nodeProcess = window.app.process as INodeProcess;
|
|
} else if (typeof process !== 'undefined' && typeof process.platform === 'string') {
|
|
// Main: use Node.js native process
|
|
nodeProcess = process;
|
|
}
|
|
|
|
// Get platform from nodeProcess (unified approach)
|
|
const _platform: Platform = nodeProcess?.platform ? (nodeProcess.platform as Platform) : ('linux' as Platform);
|
|
|
|
// Export constants (VSCode style)
|
|
export const platform: Platform = _platform;
|
|
export const isMac: boolean = _platform === 'darwin';
|
|
export const isWindows: boolean = _platform === 'win32';
|
|
export const isLinux: boolean = _platform === 'linux';
|