Модуль базовый модуль

Модуль утилит

Общий инструментальный модуль

объекты

LruCache

LRU (наименее используемый) объект кеша, см. Объект LruCache .

1
LruCache util.LruCache;

Статическая функция

format

Формат переменных в указанном формате

1 2
static String util.format(String fmt, ...args);

Параметры звонка:

  • fmt : String, отформатированная строка
  • args : ..., список необязательных параметров

Возвращает результат:

  • String , вернуть отформатированную строку

Формат форматной переменной

1
static String util.format(...args);

Параметры звонка:

  • args : ..., список необязательных параметров

Возвращает результат:

  • String , вернуть отформатированную строку

inherits

Наследует методы-прототипы от одного конструктора к другому. Прототип конструктора будет установлен на новый объект, созданный из superConstructor.

1 2
static util.inherits(Value constructor, Value superConstructor);

Параметры звонка:

  • constructor : Значение, начальный конструктор
  • superConstructor : значение, унаследованный суперкласс

inspect

Этот метод возвращает строковое представление obj, которое в основном используется для отладки. Дополнительные параметры могут быть использованы для изменения определенных аспектов форматированной строки.

1 2
static String util.inspect(Object obj, Object options = {});

Параметры звонка:

  • obj : Object, указывает объект для обработки
  • options : Object, указать параметры управления форматом

Возвращает результат:

  • String , вернуть отформатированную строку

isEmpty

Определить, не содержит ли данная переменная какое-либо значение (без перечисляемых атрибутов)

