UNPKG

gnablib

Version:

A lean, zero dependency library to provide a useful base for your project.

2 lines 902 B
/*! Copyright 2025 the gnablib contributors MPL-1.1 */ const o={ȧ:"b",Ȧ:"B",á:"e",Á:"E",ả:"i",Ả:"I",ạ:"k",Ạ:"K",ă:"l",Ă:"L",ǎ:"m",Ǎ:"M",ȃ:"n",Ȃ:"N",å:"o",Å:"O",â:"r",Â:"R",ã:"s",Ã:"S",ā:"t",Ā:"T",ä:"u",Ä:"U",à:"v",À:"V",ȁ:"w",Ȁ:"W",Ⱥ:"Z"},n=[0,775,807,817,769,814,779,816,777,787,803,774,780,770,778,815,804,785,771,772,776,768,783,829,806,824];export function encode(o){let t="";for(const e of o){const o=e.codePointAt(0);t+=o>65&&o<91?"A"+String.fromCodePoint(n[o-65]):o>97&&o<123?"a"+String.fromCodePoint(n[o-97]):e}return t}export function decode(t){let e="",i=0;for(const r of t){const t=r.codePointAt(0);if(t>=768&&t<879){if(i){const o=n.indexOf(t);if(o>=0){e+=String.fromCodePoint(i+o),i=0;continue}e+=String.fromCodePoint(i)+r,i=0;continue}e+=r}else i&&(e+=String.fromCodePoint(i),i=0),97!=t&&65!=t?e+=r in o?o[r]:r:i=t}return i&&(e+=String.fromCodePoint(i)),e}