UNPKG

@nexim/sanitizer

Version:

A collection of sanitization utilities for phone numbers and numeric inputs with TypeScript type safety.

51 lines (35 loc) 1.71 kB
# @nexim/sanitizer ![NPM Version](https://img.shields.io/npm/v/@nexim/sanitizer) ![npm bundle size](https://img.shields.io/bundlephobia/min/@nexim/sanitizer) ![Build & Lint & Test](https://github.com/the-nexim/nanolib/actions/workflows/build-lint-test.yaml/badge.svg) ![NPM Downloads](https://img.shields.io/npm/dm/@nexim/sanitizer) ![NPM License](https://img.shields.io/npm/l/@nexim/sanitizer) ## Overview `@nexim/sanitizer` provides utilities for sanitizing phone numbers and numeric inputs with TypeScript type safety. It handles Unicode digit conversion, input validation, and standardization of formats. ## Installation Install the package using npm or yarn: ```sh npm install @nexim/sanitizer # Or using yarn yarn add @nexim/sanitizer ``` ## Features - **Number Sanitization**: Convert Unicode digits to English format with validation - **Phone Number Sanitization**: Standardize phone numbers with country code support - **Type Safety**: Full TypeScript support with proper type definitions - **Unicode Support**: Handle Persian, Arabic, and other Unicode digit systems - **Logging**: Built-in logging for debugging and monitoring ## Quick Usage ```ts import { sanitizeNumberToEnglish, sanitizePhoneNumber } from '@nexim/sanitizer'; // Sanitize numbers sanitizeNumberToEnglish(123); // returns 123 sanitizeNumberToEnglish('۱۲۳'); // returns 123 sanitizeNumberToEnglish('abc'); // returns null // Sanitize phone numbers sanitizePhoneNumber('09123456789'); // returns 989123456789 sanitizePhoneNumber('+98 912 345 6789'); // returns 989123456789 sanitizePhoneNumber('۰۹۱۲۳۴۵۶۷۸۹'); // returns 989123456789 ``` ## Documentation Read full documentation [here](./docs/README.md).