1
static Boolean util.isEmpty(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , правда, если пусто

isArray

Определить, является ли данная переменная массивом

1
static Boolean util.isArray(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , true, если это массив

isBoolean

Определить, является ли данная переменная логической

1
static Boolean util.isBoolean(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , true, если Boolean

isNull

Определить, является ли данная переменная нулевой

1
static Boolean util.isNull(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , или True, если Null

isNullOrUndefined

Проверяет, является ли данная переменная нулевой или неопределенной

1
static Boolean util.isNullOrUndefined(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , True, если Null или Undefined

isNumber

Определить, является ли данная переменная числом

1
static Boolean util.isNumber(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , true, если это число

isBigInt

Определить, является ли данная переменная BigInt

1
static Boolean util.isBigInt(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , true, если это число

isString

Определить, является ли данная переменная строкой

1
static Boolean util.isString(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , true, если это строка

isUndefined

Проверяет, является ли данная переменная неопределенной

1
static Boolean util.isUndefined(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , True, если не определено

isRegExp

Определить, является ли данная переменная обычным объектом

1
static Boolean util.isRegExp(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , true, если это обычный объект

isObject

Определить, является ли данная переменная объектом

1
static Boolean util.isObject(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , true, если это объект

isDate

Определить, является ли данная переменная объектом даты

1
static Boolean util.isDate(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , true, если это объект даты

isNativeError

Определить, является ли данная переменная объектом ошибки

1
static Boolean util.isNativeError(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , True, если это объект ошибки

isPrimitive

Определить, является ли данная переменная примитивного типа

1
static Boolean util.isPrimitive(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , true, если тип примитива

isSymbol

Определить, имеет ли данная переменная тип Symbol

1
static Boolean util.isSymbol(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , True if Symbol

isDataView

Проверяет, имеет ли данная переменная тип DataView

1
static Boolean util.isDataView(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , true, если тип DataView

isExternal

Проверяет, имеет ли данная переменная тип External

1
static Boolean util.isExternal(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , правда, если внешний

isMap

Проверяет, имеет ли данная переменная тип Map

1
static Boolean util.isMap(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , true, если это тип карты

isMapIterator

Проверяет, имеет ли данная переменная тип MapIterator

1
static Boolean util.isMapIterator(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , true, если это MapIterator

isPromise

Проверяет, имеет ли данная переменная тип Promise

1
static Boolean util.isPromise(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , True, если тип Promise

isAsyncFunction

Проверяет, имеет ли данная переменная тип AsyncFunction

1
static Boolean util.isAsyncFunction(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , true, если AsyncFunction

isSet

Проверяет, имеет ли данная переменная тип Set

1
static Boolean util.isSet(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , True, если это Set

isSetIterator

Проверяет, имеет ли данная переменная тип SetIterator

1
static Boolean util.isSetIterator(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , True, если это SetIterator

isTypedArray

Проверяет, имеет ли данная переменная тип TypedArray

1
static Boolean util.isTypedArray(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , True если TypedArray

isUint8Array

Проверяет, имеет ли данная переменная тип Uint8Array

1
static Boolean util.isUint8Array(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , true, если Uint8Array

isFunction

Определить, является ли данная переменная функциональным объектом

1
static Boolean util.isFunction(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , true, если это функциональный объект

isBuffer

Проверяет, является ли данная переменная объектом функции Buffer

1
static Boolean util.isBuffer(Value v);

Параметры звонка:

  • v : значение, учитывая переменную, которая будет обнаружена

Возвращает результат:

  • Boolean , true, если функция является объектом Buffer

has

Запросить, содержит ли указанный объект данный ключ

1 2
static Boolean util.has(Value v, String key);

Параметры звонка:

  • v : значение, учитывая объект, который будет запрошен
  • key : String, указывает ключ для запроса

Возвращает результат:

  • Boolean , возвращает массив всех ключей объекта

keys

Запросить все массивы ключей указанного объекта

1
static Array util.keys(Value v);

Параметры звонка:

  • v : значение, учитывая объект, который будет запрошен

Возвращает результат:

  • Array , возвращает массив всех ключей объекта

values

Запросить весь массив значений указанного объекта

1
static Array util.values(Value v);

Параметры звонка:

  • v : значение, учитывая объект, который будет запрошен

Возвращает результат:

  • Array , возвращает массив всех значений объекта

clone

Клонируйте данную переменную, если это объект или массив, скопируйте содержимое в новый объект

1
static Value util.clone(Value v);

Параметры звонка:

  • v : значение с учетом клонируемой переменной

Возвращает результат:

  • Value , возвращает клонированный результат

deepFreeze

Глубокая заморозка объекта, замороженный объект и содержащиеся в нем объекты не могут быть изменены

1
static util.deepFreeze(Value v);

Параметры звонка:

  • v : значение, указывает объект, который будет заморожен

extend

Расширить значение ключа одного или нескольких объектов до указанного объекта

1 2
static Value util.extend(Value v, ...objs);

Параметры звонка:

  • v : значение, указывает объект, который будет расширен
  • objs : ..., укажите один или несколько объектов для расширения

Возвращает результат:

  • Value , вернуть расширенный результат

_extend

Расширяет значение ключа одного или нескольких объектов до указанного объекта, который является псевдонимом extends

1 2
static Value util._extend(Value v, ...objs);

Параметры звонка:

  • v : значение, указывает объект, который будет расширен
  • objs : ..., укажите один или несколько объектов для расширения

Возвращает результат:

  • Value , вернуть расширенный результат

pick

Возвращает копию object , отфильтровывая только значения атрибутов указанного ключа

1 2
static Object util.pick(Value v, ...objs);

Параметры звонка:

  • v : значение, укажите объект для фильтрации
  • objs : ..., укажите один или несколько ключей для выбора

Возвращает результат:

  • Object , возвращающий отфильтрованные результаты

omit

Возвращает копию object , исключая только значения атрибутов указанного ключа

1 2
static Object util.omit(Value v, ...keys);

Параметры звонка:

  • v : значение, укажите объект для фильтрации
  • keys : ..., укажите один или несколько ключей для исключения

Возвращает результат:

  • Object , возвращающий исключенные результаты

first

Получить первый элемент массива

1
static Value util.first(Value v);

Параметры звонка:

  • v : значение, учитывая массив, чтобы получить

Возвращает результат:

  • Value , возвращает полученный элемент

Получить первые несколько элементов массива

1 2
static Value util.first(Value v, Integer n);

Параметры звонка:

  • v : значение, учитывая массив, чтобы получить
  • n : целое число, укажите количество элементов для получения

Возвращает результат:

  • Value , возвращает полученный массив элементов

last

Получить первый элемент массива

1
static Value util.last(Value v);

Параметры звонка:

  • v : значение, учитывая массив, чтобы получить

Возвращает результат:

  • Value , возвращает полученный элемент

Получить несколько элементов в конце массива

1 2
static Value util.last(Value v, Integer n);

Параметры звонка:

  • v : значение, учитывая массив, чтобы получить
  • n : целое число, укажите количество элементов для получения

Возвращает результат:

  • Value , возвращает полученный массив элементов

unique

Получить дубликаты копий элементов массива

1 2
static Array util.unique(Value v, Boolean sorted = false);

Параметры звонка:

  • v : значение, учитывая массив для дедупликации
  • sorted : Boolean, указывает, будет ли отсортирован массив. Если массив отсортирован, будет использован быстрый алгоритм

Возвращает результат:

  • Array , возвращает массив после дедупликации

union

Объединить значения одного или нескольких массивов в уникальный массив

1
static Array util.union(...arrs);

Параметры звонка:

  • arrs : ..., укажите один или несколько массивов для слияния

Возвращает результат:

  • Array , вернуть результат слияния

intersection

Возвращает пересечение массива, содержащего arr, исключая один или несколько элементов массива

1
static Array util.intersection(...arrs);

Параметры звонка:

  • arrs : ..., укажите один или несколько массивов для вычисления пересечения

Возвращает результат:

  • Array , возвращает результат вычисления пересечения

flatten

Преобразует многоуровневый вложенный массив (вложенность может быть любым количеством уровней) в массив только с одним уровнем. Если вы передадите параметр allow, массив уменьшит вложенность только на одно измерение.

1 2
static Array util.flatten(Value arr, Boolean shallow = false);

Параметры звонка:

  • arr : Value, указывает массив для преобразования
  • shallow : Boolean, укажите, нужно ли уменьшать только одномерное вложение, по умолчанию false

Возвращает результат:

  • Array , вернуть результат конвертации

without

Возвращает массив, содержащий один или несколько элементов из массива arr.

1 2
static Array util.without(Value arr, ...els);

Параметры звонка:

  • arr : значение, укажите массив для исключения
  • els : ..., укажите один или несколько элементов для исключения

Возвращает результат:

  • Array , возвращающий исключенные результаты

difference

Возвращает массив, содержащий исключенные элементы массива из массива arr.

1 2
static Array util.difference(Array list, ...arrs);

Параметры звонка:

  • list : Array, укажите массив для исключения
  • arrs : ..., укажите один или несколько массивов для исключения

Возвращает результат:

  • Array , возвращающий исключенные результаты

each

Перебирайте все элементы в списке и выводите каждый элемент в обратном порядке. Если передан параметр context, итератор привязывается к объекту context. Каждый вызов итератора передает три параметра: (элемент, индекс, список)

1 2 3
static Value util.each(Value list, Function iterator, Value context = undefined);

Параметры звонка:

  • list : значение, указывает список или объект, который необходимо пройти
  • iterator : Function, укажите функцию обратного вызова для обхода
  • context : Value, определяет объект контекста, связанный при вызове итератора

Возвращает результат:

  • Value , вернуть сам список

map

Каждая функция в списке отображается на новый массив через функцию преобразования (итератор итератор). Если передан параметр context, итератор привязывается к объекту context. Каждый вызов итератора передает три параметра: (элемент, индекс, список)

1 2 3
static Array util.map(Value list, Function iterator, Value context = undefined);

Параметры звонка:

  • list : значение, указывает список или объект для преобразования
  • iterator : Function, укажите функцию обратного вызова для преобразования
  • context : Value, определяет объект контекста, связанный при вызове итератора

Возвращает результат:

  • Array , вернуть результат преобразования

reduce

Элементы в списке сводятся к одному значению. Если передан параметр context, итератор привязывается к объекту context. Каждый вызов итератора будет передан три параметра: (памятка, элемент, индекс, список)

1 2 3 4
static Value util.reduce(Value list, Function iterator, Value memo, Value context = undefined);

Параметры звонка:

  • list : значение, указывает список или объект, который должен быть разрешен
  • iterator : Function, укажите функцию обратного вызова для разрешения
  • memo : Value, указывает начальное значение memo
  • context : Value, определяет объект контекста, связанный при вызове итератора

Возвращает результат:

  • Value , возвращает результат разрешения

compile

Скомпилируйте скрипт в двоичный код

1 2 3
static Buffer util.compile(String srcname, String script, Integer mode = 0);

Параметры звонка:

  • srcname : String, укажите имя скрипта, который будет добавлен
  • script : String, указывает код скрипта для компиляции
  • mode : целочисленный, режим компиляции, 0: модуль, 1: скрипт, 2: работник, по умолчанию 0

Возвращает результат:

  • Buffer , вернуть скомпилированный двоичный код

util.compile может компилировать скрипты во внутренние блоки данных v8 (код, не выполняемый машиной) После сохранения скомпилированного кода в формате * .jsc его можно напрямую загрузить и выполнить с помощью run и require.

Поскольку целевой код не сможет извлечь исходный код назад после компиляции, программы, зависящие от Function.toString, не будут работать должным образом.


sync

Обернуть методы обратного вызова или асинхронные для синхронных вызовов

1 2
static Function util.sync(Function func, Boolean async_func = false);

Параметры звонка:

  • func : Функция, учитывая метод, который будет упакован
  • async_func : Boolean, указать использование асинхронной функции для обработки func, если false, он будет автоматически оценен

Возвращает результат:

  • Function , возвращает метод, который выполняется синхронно

util.sync метод обратного вызова или асинхронный метод как метод синхронизации для облегчения вызова.

Пример обратного вызова выглядит следующим образом:

1 2 3 4 5 6 7 8 9 10 11
// callback var util = require('util'); function cb_test(a, b, cb) { setTimeout(() => { cb(null, a + b); }, 100); } var fn_sync = util.sync(cb_test); console.log(fn_sync(100, 200));

Пример асинхронного:

1 2 3 4 5 6 7 8 9
// async/await var util = require('util'); async function async_test(a, b) { return a + b; } var fn_sync = util.sync(async_test); console.log(fn_sync(100, 200));

Для функций, которые возвращают обещания, которые не помечены как асинхронные, вы можете вручную указать режим синхронизации:

1 2 3 4 5 6 7 8 9 10 11
// async/await var util = require('util'); function async_test(a, b) { return new Promise(function(resolve, reject) { resolve(a + b); }); } var fn_sync = util.sync(async_test, true); console.log(fn_sync(100, 200));

buildInfo

Запрос информации о текущей версии двигателя и компонента

1
static Object util.buildInfo();

Возвращает результат:

  • Object , возвращает объект версии компонента
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
{ "fibjs": "0.25.0", "clang": "9.1", "date": "Jun 12 2018 07:22:40", "vender": { "ev": "4.24", "expat": "2.2.5", "gd": "2.2.4", "jpeg": "8.3", "leveldb": "1.17", "mongo": "0.7", "pcre": "8.21", "png": "1.5.4", "mbedtls": "2.6.1", "snappy": "1.1.2", "sqlite": "3.23.0", "tiff": "3.9.5", "uuid": "1.6.2", "v8": "6.7.288.20", "v8-snapshot": true, "zlib": "1.2.7", "zmq": "3.1" } }