cyrillic-latin-search v0.8.5
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 "й",...
Examples
| Latin | Celavica | includes |
|---|---|---|
| Niš | Nis | true |
| Ćao | Cao | true |
| Šišmiš | Sismis | true |
| čeljavo | Celjavo | false |
| Cyrillic | Celavica | includes |
|---|---|---|
| Нӣш | Ниш | 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-searchUsage
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("Привет мой друг", "мои"); // => 7Documentation
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): booleanReturns 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): voidGets defaultAlphabet witch is used by other functions.
By default this will return "latin"
getDefaultAlphabet(): stringConverts 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): stringGets dictionary that is used for conversion from Cyrillic/Latin to Celavica based on alphabet.
getDict(alphabet?: Alphabet): Record<string, string>