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
0
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.5
to
1.1.6
+6
-4
package.json

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

},
"version": "1.1.5",
"version": "1.1.6",
"license": "MIT",

@@ -33,5 +33,6 @@ "keywords": [

"prebundle": "rm -rf dist",
"bundle": "yarn run ts:types && node bundle.js",
"pretest": "yarn run bundle",
"test": "node test",
"bundle": "npm run ts:types && node bundle.js",
"pretest": "npm run bundle",
"test": "NODE_V8_COVERAGE=coverage node --test test/*.test.js",
"coverage": "npm run test && c8 report --temp-directory=coverage",
"lint": "eslint ./lib/**/*.ts",

@@ -47,2 +48,3 @@ "prepare": "is-ci || husky install"

"@typescript-eslint/parser": "^5.30.5",
"c8": "^10.1.2",
"esbuild": "^0.14.23",

@@ -49,0 +51,0 @@ "eslint": "^8.19.0",

+26
-8

@@ -18,3 +18,3 @@ # Verification code generator for Node.js

If digital codes is only what you need - just use **getDigitalCode**
If digital codes is only what you need - just use shortcut **getDigitalCode**

@@ -28,4 +28,13 @@ ```js

You can create custom generator in two ways. Simpliest - using **sequenceFromAlphabet** helper function as follows:
## Own alphabet
Library is built on two entites:
* **generator** - function which generates `Buffer` with random content any length. It utilises sequence-function to produce random sequences
* **sequence-function** - function which provides sequence of random elements (*up to 10 symbols*)
> Although sequence size is limited to 10 symbols, it doesn't mean you cannot generate longer codes. Generator will call sequence-function multiple times to get code with desired length.
So, to create own code generator you will need to create your own sequence-function. To do so you can simply use **sequenceFromAlphabet** shortcut as follows:
```js

@@ -40,6 +49,6 @@ const { sequenceFromAlphabet, createGenerator } = require('node-verification-code')

getEmojiCode(4) // -> for example: 🐹🐭🐹🐰
getEmojiCode(4).toString() // -> for example: 🐹🐭🐹🐰
```
You can also create your sequence function by hand:
Also, you can create your own sequence function by hand, just implement `(number) => string` contract and pass it to `createGenerator`:

@@ -49,6 +58,15 @@ ```js

// only shown as example, don't do this in real code - crypto module produces better results
const mathRandomSequence = (charCount) => Math.floor(Math.random() * charCount)
/*
!!! only shown as example, don't do this in real code - crypto module produces better results
Sequence-function contract implementation:
(number) => string
*/
const mathRandomSequence = (charCount) => '0'.repeat(charCount).replaceAll('0', () => Math.floor(Math.random() * 10))
// Create code generator from sequence
const makeMyOwnVerificationCode = createGenerator(mathRandomSequence)
// Generate code
makeMyOwnVerificationCode(4).toString() // -> for example: '2108'
```

@@ -59,3 +77,3 @@

```sh
yarn add node-verification-code
npm install node-verification-code
```

@@ -66,3 +84,3 @@

```sh
yarn test
npm run test
```

@@ -69,0 +87,0 @@

# 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)_