0.8.5 • Published 1 year ago

cyrillic-latin-search v0.8.5

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

cyrillic-latin-search 🔤

Cyrillic Latin Search is convenient for Cyrillic Latin search engines because you can write "Celavica" ("Bald letters") "c" for "č", "s" for "š", "и" for "й",...

Supports ISO 9 standard

Examples

LatinCelavicaincludes
NišNistrue
ĆaoCaotrue
ŠišmišSismistrue
čeljavoCeljavofalse
CyrillicCelavicaincludes
НӣшНишtrue
үйүиtrue
ХорошийХорошииtrue
Добрийдобрииfalse

The last ones are false because functions are Case Sensitive.

Installation

npm install cyrillic-latin-search
# or
yarn add cyrillic-latin-search

Usage

import { includes, indexOf, setDefaultAlphabet } from "cyrillic-latin-search";

// latin search
includes("Lep je grad, Niš", "Nis"); // => true
indexOf("Lep je grad, Niš", "Nis"); // => 13

// cyrillic search
includes("Привет мой друг", "мои", "cyrillic"); // => true
setDefaultAlphabet("cyrillic"); // you can set 'latin' or 'cyrillic'
indexOf("Привет мой друг", "мои"); // => 7

Documentation

Default alphabet is latin. But you can change that with function setDefaultAlphabet

Types

type Alphabet = "cyrillic" | "latin";

Functions

Returns true if searchString appears as a substring in string str.

includes(str: string, searchString: string, alphabet?: Alphabet): boolean

Returns the position of the first occurrence of a searchString or -1 if searchString is not occurring in string str.

indexOf(
  str: string,
  searchString: string,
  alphabet?: Alphabet,
  position?: number // start of the search (by default 0)
): number;

Finding all the occurrences of an searchString in str and returning array of positions or empty array if it is not present.

allIndexOf(
  str: string,
  searchString: string,
  alphabet?: Alphabet,
  position?: number // start of the search (by default 0)
): number[]

Sets defaultAlphabet witch is used by other functions. Valid values are: "cyrillic" or "latin".

setDefaultAlphabet(alphabet: Alphabet): void

Gets defaultAlphabet witch is used by other functions. By default this will return "latin"

getDefaultAlphabet(): string

Converts string str to Celavica depending on defaultAlphabet or passed argument alphabet. (eg.) // for alphabet = "latin" Niš -> Nis, // for alphabet = "cyrillic" Хороший -> Хорошии

convertToCelavica(str: string, alphabet?: Alphabet): string

Gets dictionary that is used for conversion from Cyrillic/Latin to Celavica based on alphabet.

getDict(alphabet?: Alphabet): Record<string, string>