Перейти к основному содержимому
Версия: 2.0 (WIP)

Функции объектов

$keys()

Сигнатура: $keys(object)

Возвращает массив ключей объекта. Если аргумент — массив объектов, возвращается список без повторов всех ключей всех объектов.

$lookup()

Сигнатура: $lookup(object, key)

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

$spread()

Сигнатура: $spread(object)

Разделяет object с парами ключ/значение на массив объектов, каждый из которых содержит одну пару из исходного объекта. Если параметр — массив объектов, результирующий массив содержит объект для каждой пары каждого объекта.

$merge()

Сигнатура: $merge(array<object>)

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

$sift()

Сигнатура: $sift(object, function)

Определение приведено в разделе функций высшего порядка.

$each()

Сигнатура: $each(object, function)

Возвращает массив значений, которые возвращает function, применённая к каждой паре ключ/значение объекта object.

function вызывается с двумя аргументами: function(value, name), где value — значение пары, а name — её имя. Параметр name необязателен.

Пример:

$each(Address, function($v, $k) {$k & ": " & $v})

Результат:

[
"Street: Hursley Park",
"City: Winchester",
"Postcode: SO21 2JN"
]

$error()

Сигнатура: $error(message)

Намеренно генерирует ошибку с необязательным message.

$assert()

Сигнатура: $assert(condition, message)

Если condition истинно, функция возвращает undefined. Если условие ложно, генерируется исключение с message в качестве сообщения.

$type()

Сигнатура: $type(value)

Определяет тип value и возвращает одну из строк:

  • "null"
  • "number"
  • "string"
  • "boolean"
  • "array"
  • "object"
  • "function"

Если value имеет значение undefined, возвращается нестроковое undefined.