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

persian-use

v1.2.1

Published

A collection of useful utilities for Persian users written in TypeScript

Downloads

22

Readme

Persian-Use

A collection of useful utilities for Persian users written in JavaScript. This npm package includes the following utils:

useSpokenNumber

This hook converts a given number to its written and spoken form in Persian.

import { useSpokenNumber } from 'persian-use'
const spokenNumber = useSpokenNumber(1234.56)
console.log(spokenNumber) // "یک هزار و دویست و سی و چهار ممیز پنجاه و شش صدم"

usePersianDate

This hook converts a Gregorian date into a Jalali (Persian) date with full support of weekday and month names.

import { usePersianDate } from 'persian-use'
const gregorianDate = new Date()
const persianDate = usePersianDate(gregorianDate)
console.log(persianDate) // e.g. "یکشنبه، ۱۷ اردیبهشت ۱۴۰۲"

usefreeTranslator

code snippet for a free translator that uses the Google Translate API. It takes in a text string, a source language, and a target language and returns the translated text. The translator has three helper functions that allow you to translate a text string from Persian to English, from English to Persian, or from any language to Persian.

export const persianToEnglishTranslator = (inputString: string) => {
  return freeTranslator(inputString, 'fa', 'en')
}

export const englishToPersianTranslator = (inputString: string) => {
  return freeTranslator(inputString, 'en', 'fa')
}

export const anythingToPersianTranslator = (inputString: string) => {
  return freeTranslator(inputString, '', 'fa')
}
persianToEnglishTranslator('سلام دنیا').then(console.log)
// Output: "Hello world"
englishToPersianTranslator('Hello world').then(console.log)
// Output: "سلام دنیا"
anythingToPersianTranslator('Bonjour le monde').then(console.log)
// Output: "سلام دنیا"

usePersiuseHalfSpaceanMobile

The useHalfSpace function is a utility function that converts Arabic and Persian text to use half-space instead of full space in specific cases.

import useHalfSpace from './useHalfSpace'
const inputText = 'آدم ها ماشین ها سیاره ها'
const outputText = useHalfSpace(inputText)
console.log(outputText)
// Output: "آدم‌ها ماشین‌ها سیاره ها"

usePersianMobile

This hook validates whether a given string is a valid Persian mobile phone number.

import { usePersianMobile } from 'persian-use'
const isValidMobileNumber = usePersianMobile('09123456789')
console.log(isValidMobileNumber)
// true  const
isInvalidMobileNumber = usePersianMobile('1234567890')
console.log(isInvalidMobileNumber) // false

usePersianCurrency

The usePersianCurrency function is a custom hook that fetches the exchange rate of USD to IRR (Iranian Rial) from the xe.com website. The function uses a regular expression to extract the exchange rate from the HTML response and returns it.

import usePersianCurrency from 'persian-use/usePersianCurrency'

const exchangeRate = usePersianCurrency()
console.log(`1 USD = ${exchangeRate} IRR`)

UsePersianSlang (fohsh detector)

UsePersianSlang is a simple utility function that takes in a string and checks if it contains any Persian slang words or not.

import usePersianSlang from 'use-persian-slang'

const string1 = 'این یک جمله است'
const string2 = 'این جمله حاوی کلمه بد است'

console.log(usePersianSlang(string1)) // false
console.log(usePersianSlang(string2)) // true

UsePersianToFinglish and UseFinglishToPersian

UsePersianToFinglish and UseFinglishToPersian are two utility functions that allow you to convert Persian text to Finglish (Romanized Persian) and Finglish text to Persian, respectively.

import {
  usePersianToFinglish,
  useFinglishToPersian,
} from 'use-persian-finglish'

const persianText = 'این یک متن فارسی است'
const finglishText = 'in yek matn farsi ast'

console.log(usePersianToFinglish(persianText)) // "in yek matn farsi ast"
console.log(useFinglishToPersian(finglishText)) // "این یک متن فارسی است"

useConvertEnToPe

This hook converts English digits in a string to Persian digits.

import { useConvertEnToPe } from 'persian-use'
const persianDigits = useConvertEnToPe('1234567890')
console.log(persianDigits) // "۱۲۳۴۵۶۷۸۹۰"

useconvertPeToEn

This hook converts Persian digits in a string to English digits.

import { useconvertPeToEn } from "persian-use";
const englishDigits = useconvertPeToEn("۱۲۳۴۵۶۷۸۹۰");
console.log(englishDigits);

usePurePersian

This hook checks if a given string only includes Persian characters.

import { usePurePersian } from 'persian-use'
const hasOnlyPersianCharacters = usePurePersian('سلام')
console.log(hasOnlyPersianCharacters) // true
const hasEnglishCharacters = usePurePersian('Hello سلام')
console.log(hasEnglishCharacters) // false

useIncludesPersian

This hook checks if a given string includes any Persian characters.

import { useIncludesPersian } from 'persian-use'
const hasPersianCharacters = useIncludesPersian('Hello سلام')
console.log(hasPersianCharacters) // true

Installation

You can install the package using NPM:

bashCopy code

npm install persian-use

Usage

To use any of the included utilities in your project, simply import the corresponding function from the package

Contributing

If you'd like to contribute to this project, feel free to submit a pull request or open an issue.

Show Your Support

Every contribution, no matter the size, is highly appreciated. Your support not only encourages us but also helps motivate us to keep working on improving this package. If you find value in using this npm package, we would be grateful if you consider making a donation to support our efforts.

Thank you for considering a donation and supporting our project. We truly value your contribution and are committed to delivering a high-quality package to meet your needs. If you would like to make a donation, you can do so by visiting our donation page here. We accept donations through various payment methods, providing you with flexibility in choosing the option that works best for you

Author

"Persian-Use" was created by Andishe Abbasian.

License

This package is released under the Unlicense, which is a public domain license. You are free to use, modify, and distribute this package however you like, with or without attribution.