molotok
v0.1.4
Published
Helpers for enjoying the development.
Downloads
10
Readme
Molotok — набор помощников для эффективной разработки
Для организации модулей используется definer.
Готовые файлы:
Установка
Molotok доступен в Bower.
bower install molotok
Molotok доступен в NPM.
npm install molotok
Подключение
В браузере
<script src="bower_components/molotok/molotok.min.js"></script>
В Node.js
var molotok = require('molotok');
Модули
Модуль is
Каждый из методов модуля is
принимает неограниченное количество параметров.
Методы для проверки на определённый тип данных
Если все переданные параметры принадлежат типу данных, на который осуществляется
проверка, методы возвращают true
, иначе false
.
Параметры:
{...*}
subject
— параметры
Возвращают: {boolean}
Список методов для проверки на определённый тип данных:
is.string
— строкаis.number
— числоis.nan
— NaNis.boolean
— логический типis.null
— nullis.undefined
— undefinedis.date
— датаis.regexp
— регулярное выражениеis.array
— массивis.map
— простой объект (хэш, карта)is.argument
— аргументы функцииis.function
— функцияis.native
— системная функция
Метод is.type
Определяет тип переданных параметров.
Возвращает строку, соответствущую имени одного из методов для проверки на определённый тип данных, которые перечислены выше.
Возвращает mixed
, если были переданы параметры разных типов данных.
Параметры:
{...*}
subject
— параметры
Возвращает: {string}
Методы для проверки чисел
Проверяют параметры на число определённого вида.
Параметры:
{...*}
subject
— параметры
Возвращают: {boolean}
Список методов для проверки чисел:
is.integer
— целое числоis.float
— дробное число
Метод is.primitive
Проверяет параметры на примитивные типы данных.
В примитивные типы входят: string, number, NaN, boolean, null, undefined.
Параметры:
{...*}
subject
— параметры
Возвращает: {boolean}
Метод is.every
Проверяет параметры на единый тип данных.
Возвращает true
, если все переданные параметры относятся
к одному типу данных, иначе false
.
Параметры:
{...*}
subject
— параметры
Возвращает: {boolean}
Модуль string
Метод string.escape
Экранирует строку текста.
Предваряет дополнительным слешом: слеш, кавычки, символы перевода строки, каретки и табуляции.
Параметры:
{string}
string
— строка
Возвращает: {string}
Метод string.unEscape
Деэкранирует строку текста.
Параметры:
{string}
string
— строка
Возвращает: {string}
Метод string.htmlEscape
Экранирует HTML-строку.
Заменяет на HTML-сущности: амперсанд, угловые скобки и кавычки.
Параметры:
{string}
string
— строка
Возвращает: {string}
Метод string.unHtmlEscape
Деэкранирует HTML-строку.
Параметры:
{string}
string
— строка
Возвращает: {string}
Метод string.collapse
Удаляет повторяющиеся пробелы.
Параметры:
{string}
string
— строка
Возвращает: {string}
Метод string.stripTags
Вырезает HTML-теги.
Параметры:
{string}
string
— строка
Возвращает: {string}
Метод string.upper
Переводит всю строку, заданный символ или промежуток символов в верхний регистр.
Параметры:
{string}
string
— строка{number}
[indexA]
— порядковый номер символа{number}
[indexB]
— порядковый номер символа для указания промежутка
Возвращает: {string}
Метод string.lower
Переводит всю строку, заданный символ или промежуток символов в нижний регистр.
Параметры:
{string}
string
— строка{number}
[indexA]
— порядковый номер символа{number}
[indexB]
— порядковый номер символа для указания промежутка
Возвращает: {string}
Метод string.repeat
Повторяет строку заданное количество раз с указанным разделителем
Параметры:
{string}
string
— строка{number}
n
— количество повторений{string}
[separator]
— разделитель, по умолчанию отсутствует
Возвращает: {string}
Модуль number
Метод number.random
Возвращает случайное число.
При вызове без аргументов возвращает случайное дробное число от 0 до 1.
При вызове с указанием минимума и максимума возвращает дробное число из этого промежутка.
При вызове со всеми тремя аргументами возвращает число из заданного промежутка, делящееся без остатка на указанный шаг.
Параметры:
{number}
[min]
— минимум{number}
[max]
— максимум{number}
[step]
— шаг
Возвращает: {number}
Модуль array
Метод array.pushOnce
Добавляет элементы в массив без повтора.
Дополненный аналог стандартного метода Array.prototype.push
.
Параметры:
{array}
array
— массив{...*}
element
— элементы для добавления
Возвращает: {number}
— количество элементов в массиве
Метод array.concatOnce
Добавляет отдельные элементы и элементы других массивов в массив без повтора, не модифицируя исходный массив.
Дополненный аналог стандартного метода Array.prototype.concat
.
Параметры:
{array}
array
— массив{...*}
element
— элементы для добавления
Возвращает: {array}
— новый массив
Метод array.clone
Клонирует массив.
Параметры:
{array}
array
— клонируемый массив
Возвращает: {array}
Метод array.deepClone
Клонирует массив рекурсивно.
Параметры:
{array}
array
— клонируемый массив
Возвращает: {array}
Модуль object
Метод object.isNeedHasOwnProperty
Проверяет необходимость использования hasOwnProperty
при переборе
свойств объекта циклом for...in
.
Метод hasOwnProperty
достаточно затратен и его можно
не использовать без необходимости.
Параметры:
{object}
obj
— объект для проверки
Возвращает: {boolean}
Метод object.hasOwnProperty
Проверяет принадлежность свойства объекту с помощью нативного hasOwnProperty
.
Этот метод можно уверенно применять для любого объекта,
даже если у него задано поле hasOwnProperty
.
Параметры:
{object}
obj
— объект для проверки{string}
property
— свойство
Возвращает: {boolean}
Метод object.size
Возвращает количество собственных полей объекта.
Параметры:
{object}
obj
— объект для подсчёта
Возвращает: {number}
Метод object.isEmpty
Проверяет объект на наличие полей.
Параметры:
{object}
obj
— объект для проверки
Возвращает: {boolean}
Метод object.isEqual
Проверяет объекты на идентичность.
Параметры:
{...object}
obj
— объекты для проверки
Возвращает: {boolean}
Метод object.isDeepEqual
Проверяет объекты на идентичность рекурсивно.
Параметры:
{...object}
obj
— объекты для проверки
Возвращает: {boolean}
Метод object.extend
Расширяет объект.
Параметры:
{object}
obj
— расширяемый объект{...object}
source
— расширяющие объекты в любом количестве
Возвращает: {object}
Метод object.deepExtend
Расширяет объект рекурсивно.
Параметры:
{object}
obj
— расширяемый объект{...object}
source
— расширяющие объекты в любом количестве
Возвращает: {object}
Метод object.clone
Клонирует объект.
Параметры:
{object}
obj
— клонируемый объект
Возвращает: {object}
Метод object.deepClone
Клонирует объект рекурсивно.
Параметры:
{object}
obj
— клонируемый объект
Возвращает: {object}
Метод object.each
Перебирает значения объекта.
Параметры:
{object}
obj
— перебираемый объект{function}
callback
— колбек вызывается для каждого ключа объекта{object}
[context=obj]
— контекст вызова колбека, по умолчанию перебираемый объект
Параметры колбека:
{string}
key
— ключ перебираемого объекта{*}
val
— значение ключа{object}
obj
— перебираемый объект
При возвращении колбеком любого значения, кроме undefined
,
перебор останавливается и метод each
возвращает это значение.
Возвращает: {*}
— результат выполнения колбека
Метод object.deepEach
Перебирает значения объекта рекурсивно.
Параметры:
{object}
obj
— перебираемый объект{function}
callback
— колбек вызывается для каждого ключа объекта{object}
[context=obj]
— контекст вызова колбека, по умолчанию перебираемый объект
Параметры колбека:
{string}
key
— ключ перебираемого объекта{*}
val
— значение ключа{object}
obj
— текущий перебираемый объект
При возвращении колбеком любого значения, кроме undefined
,
перебор останавливается и метод each
возвращает это значение.
Возвращает: {*}
— результат выполнения колбека
Метод object.map
Модифицирует значения каждого ключа заданного объекта.
Параметры:
{object}
obj
— перебираемый объект{function}
callback
— колбек вызывается для каждого ключа объекта{object}
[context=obj]
— контекст вызова колбека, по умолчанию перебираемый объект
Параметры колбека:
{string}
key
— ключ перебираемого объекта{*}
val
— значение ключа{object}
obj
— перебираемый объект
Возвращаемое колбеком значение устанавливается соответствующему ключу.
Возвращает: {object}
— модифицированный объект
Метод object.deepMap
Модифицирует значения каждого ключа заданного объекта рекурсивно.
Параметры:
{object}
obj
— перебираемый объект{function}
callback
— колбек вызывается для каждого ключа объекта{object}
[context=obj]
— контекст вызова колбека, по умолчанию перебираемый объект
Параметры колбека:
{string}
key
— ключ перебираемого объекта{*}
val
— значение ключа{object}
obj
— текущий перебираемый объект
Возвращаемое колбеком значение устанавливается соответствующему ключу.
Возвращает: {object}
— модифицированный объект
Модуль functions
Метод functions.apply
Создаёт экземпляр класса с помощью apply.
Параметры:
{Function}
constructor
— класс{array}
args
— массив аргументов
Возвращает: {Object}
— экземпляр класса