/diacritic-remover

Typescript library to handle and remove diacritics from strings

Primary LanguageTypeScriptMIT LicenseMIT

diacritic-remover

NPM Version NPM Downloads Dependency status Dev dependency status Quality Gate Coverage Maintainability Reliability Build Status LICENSE Blog Buy me a coffee

Typescript library to handle and remove diacritics from strings

INSTALLATION

NPM

npm i -s @marketto/diacritic-remover

YARN

yarn add @marketto/diacritic-remover

NodeJs

const DiacriticRemover = require('@marketto/diacritic-remover');
const diacriticRemover = new DiacriticRemover();

ES6

import DiacriticRemover from '@marketto/diacritic-remover';
const diacriticRemover = new DiacriticRemover();

TypeScript

import DiacriticRemover from '@marketto/diacritic-remover';
const diacriticRemover = new DiacriticRemover();

Script

<script src="https://unpkg.com/@marketto/diacritic-remover/dist/diacritic-remover.bundle.min.js"></script>
<script>
    const diacriticRemover = new DiacriticRemover();
</script>

L10N

NodeJs

const DiacriticRemover = require('@marketto/diacritic-remover');
const i18n_global = require('@marketto/diacritic-remover/dictionaries/i18n/global.json');
const i18n_it = require('@marketto/diacritic-remover/dictionaries/i18n/it.json');
const diacriticRemover = new DiacriticRemover(i18n_it);

ES6

import DiacriticRemover from '@marketto/diacritic-remover';
import i18n_global from '@marketto/diacritic-remover/dictionaries/i18n/global.json';
import i18n_it from '@marketto/diacritic-remover/dictionaries/i18n/it.json';
const diacriticRemover = new DiacriticRemover(i18n_it);

TypeScript

import DiacriticRemover from '@marketto/diacritic-remover';
import i18n_global from '@marketto/diacritic-remover/dictionaries/i18n/global.json';
import i18n_it from '@marketto/diacritic-remover/dictionaries/i18n/it.json';
const diacriticRemover = new DiacriticRemover(i18n_it);

Script

<script src="https://unpkg.com/browse/@marketto/diacritic-remover/dist/diacritic-remover.bundle.min.js"></script>
<script>
    Promise.all([
        fetch("https://unpkg.com/browse/@marketto/diacritic-remover/dictionaries/i18n/it.json")
        fetch("https://unpkg.com/browse/@marketto/diacritic-remover/dictionaries/i18n/global.json")
    ])
        .then(responses => responses.map(response => response.json()))
        .then(dictionaries => new DiacriticRemover(...dictionaries));
</script>

DEMO

USAGE

Replace string diacritics

diacriticRemover.replace('àçcèß'); //access

Char diacritic remover

diacriticRemover.à; //a

Char diacritic map

diacriticRemover.matcher.i; //íîïi̇řìįīi

Char diacritic matcher (RegExp)

diacriticRemover.validator.a.test('à'); //true
diacriticRemover.validator.a.test('A'); //true
diacriticRemover.validator.e.test('à'); //false

Char diacritic case insensitive matcher(RegExp)

diacriticRemover.insensitiveValidator.a.test('à'); //true
diacriticRemover.insensitiveValidator.a.test('À'); //true
diacriticRemover.insensitiveValidator.A.test('à'); //true
diacriticRemover.insensitiveValidator.A.test('À'); //true

Get diacritics by RegExp

diacriticRemover.matcherBy(/^[au]$/); //áäâàåÄąāãăúûüùůŭųūư

LICENSE

MIT License

DIACRITIC ASSETS LICENSE AND AUTHOR

Latin diacritic json file use material from Wikitionary article Latin script, which is released under the Creative Commons Attribution-Share-Alike License 3.0 (CC-BY-SA 3.0)

These diacritic i18n json files use material from Wikipedia article Diacritic, which is released under the Creative Commons Attribution-Share-Alike License 3.0 (CC-BY-SA 3.0)

AUTHOR

Marco Ricupero