Spec-Zone.ru › Deno 2

Среда выполнения

Функциональность, связанная с системой, управление процессами и наблюдаемость.

Например, Deno.mainModule, Deno.exit, Deno.cwd


функция Deno.addSignalListener

addSignalListener(
signal: Signal,
handler: () => void,
): void

Регистрирует указанную функцию как обработчик события указанного сигнала.

Deno.addSignalListener(
  "SIGTERM",
  () => {
    console.log("SIGTERM!")
  }
);

Примечание: В Windows поддерживаются только "SIGINT" (CTRL+C), "SIGBREAK" (CTRL+Break), "SIGTERM", "SIGQUIT", "SIGHUP" и "SIGWINCH".

Параметры

signal: Signal
handler: () => void

Возвращаемый тип

void

функция Deno.chdir

allow-read
chdir(directory: string | URL): void

Изменяет текущий рабочий каталог на указанный путь.

Deno.chdir("/home/userA");
Deno.chdir("../userB");
Deno.chdir("C:\\Program Files (x86)\\Java");

Выбрасывает исключение Deno.errors.NotFound, если каталог не найден.

Выбрасывает исключение Deno.errors.PermissionDenied, если у пользователя нет прав операционной системы на доступ к файлам.

Требуется разрешение allow-read.

Параметры

directory: string | URL

Возвращаемый тип

void

функция Deno.cwd

cwd(): string

Возвращает строку, представляющую текущий рабочий каталог.

Если к текущему каталогу можно обратиться по нескольким путям (из-за символических ссылок), cwd() может вернуть любой из них.

const currentWorkingDirectory = Deno.cwd();

Выбрасывает исключение Deno.errors.NotFound, если каталог недоступен.

Возвращаемый тип

string

функция Deno.execPath

execPath(): string

Возвращает путь к текущему исполняемому файлу deno.

console.log(Deno.execPath());  // e.g. "/home/alice/.local/bin/deno"

Возвращаемый тип

string

функция Deno.exit

exit(code?: number): never

Завершает процесс Deno с необязательным кодом завершения.

Если код завершения не указан, Deno завершится с кодом возврата 0.

В контексте рабочего потока это закрывает текущий рабочий поток с помощью внутренней операции закрытия рабочих потоков Deno. При этом свойство self.close текущего объекта не вызывается.

Deno.exit(5);

Параметры

code: number
необязательный

Возвращаемый тип

never

функция Deno.gid

allow-sys
gid(): number | null

Возвращает идентификатор группы процесса на платформах POSIX. В Windows возвращает null.

console.log(Deno.gid());

Требуется разрешение allow-sys.

Возвращаемый тип

number | null

функция Deno.hostname

allow-sys
hostname(): string

Возвращает hostname компьютера, на котором запущен процесс Deno.

console.log(Deno.hostname());

Требуется разрешение allow-sys.

Возвращаемый тип

string

функция Deno.loadavg

allow-sys
loadavg(): number[]

Возвращает массив со средними значениями загрузки за 1, 5 и 15 минут. Средняя загрузка — это показатель использования ЦП и операций ввода-вывода за последние одну, пять и 15 минут, представленный дробным числом. Ноль означает отсутствие нагрузки. В Windows все три значения всегда одинаковы и представляют текущую нагрузку, а не средние значения за 1, 5 и 15 минут.

console.log(Deno.loadavg());  // e.g. [ 0.71, 0.44, 0.44 ]

Требуется разрешение allow-sys.

В Windows нет API для получения этой информации, поэтому этот метод возвращает [ 0, 0, 0 ].

Возвращаемый тип

number[]

функция Deno.memoryUsage

memoryUsage(): MemoryUsage

Возвращает объект с описанием использования памяти процессом Deno и подсистемой V8, измеряемого в байтах.

Возвращаемый тип

MemoryUsage

функция Deno.osRelease

allow-sys
osRelease(): string

Возвращает версию выпуска операционной системы.

console.log(Deno.osRelease());

Требуется разрешение allow-sys. Рассматривается возможность переноса в Deno.build или Deno.versions, а также вопрос о том, следует ли использовать зависимость sys-info, что может быть нежелательно.

Возвращаемый тип

string

функция Deno.osUptime

allow-sys
osUptime(): number

Возвращает время работы операционной системы в секундах.

console.log(Deno.osUptime());

Требуется разрешение allow-sys.

Возвращаемый тип

number

функция Deno.refTimer

refTimer(id: number | NodeJS.Timeout): void

Настраивает таймер указанного id так, чтобы он не позволял циклу событий завершиться.

Параметры

id: number | NodeJS.Timeout

Возвращаемый тип

void

функция Deno.removeSignalListener

removeSignalListener(
signal: Signal,
handler: () => void,
): void

