summaryrefslogtreecommitdiff
path: root/std/node/process.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/node/process.ts')
-rw-r--r--std/node/process.ts318
1 files changed, 0 insertions, 318 deletions
diff --git a/std/node/process.ts b/std/node/process.ts
deleted file mode 100644
index 419eb8cec..000000000
--- a/std/node/process.ts
+++ /dev/null
@@ -1,318 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import { notImplemented } from "./_utils.ts";
-import EventEmitter from "./events.ts";
-import { fromFileUrl } from "../path/mod.ts";
-
-const notImplementedEvents = [
- "beforeExit",
- "disconnect",
- "message",
- "multipleResolves",
- "rejectionHandled",
- "SIGBREAK",
- "SIGBUS",
- "SIGFPE",
- "SIGHUP",
- "SIGILL",
- "SIGINT",
- "SIGSEGV",
- "SIGTERM",
- "SIGWINCH",
- "uncaughtException",
- "uncaughtExceptionMonitor",
- "unhandledRejection",
- "warning",
-];
-
-/** https://nodejs.org/api/process.html#process_process_arch */
-export const arch = Deno.build.arch;
-
-function getArguments() {
- return [Deno.execPath(), fromFileUrl(Deno.mainModule), ...Deno.args];
-}
-
-//deno-lint-ignore ban-ts-comment
-//@ts-ignore
-const _argv: {
- [Deno.customInspect]: () => string;
- [key: number]: string;
-} = [];
-
-Object.defineProperty(_argv, Deno.customInspect, {
- enumerable: false,
- configurable: false,
- get: function () {
- return getArguments();
- },
-});
-
-/**
- * https://nodejs.org/api/process.html#process_process_argv
- * Read permissions are required in order to get the executable route
- * */
-export const argv: Record<string, string> = new Proxy(_argv, {
- get(target, prop) {
- if (prop === Deno.customInspect) {
- return target[Deno.customInspect];
- }
- return getArguments()[prop as number];
- },
- ownKeys() {
- return Reflect.ownKeys(getArguments());
- },
-});
-
-/** https://nodejs.org/api/process.html#process_process_chdir_directory */
-export const chdir = Deno.chdir;
-
-/** https://nodejs.org/api/process.html#process_process_cwd */
-export const cwd = Deno.cwd;
-
-//deno-lint-ignore ban-ts-comment
-//@ts-ignore
-const _env: {
- [Deno.customInspect]: () => string;
-} = {};
-
-Object.defineProperty(_env, Deno.customInspect, {
- enumerable: false,
- configurable: false,
- get: function () {
- return Deno.env.toObject();
- },
-});
-
-/**
- * https://nodejs.org/api/process.html#process_process_env
- * Requires env permissions
- * */
-export const env: Record<string, string> = new Proxy(_env, {
- get(target, prop) {
- if (prop === Deno.customInspect) {
- return target[Deno.customInspect];
- }
- return Deno.env.get(String(prop));
- },
- ownKeys() {
- return Reflect.ownKeys(Deno.env.toObject());
- },
- set(_target, prop, value) {
- Deno.env.set(String(prop), String(value));
- return value;
- },
-});
-
-/** https://nodejs.org/api/process.html#process_process_exit_code */
-export const exit = Deno.exit;
-
-/** https://nodejs.org/api/process.html#process_process_nexttick_callback_args */
-export function nextTick(this: unknown, cb: () => void): void;
-export function nextTick<T extends Array<unknown>>(
- this: unknown,
- cb: (...args: T) => void,
- ...args: T
-): void;
-export function nextTick<T extends Array<unknown>>(
- this: unknown,
- cb: (...args: T) => void,
- ...args: T
-) {
- if (args) {
- queueMicrotask(() => cb.call(this, ...args));
- } else {
- queueMicrotask(cb);
- }
-}
-
-/** https://nodejs.org/api/process.html#process_process_pid */
-export const pid = Deno.pid;
-
-/** https://nodejs.org/api/process.html#process_process_platform */
-export const platform = Deno.build.os === "windows" ? "win32" : Deno.build.os;
-
-/** https://nodejs.org/api/process.html#process_process_version */
-export const version = `v${Deno.version.deno}`;
-
-/** https://nodejs.org/api/process.html#process_process_versions */
-export const versions = {
- node: Deno.version.deno,
- ...Deno.version,
-};
-
-class Process extends EventEmitter {
- constructor() {
- super();
-
- //This causes the exit event to be binded to the unload event
- window.addEventListener("unload", () => {
- //TODO(Soremwar)
- //Get the exit code from the unload event
- super.emit("exit", 0);
- });
- }
-
- /** https://nodejs.org/api/process.html#process_process_arch */
- arch = arch;
-
- /**
- * https://nodejs.org/api/process.html#process_process_argv
- * Read permissions are required in order to get the executable route
- * */
- argv = argv;
-
- /** https://nodejs.org/api/process.html#process_process_chdir_directory */
- chdir = chdir;
-
- /** https://nodejs.org/api/process.html#process_process_cwd */
- cwd = cwd;
-
- /** https://nodejs.org/api/process.html#process_process_exit_code */
- exit = exit;
-
- /**
- * https://nodejs.org/api/process.html#process_process_env
- * Requires env permissions
- * */
- env = env;
-
- /** https://nodejs.org/api/process.html#process_process_nexttick_callback_args */
- nextTick = nextTick;
-
- /** https://nodejs.org/api/process.html#process_process_events */
- //deno-lint-ignore ban-types
- on(event: typeof notImplementedEvents[number], listener: Function): never;
- on(event: "exit", listener: (code: number) => void): this;
- //deno-lint-ignore no-explicit-any
- on(event: string, listener: (...args: any[]) => void): this {
- if (notImplementedEvents.includes(event)) {
- notImplemented();
- }
-
- super.on(event, listener);
-
- return this;
- }
-
- /** https://nodejs.org/api/process.html#process_process_pid */
- pid = pid;
-
- /** https://nodejs.org/api/process.html#process_process_platform */
- platform = platform;
-
- removeAllListeners(_event: string): never {
- notImplemented();
- }
-
- removeListener(
- event: typeof notImplementedEvents[number],
- //deno-lint-ignore ban-types
- listener: Function,
- ): never;
- removeListener(event: "exit", listener: (code: number) => void): this;
- //deno-lint-ignore no-explicit-any
- removeListener(event: string, listener: (...args: any[]) => void): this {
- if (notImplementedEvents.includes(event)) {
- notImplemented();
- }
-
- super.removeListener("exit", listener);
-
- return this;
- }
-
- /** https://nodejs.org/api/process.html#process_process_stderr */
- get stderr() {
- return {
- fd: Deno.stderr.rid,
- get isTTY(): boolean {
- return Deno.isatty(this.fd);
- },
- pipe(_destination: Deno.Writer, _options: { end: boolean }): void {
- // TODO(JayHelton): to be implemented
- notImplemented();
- },
- // deno-lint-ignore ban-types
- write(_chunk: string | Uint8Array, _callback: Function): void {
- // TODO(JayHelton): to be implemented
- notImplemented();
- },
- // deno-lint-ignore ban-types
- on(_event: string, _callback: Function): void {
- // TODO(JayHelton): to be implemented
- notImplemented();
- },
- };
- }
-
- /** https://nodejs.org/api/process.html#process_process_stdin */
- get stdin() {
- return {
- fd: Deno.stdin.rid,
- get isTTY(): boolean {
- return Deno.isatty(this.fd);
- },
- read(_size: number): void {
- // TODO(JayHelton): to be implemented
- notImplemented();
- },
- // deno-lint-ignore ban-types
- on(_event: string, _callback: Function): void {
- // TODO(JayHelton): to be implemented
- notImplemented();
- },
- };
- }
-
- /** https://nodejs.org/api/process.html#process_process_stdout */
- get stdout() {
- return {
- fd: Deno.stdout.rid,
- get isTTY(): boolean {
- return Deno.isatty(this.fd);
- },
- pipe(_destination: Deno.Writer, _options: { end: boolean }): void {
- // TODO(JayHelton): to be implemented
- notImplemented();
- },
- // deno-lint-ignore ban-types
- write(_chunk: string | Uint8Array, _callback: Function): void {
- // TODO(JayHelton): to be implemented
- notImplemented();
- },
- // deno-lint-ignore ban-types
- on(_event: string, _callback: Function): void {
- // TODO(JayHelton): to be implemented
- notImplemented();
- },
- };
- }
-
- /** https://nodejs.org/api/process.html#process_process_version */
- version = version;
-
- /** https://nodejs.org/api/process.html#process_process_versions */
- versions = versions;
-}
-
-/** https://nodejs.org/api/process.html#process_process */
-const process = new Process();
-
-Object.defineProperty(process, Symbol.toStringTag, {
- enumerable: false,
- writable: true,
- configurable: false,
- value: "process",
-});
-
-export const removeListener = process.removeListener;
-export const removeAllListeners = process.removeAllListeners;
-export const stderr = process.stderr;
-export const stdin = process.stdin;
-export const stdout = process.stdout;
-
-export default process;
-
-//TODO(Soremwar)
-//Remove on 1.0
-//Kept for backwars compatibility with std
-export { process };