nadesiko3
Version:
Japanese Programming Language
51 lines (46 loc) • 1.61 kB
text/typescript
/* eslint-disable @typescript-eslint/no-explicit-any */
/** get enviroment name */
export function getEnv(name: string): string | undefined {
if (typeof (globalThis as any).process !== 'undefined' && (globalThis as any).process.env !== undefined) {
return (globalThis as any).process.env[name]
}
if (typeof (globalThis as any).Deno !== 'undefined') {
return (globalThis as any).Deno.env.get(name)
}
return undefined
}
/** check is windows */
export function isWindows(): boolean {
if (typeof (globalThis as any).process !== "undefined" && (globalThis as any).process.platform) {
return (globalThis as any).process.platform === "win32"
}
if (typeof (globalThis as any).Deno !== "undefined") {
return (globalThis as any).Deno.build.os === "windows"
}
return false
}
/** get command line arguments */
export function getCommandLineArgs(): string[] {
// Node.js
if (typeof (globalThis as any).process !== "undefined" && (globalThis as any).process.argv) {
return (globalThis as any).process.argv
}
// Deno
if (typeof (globalThis as any).Deno !== "undefined") {
const args = (globalThis as any).Deno.args
args.unshift(new URL((globalThis as any).Deno.mainModule).pathname)
args.unshift((globalThis as any).Deno.execPath())
return args
}
// Node.js環境の場合
return [];
}
/** Exit */
export function exit(code: number): void {
if (typeof (globalThis as any).process !== 'undefined') {
(globalThis as any).process.exit(code)
}
if (typeof (globalThis as any).Deno !== 'undefined') {
(globalThis as any).Deno.exit(code)
}
}