Удаляет указанный обработчик сигнала, зарегистрированный с помощью Deno.addSignalListener.

const listener = () => {
  console.log("SIGTERM!")
};
Deno.addSignalListener("SIGTERM", listener);
Deno.removeSignalListener("SIGTERM", listener);

Примечание: В Windows поддерживаются только "SIGINT" (CTRL+C), "SIGBREAK" (CTRL+Break), "SIGTERM", "SIGQUIT", "SIGHUP" и "SIGWINCH".

Параметры

signal: Signal
handler: () => void

Возвращаемый тип

void

функция Deno.systemMemoryInfo

allow-sys
systemMemoryInfo(): SystemMemoryInfo

Отображает общий объем свободной и используемой физической памяти и памяти подкачки в системе, а также буферы и кэш, используемые ядром.

Это аналог команды free в Linux

console.log(Deno.systemMemoryInfo());

Требуется разрешение allow-sys.

Возвращаемый тип

SystemMemoryInfo

функция Deno.uid

allow-sys
uid(): number | null

Возвращает идентификатор пользователя процесса на платформах POSIX. В Windows возвращает null.

console.log(Deno.uid());

Требуется разрешение allow-sys.

Возвращаемый тип

number | null

функция Deno.unrefTimer

unrefTimer(id: number | NodeJS.Timeout): void

Настраивает таймер указанного id так, чтобы он не препятствовал завершению цикла событий.

Параметры

id: number | NodeJS.Timeout

Возвращаемый тип

void

интерфейс Deno.Env

allow-env

Интерфейс с методами для взаимодействия с переменными окружения процесса.

Переменные окружения также можно загрузить из файла .env, указав флаг --env-file при запуске программы Deno:

deno run --env-file=.env --allow-env main.ts

Если --env-file указан без значения, по умолчанию выполняется загрузка .env из текущего рабочего каталога:

deno run --env-file --allow-env main.ts

Подробнее см. в документации Deno.

Методы

get(key: string): string | undefined

Получает значение переменной окружения.

Возвращает undefined, если указанная переменная окружения не определена.

console.log(Deno.env.get("HOME"));  // e.g. outputs "/home/alice"
console.log(Deno.env.get("MADE_UP_VAR"));  // outputs undefined

Требуется разрешение allow-env.

set(
key: string,
value: string,
): void

Задает значение переменной окружения.

Deno.env.set("SOME_VAR", "Value");
Deno.env.get("SOME_VAR");  // outputs "Value"

Требуется разрешение allow-env.

delete(key: string): void

Удаляет значение переменной окружения.

Deno.env.set("SOME_VAR", "Value");
Deno.env.delete("SOME_VAR");  // outputs "undefined"

Требуется разрешение allow-env.

has(key: string): boolean

Проверяет, задана ли переменная окружения.

Deno.env.set("SOME_VAR", "Value");
Deno.env.has("SOME_VAR");  // outputs true

Требуется разрешение allow-env.

toObject(): { [index: string]: string; }

Возвращает снимок переменных окружения на момент вызова в виде простого объекта с ключами и значениями.

Deno.env.set("TEST_VAR", "A");
const myEnv = Deno.env.toObject();
console.log(myEnv.SHELL);
Deno.env.set("TEST_VAR", "B");
console.log(myEnv.TEST_VAR);  // outputs "A"

Требуется разрешение allow-env.


интерфейс Deno.MemoryUsage

Свойства

rss: number

Количество байтов в резидентном наборе текущего процесса Deno, то есть объем памяти, занимаемой в основной памяти (ОЗУ).

heapTotal: number

Общий размер кучи V8 в байтах.

heapUsed: number

Объем используемой V8 кучи в байтах.

external: number

Память в байтах, связанная с объектами JavaScript за пределами изолята JavaScript.


интерфейс Deno.SystemMemoryInfo

Информация, возвращаемая при вызове Deno.systemMemoryInfo.

Свойства

total: number

Общий объем установленной памяти в байтах.

free: number

Объем неиспользуемой памяти в байтах.

available: number

Оценка объема памяти в байтах, доступной для запуска новых приложений без использования подкачки. В отличие от данных, предоставляемых полями cache или free, это поле учитывает кэш страниц, а также то, что не вся освобождаемая память будет освобождена, поскольку некоторые элементы используются.

buffers: number

Память, используемая буферами ядра.

cached: number

Память, используемая кэшем страниц и slab-аллокаторами.

swapTotal: number

Общий объем памяти подкачки.

swapFree: number

Объем неиспользуемой памяти подкачки.


псевдоним типа Deno.Signal

Сигналы операционной системы, которые можно прослушивать или отправлять подпроцессам. Набор сигналов и их стандартное поведение зависят от операционной системы.

