UNPKG

@snirp/contractions

Version:

Typescript multiple-string replacement library, for natural language processing (NLP) and general use

23 lines (22 loc) 887 B
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const contractions_1 = __importDefault(require("./maps/contractions")); const slang_1 = __importDefault(require("./maps/slang")); const defaultOptions = { convertSlang: true, convertContractions: true, customMap: {}, }; const decontract = (str, { customMap, convertContractions, convertSlang } = defaultOptions) => { const map = { ...(convertContractions && contractions_1.default), ...(convertSlang && slang_1.default), ...customMap, }; const re = new RegExp("\\b(?:" + Object.keys(map).join("|") + ")\\b", "gi"); return str.replace(re, (matched) => map[matched.toLowerCase()] || ""); }; exports.default = decontract;