Skip to content
Grigoriev Oleg edited this page Apr 4, 2013 · 18 revisions

go.Lang - основные вспомогательные функции

go.Lang - модуль, предоставляющий набор функций общего назначения, связанных с обработкой данных и т.п.

Модуль состоит из двух частей:

  • Базовая часть описана в файле go.js и не требует отдельного подключения. go.Lang доступен сразу же.
  • Дополнительная часть описана в файле LangExt.js и требует отдельного подключения.

Сделано это для того, чтобы не забивать основной файл go.js не слишком часто используемыми функциями.

Все функции модуля могут работать в отрыве от пространства имён:

var getType = go.Lang.getType;
getType(value);

Список базовых функций

Эта часть go.Lang включена в go.js и не требует отдельного подключения.

Связывание функций с контекстом

  • bind - связывание функции с контекстом и аргументами.
  • bindMethod - связывание метода по имени.

Определение и преобразование типов

  • getType - получение расширенного типа значения.
  • isDict - проверка, является ли аргумент простым словарём.
  • isArray - проверка, является ли аргумент массивом.
  • isStrictArray - строгая проверка на массив.
  • toArray - приведение к массиву.

Обход и слияние

  • each - обход свойств объекта.
  • copy - копирование объекта или массива.
  • extend - расширение исходного объекта свойствами другого объекта.
  • merge - рекурсивное слияние объектов.

Ещё функции

  • inherit - простое наследование конструкторов.
  • inArray - поиск значения в массиве.
  • getObjectKeys - список ключей объекта.

Вложенные модули

  • Exception - создание пользовательских "классов" исключений.
  • Listeners - слушатели событий.
  • f - вспомогательные функции-заготовки.

Список функций LangExt

Для доступа к этим функциям следует подключить модуль LangExt.

Само пространство имён go.LangExt ничего не содержит. Просто go.Lang расширяется новыми функциями.

Обход структур

  • filter - фильтрация структуры.
  • field - получение определённого поля.
  • fieldByPath - получение определённого поля по пути к нему.
  • invoke - вызов определённого метода на списке объектов.
  • sortBy - сортировка по критерию.
  • groupBy - группировка по критерию.
  • flip - обмен местами ключей и значений.
  • every - проверка, все ли элементы соответствуют критерию.
  • some - проверка, есть ли хоть один элемент, соответствующий критерию.
  • find - поиск элемента, соответствующего критерию, в структуре.
  • reduce, reduceRight - редукция списка.

Типизация

  • is*-функции - определение принадлежности к расширенному типу.

Пути в древовидных структурах

  • getByPath - доступ к значению по пути в объекте.
  • setByPath - установка значения по пути в объекте.

Параметры HTTP-запроса

  • parseQuery - разбор параметров HTTP-запросов.
  • buildQuery - формирование строки данных HTTP-запроса.

Функциональное

  • curry - каррирование функции.
  • tryDo - попытка выполнить хотя бы одну функцию из списка.
Clone this wiki locally