Определение

"SIGABRT"
| "SIGALRM"
| "SIGBREAK"
| "SIGBUS"
| "SIGCHLD"
| "SIGCONT"
| "SIGEMT"
| "SIGFPE"
| "SIGHUP"
| "SIGILL"
| "SIGINFO"
| "SIGINT"
| "SIGIO"
| "SIGPOLL"
| "SIGUNUSED"
| "SIGKILL"
| "SIGPIPE"
| "SIGPROF"
| "SIGPWR"
| "SIGQUIT"
| "SIGSEGV"
| "SIGSTKFLT"
| "SIGSTOP"
| "SIGSYS"
| "SIGTERM"
| "SIGTRAP"
| "SIGTSTP"
| "SIGTTIN"
| "SIGTTOU"
| "SIGURG"
| "SIGUSR1"
| "SIGUSR2"
| "SIGVTALRM"
| "SIGWINCH"
| "SIGXCPU"
| "SIGXFSZ"

переменная Deno.args

Возвращает аргументы командной строки, переданные программе.

Рассмотрим следующий вызов Deno из командной строки:

deno eval "console.log(Deno.args)" Sushi Maguro Hamachi

Тогда Deno.args будет содержать:

[ "Sushi", "Maguro", "Hamachi" ]

Если вам нужен структурированный способ разбора аргументов, воспользуйтесь parseArgs() из стандартной библиотеки Deno.

Тип

string[]

переменная Deno.build

Информация о сборке текущей среды выполнения Deno.

Не рекомендуется создавать в коде ветвления на основе этой информации, поскольку со временем могут измениться предположения о доступных возможностях в разных средах сборки. Разработчикам следует отдельно проверять наличие функций, которые они планируют использовать.

Эта информация предназначена для ведения журналов и отладки.

Свойства

target: string

Целевая тройка LLVM — сочетание ${arch}-${vendor}-${os}, определяющее конкретную цель сборки, для которой была собрана текущая среда выполнения.

arch: "x86_64" | "aarch64"

Архитектура набора команд, для которой был собран интерфейс командной строки Deno.

os:
"darwin"
| "linux"
| "android"
| "windows"
| "freebsd"
| "netbsd"
| "aix"
| "solaris"
| "illumos"

Операционная система, для которой был собран интерфейс командной строки Deno. "darwin" также известна как OSX или MacOS.

standalone: boolean
vendor: string

Производитель компьютера, для которого был собран интерфейс командной строки Deno.

env: string
необязательно

Необязательные флаги среды, заданные для этой сборки интерфейса командной строки Deno.


переменная Deno.env

allow-env

Интерфейс с методами для взаимодействия с переменными среды процесса.

Тип

Env

переменная Deno.exitCode

Код завершения процесса Deno.

Если код завершения не задан, Deno будет считать кодом возврата 0.

При задании кода завершения необходимо указать число или строку, не являющуюся NaN; в противном случае будет выброшено исключение TypeError.

console.log(Deno.exitCode); //-> 0
Deno.exitCode = 1;
console.log(Deno.exitCode); //-> 1

Тип

number

переменная Deno.mainModule

allow-read

URL модуля точки входа, указанного в командной строке. Требуется разрешение на чтение для CWD.

Дополнительную информацию см. в ImportMeta.

Тип

string

переменная Deno.noColor

Отражает значение переменной среды NO_COLOR на момент запуска программы.

Если значение равно true, интерфейс командной строки Deno попытается не отправлять коды цвета в stderr или stdout; другие программы командной строки также должны учитывать это значение.

См.: https://no-color.org/

Тип

boolean

переменная Deno.pid

Идентификатор текущего процесса этого экземпляра интерфейса командной строки Deno.

console.log(Deno.pid);

Тип

number

переменная Deno.ppid

Идентификатор родительского процесса этого экземпляра интерфейса командной строки Deno.

console.log(Deno.ppid);

Тип

number

переменная Deno.version

Информация о версии текущей среды выполнения интерфейса командной строки Deno.

Не рекомендуется создавать в коде ветвления на основе этой информации, поскольку со временем могут измениться предположения о доступных возможностях в разных средах сборки. Разработчикам следует отдельно проверять наличие функций, которые они планируют использовать.

Эта информация предназначена для ведения журналов и отладки.

Свойства

deno: string

Версия интерфейса командной строки Deno. Например: "1.26.0".

v8: string

Версия V8, используемая Deno. Например: "10.7.100.0".

V8 — это базовая платформа среды выполнения JavaScript, на которой построен Deno.

typescript: string

Версия TypeScript, используемая Deno. Например: "4.8.3".

Проверяющая типы версия TypeScript и языковой сервер встроены в интерфейс командной строки Deno.


© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/deno/runtime

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API