New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

node-verification-code

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-verification-code - npm Package Compare versions

Comparing version
1.1.3
to
1.1.4
+80
README_RU.md
# Node.js библиотека для генерации кодов подтверждения
![Version](https://img.shields.io/badge/version-1.0.0-blue.svg?cacheSeconds=2592000)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](#)
> Простая библиотека без зависимостей для генерации случайных кодов для Node.js
Эта библиотека использует встроенный в Node.js модуль `crypto` для эффективной генерации случайных цифровых последовательностей, также вы можете написать собственную функцию для генерации последовательностей используя простой контракт: `function (charCount: number <MAX 10>) => string`
## Использование
Если вам нужны исключительно цифровые коды - вы можете просто использовать функцию **getDigitalCode**
```js
const { getDigitalCode } = require('node-verification-code')
const smsVerificationCodeBuffer = getDigitalCode(4) // Возвращает nodejs буфер, содержащий 4 случайных цифры
// sendSms(phone, smsVerificationCodeBuffer.toString())
```
## Собственный алфавит
Библиотека работает на базе двух сущностей:
* генератор - функция для генерации буферов с случайным содержимым произвольной длины использующая функцию-последовательность
* последовательность - функция для построения строк из случайных элементов (до 10 символов)
Библиотека предоставляет несколько вспомогательных функций для изменения поведения под ваши задачи.
Например, если вам нужно использовать собственный алфавит, то самый простой способ - использовать вспомогательную функцию **sequenceFromAlphabet**, как показано в примере ниже:
```js
const { sequenceFromAlphabet, createGenerator } = require('node-verification-code')
// Создаём последовательность из алфавита - массива с символами
const emojiSequence = sequenceFromAlphabet(['🐶', '🐱', '🐭', '🐹', '🐰'])
// Создаём генератор на основе последовательности
const getEmojiCode = createGenerator(emojiSequence)
// Генерируем случайные последовательности символов алфавита
getEmojiCode(4) // -> Например: 🐹🐭🐹🐰
```
Кроме того, вы можете составить собственную функцию-последовательность вручную:
```js
const { createGenerator } = require('node-verification-code')
// Не используйте Math.random, показано только в демонстративных целях
const mathRandomSequence = (charCount) => Math.floor(Math.random() * charCount)
// Создаём генератор
const makeMyOwnVerificationCode = createGenerator(mathRandomSequence)
```
## Установка
```sh
yarn add node-verification-code
```
## Модульное тестирование
```sh
yarn test
```
## Автор
👤 **Томинов Сергей**
* Website: https://ikfi.ru
* Dzen: [@tominoff](https://dzen.ru/tominoff)
* Github: [@ikenfin](https://github.com/ikenfin)
## Поддержите проект
Поставьте ⭐️ этому репозиторию, если проект помог вам!
***
_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_
+1
-0
/// <reference types="node" />
declare module "lib/types" {
import type { Buffer } from 'node:buffer';
export type RandomSequenceGeneratorFn = (charCount: number) => string;

@@ -4,0 +5,0 @@ export type ChunkedCodeGeneratorFn = (charCount: number) => Buffer;

+3
-3

@@ -47,7 +47,7 @@ var __defProp = Object.defineProperty;

// lib/sequence.ts
var import_crypto = require("crypto");
var numericSequence = (size) => (0, import_crypto.randomInt)(0, Math.pow(10, size) - 1).toString().padStart(size, "0");
var sequenceFromAlphabet = (alphabet = []) => (charCount) => Array(charCount).fill("").map(() => alphabet[(0, import_crypto.randomInt)(0, alphabet.length)]).join("");
var import_node_crypto = require("node:crypto");
var numericSequence = (size) => (0, import_node_crypto.randomInt)(0, Math.pow(10, size) - 1).toString().padStart(size, "0");
var sequenceFromAlphabet = (alphabet = []) => (charCount) => Array(charCount).fill("").map(() => alphabet[(0, import_node_crypto.randomInt)(0, alphabet.length)]).join("");
// lib/generators.ts
var getDigitalCode = createGenerator(numericSequence);

@@ -19,3 +19,3 @@ // lib/createGenerator.ts

// lib/sequence.ts
import { randomInt } from "crypto";
import { randomInt } from "node:crypto";
var numericSequence = (size) => randomInt(0, Math.pow(10, size) - 1).toString().padStart(size, "0");

@@ -22,0 +22,0 @@ var sequenceFromAlphabet = (alphabet = []) => (charCount) => Array(charCount).fill("").map(() => alphabet[randomInt(0, alphabet.length)]).join("");

@@ -20,3 +20,3 @@ {

},
"version": "1.1.3",
"version": "1.1.4",
"license": "MIT",

@@ -23,0 +23,0 @@ "keywords": [

# Verification code generator for Node.js
![Version](https://img.shields.io/badge/version-1.0.0-blue.svg?cacheSeconds=2592000)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](#)
[![Twitter: realtominoff](https://img.shields.io/twitter/follow/realtominoff.svg?style=social)](https://twitter.com/realtominoff)

@@ -65,3 +64,2 @@ > Simple library to generate verification codes without dependencies for Node.js.

* Website: https://ikfi.ru
* Twitter: [@realtominoff](https://twitter.com/realtominoff)
* Github: [@ikenfin](https://github.com/ikenfin)

@@ -68,0 +66,0 @@