UNPKG

to-funcs

Version:

A very limited subset of to-* functions I use every day

272 lines (270 loc) 4.08 kB
const map = { [192]: 'A', [193]: 'A', [194]: 'A', [195]: 'A', [196]: 'A', [197]: 'A', [198]: 'AE', [199]: 'C', [200]: 'E', [201]: 'E', [202]: 'E', [203]: 'E', [204]: 'I', [205]: 'I', [206]: 'I', [207]: 'I', [208]: 'D', [209]: 'N', [210]: 'O', [211]: 'O', [212]: 'O', [213]: 'O', [214]: 'O', [216]: 'O', [217]: 'U', [218]: 'U', [219]: 'U', [220]: 'U', [221]: 'Y', [222]: 'TH', [223]: 'ss', [224]: 'a', [225]: 'a', [226]: 'a', [227]: 'a', [228]: 'a', [229]: 'a', [230]: 'ae', [231]: 'c', [232]: 'e', [233]: 'e', [234]: 'e', [235]: 'e', [236]: 'i', [237]: 'i', [238]: 'i', [239]: 'i', [240]: 'o', [241]: 'n', [242]: 'o', [243]: 'o', [244]: 'o', [245]: 'o', [246]: 'o', [248]: 'o', [249]: 'u', [250]: 'u', [251]: 'u', [252]: 'u', [253]: 'y', [254]: 'th', [255]: 'y', [256]: 'A', [257]: 'a', [258]: 'A', [259]: 'a', [260]: 'A', [261]: 'a', [262]: 'C', [263]: 'c', [264]: 'C', [265]: 'c', [266]: 'C', [267]: 'c', [268]: 'C', [269]: 'c', [270]: 'D', [271]: 'd', [272]: 'D', [273]: 'd', [274]: 'E', [275]: 'e', [276]: 'E', [277]: 'e', [278]: 'E', [279]: 'e', [280]: 'E', [281]: 'e', [282]: 'E', [283]: 'e', [284]: 'G', [285]: 'g', [286]: 'G', [287]: 'g', [288]: 'G', [289]: 'g', [290]: 'G', [291]: 'g', [292]: 'H', [293]: 'h', [294]: 'H', [295]: 'h', [296]: 'I', [297]: 'i', [298]: 'I', [299]: 'i', [300]: 'I', [301]: 'i', [302]: 'I', [303]: 'i', [304]: 'I', [305]: 'i', [306]: 'IJ', [307]: 'ij', [308]: 'J', [309]: 'j', [310]: 'K', [311]: 'k', [312]: 'k', [313]: 'L', [314]: 'l', [315]: 'L', [316]: 'l', [317]: 'L', [318]: 'l', [319]: 'L', [320]: 'l', [321]: 'L', [322]: 'l', [323]: 'N', [324]: 'n', [325]: 'N', [326]: 'n', [327]: 'N', [328]: 'n', [329]: 'n', [330]: 'ENG', [331]: 'eng', [332]: 'O', [333]: 'o', [334]: 'O', [335]: 'o', [336]: 'O', [337]: 'o', [338]: 'OE', [339]: 'oe', [340]: 'R', [341]: 'r', [342]: 'R', [343]: 'r', [344]: 'R', [345]: 'r', [346]: 'S', [347]: 's', [348]: 'S', [349]: 's', [350]: 'S', [351]: 's', [352]: 'S', [353]: 's', [354]: 'T', [355]: 't', [356]: 'T', [357]: 't', [358]: 'T', [359]: 't', [360]: 'U', [361]: 'u', [362]: 'U', [363]: 'u', [364]: 'U', [365]: 'u', [366]: 'U', [367]: 'u', [368]: 'U', [369]: 'u', [370]: 'U', [371]: 'u', [372]: 'W', [373]: 'w', [374]: 'Y', [375]: 'y', [376]: 'Y', [377]: 'Z', [378]: 'z', [379]: 'Z', [380]: 'z', [381]: 'Z', [382]: 'z', [383]: 's', // Romanian [536]: 'S', [537]: 's', [538]: 'T', [539]: 't', // Welsh [7808]: 'W', [7809]: 'w', [7810]: 'W', [7811]: 'w', [7812]: 'W', [7813]: 'w', [7922]: 'Y', [7923]: 'y', // Unicode characters to close analogues [8230]: '...', [8252]: '!!', [65292]: ',', [65306]: ':', [65307]: ';', // Hyphenation and dashes [1470]: '-', [8208]: '-', [8209]: '-', [8210]: '-', [8211]: '-', [8212]: '-', [8213]: '-', [8259]: '-', [65112]: '-', [65123]: '-', [65293]: '-', // Math and fractions [177]: '+-', [188]: '1/4', [189]: '1/2', [190]: '3/4', [215]: 'x', [8260]: '/', [12448]: '=', [65295]: '/', [65340]: '\\', // No-break space [160]: ' ', // Single-angle quotes [8216]: "'", [8217]: "'", [8218]: "'", [8219]: "'", [8249]: '<', [8250]: '>', [12289]: "'", [65040]: "'", [65041]: "'", [65287]: "'", // Double-angle quotes [171]: '"', [187]: '"', [8220]: '"', [8221]: '"', [8222]: '"', [12291]: '"', [12317]: '"', [12318]: '"', [12319]: '"', [65282]: '"', } module.exports = function(str) { if (typeof str !== 'string') return '' var c for (var i = str.length - 1; i >= 0; i--) { c = str.charCodeAt(i) if (c > 127) { c = map[c] || '' str = str.substring(0, i) + c + str.substring(i + 1) } } return str }