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

@astral/utils

v1.6.1

Published

Утилиты и функции общего назначения.

Downloads

1,475

Readme

@astral/utils

Утилиты и функции общего назначения.

Table of contents


Installation

npm i --save @astral/utils
yarn add @astral/utils

base

base utils - Общие утилиты и функции

zeroPad

Утилита для генерации строковых чисел с заданным количеством символов, если число символов числа меньше необходимого.

import { zeroPad } from '@astral/utils';

// 001
zeroPad(1,3);

// 007
zeroPad(7,3);

// 111
zeroPad(111,3);

external base

Внешние общие утилиты и функции

isPlainObject

Утилита для проверки, является ли значение простым объектом. Подробнее

date

Утилиты и функции работы с датами

addDays

Утилита добавляющая к дате указанное количество дней

import { addDays } from '@astral/utils';

// 01.10.2024 - функция добавит 10 дней
addDays(new Date('01.01.2024'), 10);

addMonths

Утилита добавляющая к дате указанное количество месяцев

import { addMonths } from '@astral/utils';

// 04.01.2024 - функция добавит 4 месяца
addMonths(new Date('01.01.2024'), 4);

addYears

Утилита добавляющая к дате указанное количество лет

import { addYears } from '@astral/utils';

// 01.01.2024 - функция добавит 4 года
addYears(new Date('01.01.2020'), 4);

isDate

Утилита проверки значения на валидность даты

import { isDate } from '@astral/utils';

// true
isDate(new Date('01.01.2020'));

// true
isDate('01.01.2020');


// true
isDate(2024);


// false
isDate(undefined);

// false
isDate(null);

// false
isDate('some string');

declension

Утилиты и функции для работы со склонениями слов

declensionOfWords

Базовая утилита для работы со склонениями

import { declensionOfWords } from '@astral/utils';

// Возвращает функцию для склонения слова 'документ'
const declensionDocument = declensionOfWords(['документ', 'документа', 'документов']);

declensionDay

Утилита для склонения дней

import { declensionDay } from '@astral/utils';

// вернет 'день'
declensionDay(1); 

// вернет 'дня'
declensionDay(2); 

// вернет 'дней'
declensionDay(5); 

declensionMonth

Утилита для склонения месяцев

import { declensionMonth } from '@astral/utils';

// вернет 'месяц'
declensionMonth(1); 

// вернет 'месяца'
declensionMonth(2); 

// вернет 'месяцев'
declensionMonth(5); 

declensionYear

Утилита для склонения лет

import { declensionYear } from '@astral/utils';

// вернет 'год'
declensionYear(1); 

// вернет 'года'
declensionYear(2); 

// вернет 'лет'
declensionYear(5); 

file

Утилиты и функции для работы с файлами

formatFileSizeToView

Функция, которая возвращает размер файла с единицами измерения.

import { formatFileSizeToView } from '@astral/utils';

// 1.00 Б
formatFileSizeToView(1);


// 5.00 Кб
formatFileSizeToView(5 * 1024);


// 5.00 Мб
formatFileSizeToView(5 * 1024 * 1024);

// 0 Б
formatFileSizeToView(0);

formatFileTypeToView

Функция, которая возвращает расширение файла

import { formatFileTypeToView } from '@astral/utils';

// jpeg
formatFileTypeToView('.jpeg');


// pdf
formatFileTypeToView('application/pdf');

getAllFileExtensions

Функция, которая возвращает массив расширений файлов для указанного MIME-типа

import { getAllFileExtensions } from '@astral/utils';

// ['jpg', 'jpeg', 'jpe']
getAllFileExtensions('image/jpeg') 


// ['pdf']
getAllFileExtensions('application/pdf');

getFileExtension

Функция, которая возвращает расширение файла на основе переданного типа

import { getFileExtension } from '@astral/utils';


// jpg
getFileExtension('image/jpeg');


// pdf
getFileExtension('application/pdf');

getFileType

Определяет MIME-тип файла по его расширению

import { getFileType } from '@astral/utils';

// application/pdf
getFileType('pdf');


phone

Утилиты и функции работы с номерами телефона

formatPhoneToView

Форматирование номера телефона по маске

import { formatPhoneToView } from '@astral/utils';

// +7 (999) 999-99-99
formatPhoneToView('79999999999');


// 8 (999) 999-99-99
formatPhoneToView('79999999999',{
    isStartWithPlus: false,
});


// undefined
formatPhoneToView();

number

Утилиты и функции для работы с числами

formatNumberToCurrency

Форматирование чисел или строк в формат валюты

import { formatNumberToCurrency } from '@astral/utils';

// "10 000 ₽"
formatNumberToCurrency({ amount: '10000' });

// "100 ₽"
formatNumberToCurrency({ amount: 100 });

// "0 ₽"
formatNumberToCurrency({ amount: 0 });

// "Бесплатно"
formatNumberToCurrency({
  amount: 0,
  isTextInsteadOfZeroFormat: true,
});

// "Даром"
formatNumberToCurrency({
  amount: 0,
  isTextInsteadOfZeroFormat: true,
  zeroSumPlaceholder: "Даром",
});