Функции объектов
$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.