0.0.10 • Published 6 years ago

groovy.utils v0.0.10

Weekly downloads
2
License
ISC
Repository
github
Last release
6 years ago

groovy.utils

Реализация некоторых полезных функций из Groovy на Javascript

Установка

bower install groovy.utils

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

  1. передано два аргумента, то это colletion и handler, в качестве контекста используется контекст функции.
  2. передан один аргумент, то это handler. Коллекция берется из контекста функции и она же используется как контекст.

Таким образом можно привязать коллекцию к функции в виде контекста

var myCollectionEach = each.bind([1, 2, 3]);
myCollectionEach(function(value, key, index){ /* ... */ });

Collection

В документации под коллекцией подразумевается Array, Object, FileList, HTMLCollection, jQuery или NodeList. С этими объектами функции работают правильно. Список будет дополняться.

each

Collection each([collection, context], handler)

Вызывает принятый обработчик в заданном или глобальном контексте, для каждого элемента коллекции и возвращает исходный объект

each([1,2,3], console, function(value, key, index){
  this.log(value, key, index);
});

grep

Array|Object grep([collection, context], handler)

Отфильтрует коллекцию и вернет новую в виде массива или объекта, в зависимости от того что было указано в качестве коллекции.

grep([1,2,3,4], function(value){ return value % 2 === 0; });

collect

Array|Object collect([collection, context], handler)

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

collect([1,2,3], function(value, key, index){ return value * index; }); // [0, 2, 6]

collectEntries

Array|Object collectEntries([collection, context], handler)

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

collectEntries({a: 10, b: 20}, function(value, key, index){ return [key.toUpperCase(), value * 10]; }); // {A: 100, B: 200}

fs

String fs(format, args[, cusomMods])

Выводит строку отформатированную в соответствии с указанным форматом. Принцип работы похож на функцию printf в PHP или System.out.format в Java, только адаптированный под требования javascript.

Синтаксис ключей

  • %s - без аргументов
  • ${su} - без агрументов
  • ${sr:foo,bar} - с аргументами

Строковые (интерпретируют аргумент как строку)

  • s - отобразить как есть
  • sU - привести к верхнему регистру
  • su - привести первый символ каждого слова к верхнему регистру
  • sL - привести к нижнему регистру
  • sl - привести первый символ каждого слова к нижнему регистру
  • seu - кодировать функцией encodeURIComponent
  • sdu - декодировать функцией decodeURIComponent
  • sr:from,to - заменить подстроку указанную в первом параметре на подстроку указанную во втором

Числовые (аргумент интерпретируется как число)

  • d - отобразить как есть
  • df:num - добавить дробную часть указанной длины (два, по умолчанию)
  • de:num - научная нотация в нижнем регистре (в параметре кол-во знаков после запятой)
  • dE:num - научная нотация в верхнем регистре (в параметре кол-во знаков после запятой)
  • dh - как шестнадцатиричное число в нижнем регистре
  • dH - как шестнадцатиричное число в верхнем регистре
  • db - как бинарное число
  • do - как восьмиричное число
  • dn:from,to - переводит в из указанной системы в указанную систему счисления (по умлочанию 10)

Массивы (аргумент будет привен к массиву, если не является таковым, и у него будет вызван метод join)

  • a - элементы через запятую + побел ', '
  • as:str - конкатенация элементов указаной подстрокой (по умолчанию запятая)

JSON (аргумент будет прведен к массиву, если не является массивом или объктом)

  • j - будет использована функция JSON.stringify
fs("Меня зовут %su и мне ${dn:16} лет", ["виктор", 19]) // Меня зовут Виктор и мне 25 лет
0.0.10

6 years ago

0.0.9

8 years ago

0.0.7

8 years ago

0.0.6

8 years ago