npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

molotok

v0.1.4

Published

Helpers for enjoying the development.

Downloads

10

Readme

Molotok — набор помощников для эффективной разработки

Для организации модулей используется definer.

Документация в JSDoc.

Готовые файлы:

Установка

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 — NaN
  • is.boolean — логический тип
  • is.null — null
  • is.undefined — undefined
  • is.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} — экземпляр класса