lipilekhika 0.0.0-alpha.2 → 0.0.0-alpha.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function J(r,t,i,_){const{accessor:o,compareFn:s}=_??{},e=o??((n,c)=>n[c]);let a=0,h=t.length-1,p=-1;for(;a<=h;){const n=Math.floor((a+h)/2),c=t[n],l=e(r,c);let m;s?m=s(i,l):m=i<l?-1:i>l?1:0,m===0?(p=c,h=n-1):m<0?h=n-1:a=n+1}return p}function nt(r,t,i){const{accessor:_,compareFn:o}=i??{},s=_??((p,n)=>p[n]);let e=0,a=r.length-1,h=-1;for(;e<=a;){const p=Math.floor((e+a)/2),n=s(r,p);let c;o?c=o(t,n):c=t<n?-1:t>n?1:0,c===0?(h=p,a=p-1):c<0?a=p-1:e=p+1}return h}const kt=(r,t,i)=>{const _=r[t];return _?typeof _=="function"?_():Promise.resolve(_):new Promise((o,s)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(s.bind(null,new Error("Unknown variable dynamic import: "+t+(t.split("/").length!==i?". Note that variables only represent file names one level deep.":""))))})},W=async r=>(await kt(Object.assign({"../script_data/Assamese.json":()=>Promise.resolve().then(()=>require("./Assamese-Dv2Uz5Ga.cjs")),"../script_data/Bengali.json":()=>Promise.resolve().then(()=>require("./Bengali-CP-jqwb3.cjs")),"../script_data/Brahmi.json":()=>Promise.resolve().then(()=>require("./Brahmi-BOnETq6u.cjs")),"../script_data/Devanagari.json":()=>Promise.resolve().then(()=>require("./Devanagari-DogoRXY8.cjs")),"../script_data/Granth.json":()=>Promise.resolve().then(()=>require("./Granth-9Z5eCctH.cjs")),"../script_data/Gujarati.json":()=>Promise.resolve().then(()=>require("./Gujarati-CUm-ZsKN.cjs")),"../script_data/Gurumukhi.json":()=>Promise.resolve().then(()=>require("./Gurumukhi-CsObr-GI.cjs")),"../script_data/Kannada.json":()=>Promise.resolve().then(()=>require("./Kannada-SXQdSng_.cjs")),"../script_data/Malayalam.json":()=>Promise.resolve().then(()=>require("./Malayalam-IcKWWsaB.cjs")),"../script_data/Modi.json":()=>Promise.resolve().then(()=>require("./Modi-C3Chvoab.cjs")),"../script_data/Normal.json":()=>Promise.resolve().then(()=>require("./Normal-BZe6xAux.cjs")),"../script_data/Odia.json":()=>Promise.resolve().then(()=>require("./Odia-C_-bjsx6.cjs")),"../script_data/Purna-Devanagari.json":()=>Promise.resolve().then(()=>require("./Purna-Devanagari-BkPRDmig.cjs")),"../script_data/Romanized.json":()=>Promise.resolve().then(()=>require("./Romanized-B_o6BaP0.cjs")),"../script_data/Sharada.json":()=>Promise.resolve().then(()=>require("./Sharada-DfQQFnhQ.cjs")),"../script_data/Siddham.json":()=>Promise.resolve().then(()=>require("./Siddham-D4xax5q5.cjs")),"../script_data/Sinhala.json":()=>Promise.resolve().then(()=>require("./Sinhala-oz5fU6-H.cjs")),"../script_data/Tamil-Extended.json":()=>Promise.resolve().then(()=>require("./Tamil-Extended-Bg0_zDSf.cjs")),"../script_data/Tamil.json":()=>Promise.resolve().then(()=>require("./Tamil-pc27DGFa.cjs")),"../script_data/Telugu.json":()=>Promise.resolve().then(()=>require("./Telugu-C9jvVXuj.cjs"))}),`../script_data/${r}.json`,3)).default,Y={"all_to_normal:replace_pancham_varga_varna_with_n":{from_script_type:"all",to_script_name:["Normal"],check_in:"output",rules:[{type:"replace_prev_krama_keys",check_in:"output",prev:[60],following:[52,53,54,55,56,57,58,59],replace_with:[72]},{type:"replace_prev_krama_keys",check_in:"output",prev:[67],following:[61,62,63,64,65,66],replace_with:[72]}]},"brahmic_to_brahmic:replace_pancham_varga_varna_with_anuvsvAra":{from_script_type:"brahmic",to_script_type:"brahmic",check_in:"input",rules:[{type:"replace_prev_krama_keys",check_in:"input",prev:[60,49],following:[52,53,54,55,56,57,58,59],replace_with:[45]},{type:"replace_prev_krama_keys",check_in:"input",prev:[67,49],following:[61,62,63,64,65,66],replace_with:[45]},{type:"replace_prev_krama_keys",check_in:"input",prev:[81,49],following:[74,75,76,77,78,79,80],replace_with:[45]},{type:"replace_prev_krama_keys",check_in:"input",prev:[72,49],following:[68,69,70,71],replace_with:[45]},{type:"replace_prev_krama_keys",check_in:"input",prev:[88,49],following:[82,83,85,86,87],replace_with:[45]}]},"all_to_sinhala:use_conjuct_enabling_halant":{from_script_type:"all",to_script_name:["Sinhala"],check_in:"output",rules:[{type:"direct_replace",check_in:"output",to_replace:[[49]],replace_text:"්‍",replace_with:[]}]},"all_to_normal:remove_virAma_and_double_virAma":{from_script_type:"all",to_script_name:["Normal","Romanized"],check_in:"output",rules:[{type:"direct_replace",check_in:"output",to_replace:[[116],[115]],replace_with:[-1]}]},"all_to_normal:replace_avagraha_with_a":{from_script_type:"all",to_script_name:["Normal","Romanized"],check_in:"output",rules:[{type:"direct_replace",check_in:"output",to_replace:[[48]],replace_with:[1]}]}},vt=(r,t)=>{const i=r.krama_text_arr[t]?.[0];return typeof i=="string"?i:null},C=(r,t)=>vt(r,t)??"",Z=(r,t)=>J(r.krama_text_arr,r.krama_text_arr_index,t,{accessor:(i,_)=>i[_][0]}),gt=()=>{let r=[];function t(n){n&&r.push(n)}function i(n){for(const c of n)t(c)}function _(){return r.at(-1)}function o(){return _()?.at(-1)}function s(){const n=_();if(!n)return;const c=n.at(-1),l=n.slice(0,-1);return l?r[r.length-1]=l:r.pop(),c}function e(n,c){r.splice(-n,n,...c.filter(Boolean))}function a(n,c){const l=s();if(!l){i(n),i(c);return}i(n),t(l),i(c)}function h(n){const c=r.at(n);return c?{cp:n,ch:c,width:c.length}:null}function p(n,c){n<0&&(n=r.length+n),!(n<0||n>=r.length)&&(r[n]=c)}return{emit:t,emitPieces:i,lastPiece:_,lastChar:o,popLastChar:s,rewriteTailPieces:e,withLastCharMovedAfter:a,toString:()=>r.join(""),rewriteAt:p,peekAt:h}},xt=r=>{let t=[];function i(){t=[]}function _(){return t.length}function o(l){return t.at(l)}function s(){return t.at(-1)}function e(){return s()?.[0]}function a(){return s()?.[1]?.type}function h(l){return o(l)?.[1]?.type}function p(l){return o(l)?.[0]}function n(l){return a()===l}function c(l){const m=l[0];m!==void 0&&m.length>0&&t.push(l),t.length>r&&t.shift()}return{clear:i,length:_,at:o,last:s,lastText:e,lastType:a,typeAt:h,textAt:p,isLastType:n,push:c}},At=r=>{let t=0;function i(a){const h=r.codePointAt(a);if(h===void 0)return null;const p=String.fromCodePoint(h);return{cp:h,ch:p,width:p.length}}function _(){return i(t)}function o(a){return i(t+a)}function s(a){t+=a}function e(a,h){return r.substring(a,h)}return{get pos(){return t},peek:_,peekAt:i,peekAtOffsetUnits:o,advance:s,slice:e}},it=(r,t,i,_)=>{for(let o=0;o<i.length;o++){const s=i[i.length-1-o],e=r(t-o);if(e===null)return{matched:!1,matchedLen:0};const a=Z(_,e.ch);if(a===-1||a!==s)return{matched:!1,matchedLen:0}}return{matched:!0,matchedLen:i.length}},st=(r,t)=>r.map(i=>C(t,i)).filter(Boolean),wt=["²","³","⁴"],E=r=>!!r&&wt.indexOf(r)!==-1,I=r=>r==="Tamil-Extended",G=(r,t,i,_)=>{if(t.length===0)return;if(!_){r.emitPieces(t);return}const o=t[0]??"";if(o[0]===i){const s=o.slice(1),e=[];s&&e.push(s);for(let a=1;a<t.length;a++)e.push(t[a]);r.withLastCharMovedAfter([i],e)}else r.withLastCharMovedAfter(t,[])},Tt=[" ",`
2
- `,"\r"," ",",",";","!","@","?","%"],bt=3;function b(r,t,i,_){const{from_script_name:o,to_script_name:s,from_script_data:e,to_script_data:a,trans_options:h,result:p,prev_context:n,BRAHMIC_HALANT:c,BRAHMIC_NUQTA:l,typing_mode:m}=r;let d=!1;if((l&&n.typeAt(-3)==="vyanjana"&&n.textAt(-2)===l&&n.typeAt(-1)==="mAtrA"||n.typeAt(-2)==="vyanjana"&&n.typeAt(-1)==="mAtrA")&&(!t||t[1]?.type==="anya")&&n.clear(),e.script_type==="brahmic"&&a.script_type==="other")t[0]!==c&&(!(I(o)&&t[0]&&t[0].length>0)||t[0].charAt(0)!==c)&&(!l||t[0]!==l)&&(n.typeAt(-1)==="vyanjana"||l&&n.typeAt(-2)==="vyanjana"&&n.textAt(-1)===l)&&(t[1]?.type!=="mAtrA"&&t[0]!==c||t[1]?.type==="anya"||t[1]===null||t[1]===void 0)&&p.emit(a.schwa_character);else if(e.script_type==="other"&&a.script_type==="brahmic")if(n.typeAt(-1)==="vyanjana"&&(t[1]?.type==="mAtrA"||t[1]?.type==="svara")){const Q=t[1].type==="svara"?C(a,t[1].mAtrA_krama_ref?.[0]??-1):t[0];I(s)&&E(p.lastChar())?G(p,[Q],a.halant,!0):G(p,[Q],a.halant,!1),d=!0}else n.typeAt(-1)==="vyanjana"&&!(t[0]===c||t[1]?.type==="mAtrA")&&(I(s)&&E(p.lastChar())?G(p,[c],a.halant,!0):(G(p,[c],a.halant,!1),s==="Sinhala"&&h["all_to_sinhala:use_conjuct_enabling_halant"]&&p.rewriteAt(-1,p.lastPiece()+"‍")));let w=!1;return m&&(i===void 0||i.length===0)&&!_&&(w=!0,t[1]?.type==="vyanjana"&&(w=!1),w&&n.clear()),(!m||!_&&!w)&&n.push(t),d}function _t(r,t,i){const{custom_rules:_,cursor:o,result:s,from_script_data:e,to_script_data:a}=r,h=t+i;for(let p=0;p<_.length;p++){if(_[p].use_replace===!0)continue;const n=_[p];if(n.type==="replace_prev_krama_keys"){if(n.check_in==="input"){const c=it(o.peekAt,h,n.prev,e),l=o.peekAt(t);if(c.matched&&l!==null){const m=l.ch,d=Z(e,m);if(d!==-1&&n.following.indexOf(d)!==-1){const w=st(n.replace_with,a);s.rewriteTailPieces(c.matchedLen,w)}}}else if(n.check_in==="output"){const c=s.lastPiece();if(!c)continue;const l=Z(a,c);if(l!==-1&&n.following.indexOf(l)!==-1){const m=it(s.peekAt,-2,n.prev,a);if(m.matched){const d=st(n.replace_with,a);s.rewriteTailPieces(m.matchedLen+1,[...d,c])}}}}else if(n.type==="direct_replace"){const c=n.check_in==="output"?a:e;for(const l of n.to_replace){const m=it(s.peekAt,-1,l,c);if(!m.matched)continue;if(n.replace_text){s.rewriteTailPieces(m.matchedLen,[n.replace_text]);break}const d=st(n.replace_with,c);s.rewriteTailPieces(m.matchedLen,d);break}}}}const mt=(r,t,i)=>{if(!i)return{};const _={};for(const[o,s]of Object.entries(i??{})){if(!s||!(o in Y))continue;const e=Y[o];(e.from_script_type!==void 0&&(e.from_script_type==="all"||e.from_script_type===r.script_type)||e.from_script_name!==void 0&&e.from_script_name.includes(r.script_name))&&(e.to_script_type!==void 0&&(e.to_script_type==="all"||e.to_script_type===t.script_type)||e.to_script_name!==void 0&&e.to_script_name.includes(t.script_name))&&(_[o]=!0)}return _},pt=(r,t)=>r.replace_with.map(i=>C(t,i)).join(""),ut=(r,t,i,_)=>{if(i.length===0)return r;for(const o of i)if(!(o.use_replace!==!0||o.check_in!==_)){if(o.type==="replace_prev_krama_keys"){const s=o.prev.map(e=>C(t,e)).join("");for(let e of o.following){const a=C(t,e);if(!a)continue;const h=pt(o,t)+a;r=r.replaceAll(s+a,h)}}else if(o.type==="direct_replace"){const s=o.to_replace.map(e=>e.map(a=>C(t,a)).join(""));for(let e of s)r=r.replaceAll(e,pt(o,t))}}return r},ft=async(r,t,i,_,o)=>{const s=o?.typing_mode??!1;if(s&&t!=="Normal")throw new Error("Typing mode is only supported with Normal script as the input");const e=await W(t),a=await W(i),h=mt(e,a,_),p=Object.keys(h).flatMap(z=>Y[z].rules);r=ut(r,e,p,"input");const n=gt();let c=0;const l=At(r),m=xt(bt),d=e.script_type==="brahmic"&&a.script_type==="other"||e.script_type==="other"&&a.script_type==="brahmic"||s&&t==="Normal"&&a.script_type==="other",w=e.script_type==="brahmic"&&a.script_type==="other"?e.nuqta??null:e.script_type==="other"&&a.script_type==="brahmic"?a.nuqta??null:null,Q=e.script_type==="brahmic"&&a.script_type==="other"?e.halant:e.script_type==="other"&&a.script_type==="brahmic"?a.halant:null,x={from_script_name:t,to_script_name:i,from_script_data:e,to_script_data:a,trans_options:h,custom_rules:p,cursor:l,result:n,prev_context:m,BRAHMIC_NUQTA:w,BRAHMIC_HALANT:Q,typing_mode:s};let y=-1;for(;l.pos<r.length;){c=l.pos;const z=l.peek();if(!z)break;const et=z.ch,q=z.width,lt=q===2?1:q;if(y!==-1&&c>=y){y=-1,l.advance(q);continue}if(Tt.indexOf(et)!==-1){l.advance(q),d&&(b(x,[" ",null]),m.clear()),n.emit(et);continue}let M=-1;{let T=0,R=-1;const j=d&&e.script_type==="other"&&a.script_type==="brahmic"&&(m.typeAt(-1)==="vyanjana"||w&&m.typeAt(-2)==="vyanjana"&&m.textAt(-1)===w);for(;;){const V=l.peekAt(c+lt+T),N=V?.ch??"";y!==-1&&N&&E(N)&&(T+=V?.width??0);const f=c+lt+T,A=y!==-1?l.slice(c,y)+(f>y?l.slice(y+1,f):""):l.slice(c,f),k=nt(e.text_to_krama_map,A,{accessor:(v,P)=>v[P][0]});if(k===-1){M=-1;break}const L=e.text_to_krama_map[k];if(j&&L[1].krama&&L[1].krama.length>=1){const v=L[1].krama,P=v[0],S=a.krama_text_arr[P]?.[1],rt=a.list[S??-1]?.type;if(v.length===1&&S!==null&&S!==void 0&&(rt==="svara"||rt==="mAtrA"))R=k;else if(R!==-1){M=R;break}}if(L[1].next&&L[1].next.length>0){const v=l.peekAt(f),P=v?.ch;if(I(t)&&e.script_type==="brahmic"){const U=v?l.peekAt(f+v.width):null,S=U?.ch,$=(v&&U?l.peekAt(f+v.width+U.width):null)?.ch;if(y===-1&&S!==void 0&&E(S)&&L[1].next.indexOf(S)!==-1){const X=nt(e.text_to_krama_map,A+S,{accessor:(O,g)=>O[g][0]}),F=J(e.krama_text_arr,e.krama_text_arr_index,P??"",{accessor:(O,g)=>O[g][0]});if(X!==-1&&F!==-1){M=X;const O=e.krama_text_arr[F],g=e.list[O[1]??-1]?.type;if(P===e.halant||g==="mAtrA"){y=f+(v?.width??0);break}}}else if(y===-1&&$!==void 0&&E($)&&L[1].next.indexOf($)!==-1){const X=nt(e.text_to_krama_map,A+$,{accessor:(g,D)=>g[D][0]}),F=J(e.krama_text_arr,e.krama_text_arr_index,P??"",{accessor:(g,D)=>g[D][0]}),O=J(e.krama_text_arr,e.krama_text_arr_index,S??"",{accessor:(g,D)=>g[D][0]});if(X!==-1&&F!==-1&&O!==-1){const g=e.krama_text_arr[F],D=e.krama_text_arr[O];M=X;const dt=e.list[g[1]??-1]?.type,yt=e.list[D[1]??-1]?.type;if(dt==="mAtrA"&&yt==="mAtrA"){y=f+(v?.width??0)+(U?.width??0);break}}}}if(P!==void 0&&L[1].next.indexOf(P)!==-1){T+=v?.width??0;continue}}M=k;break}}const u=M!==-1?e.text_to_krama_map[M]:null;if(u!==null){const T=y!==-1&&u[0].length>1&&e.list[e.krama_text_arr[u[1].krama?.[0]??-1]?.[1]??-1]?.type==="vyanjana"&&E(u[0].at(-1)??void 0)?1:0,R=u[0].length-T;if(l.advance(R),c=l.pos,u[1].krama!==null&&u[1].krama!==void 0&&u[1].krama.some(j=>j!==-1)){const j=u[1].krama.map(f=>C(a,f)),V=j.join("");let N=!1;if(d)if(e.script_type==="brahmic"&&a.script_type==="other"){let f=null;if(u[1].fallback_list_ref!==void 0&&u[1].fallback_list_ref!==null)f=e.list[u[1].fallback_list_ref];else if(!u[1].krama||u[1].krama.length===0)f=null;else{const A=u[1].krama.map(k=>e.list[e.krama_text_arr[k][1]??-1]);I(t)&&A.some(k=>k?.type==="mAtrA")&&A.some(k=>k?.type==="vyanjana")?f={...A[0],type:"anya"}:I(t)&&A.length>1&&A.some(k=>k==null)?f=A.at(-1):f=A[0]}N=b(x,[u[0],f])}else if(a.script_type==="brahmic"&&e.script_type==="other"){let f=null;u[1].fallback_list_ref!==void 0&&u[1].fallback_list_ref!==null?f=a.list[u[1].fallback_list_ref]:f=u[1].krama&&u[1].krama.length>0?a.list[a.krama_text_arr[u[1].krama[0]]?.[1]??-1]??null:null,s&&t==="Normal"?N=b(x,[u[0],f],u[1].next??void 0):N=b(x,[u[0],f])}else s&&t==="Normal"&&a.script_type==="other"&&(N=b(x,[u[0],null],u[1].next??void 0));N||(a.script_type==="brahmic"&&I(i)&&(a.list[u[1].krama?.at(-1)??-1]?.type==="mAtrA"||V===a.halant)&&E(n.lastChar())?G(n,j,a.halant,!0):n.emitPieces(j)),_t(x,c,-R);continue}else if(u[1].krama!==null&&u[1].krama!==void 0&&u[1].krama.some(j=>j===-1)){n.emit(u[0]),s&&b(x,[u[0],null],u[1].next??void 0);continue}}else l.advance(q),c=l.pos;const H=u===null?et:u[0],K=Z(e,H);if(K===-1){d&&(b(x,[H,null]),m.clear()),n.emit(H);continue}let at=!1;if(d&&(e.script_type==="brahmic"?at=b(x,[H,e.list[e.krama_text_arr[K][1]??-1]]):a.script_type==="brahmic"&&(at=b(x,[H,a.list[a.krama_text_arr[K][1]??-1]]))),!at){const T=C(a,K);a.script_type==="brahmic"&&I(i)&&(a.list[a.krama_text_arr[K][1]??-1]?.type==="mAtrA"||T===a.halant)&&E(n.lastChar())?G(n,[T],a.halant,!0):n.emit(T)}_t(x,c,-q)}d&&b(x,[void 0,null],void 0,!0);let tt=n.toString();return tt=ut(tt,a,p,"output"),{output:tt,context_length:m.length()}},jt={Devanagari:1,Telugu:2,Tamil:3,"Tamil-Extended":4,Bengali:5,Kannada:6,Gujarati:7,Malayalam:8,Odia:9,Sinhala:10,Normal:11,Romanized:12,Gurumukhi:13,Assamese:14,"Purna-Devanagari":15,Brahmi:16,Granth:17,Modi:18,Sharada:20,Siddham:21},Pt={English:1,Sanskrit:2,Hindi:3,Telugu:4,Tamil:5,Bengali:6,Kannada:7,Gujarati:8,Malayalam:9,Odia:10,Sinhala:11,Marathi:12,Nepali:13,Punjabi:14,Assamese:15},St={script_list:jt,lang_list:Pt},{script_list:Nt,lang_list:Lt}=St,ct=Object.keys(Nt),ot=Object.keys(Lt),Ot=Array.from(new Set([...ot,...ct])),Et={Bengali:"Bengali",Gujarati:"Gujarati",Hindi:"Devanagari",Kannada:"Kannada",Malayalam:"Malayalam",Odia:"Odia",Sinhala:"Sinhala",Tamil:"Tamil",Telugu:"Telugu",English:"Normal",Sanskrit:"Devanagari",Marathi:"Devanagari",Nepali:"Devanagari",Punjabi:"Gurumukhi",Assamese:"Assamese"},ht={dev:"Devanagari",te:"Telugu",tel:"Telugu",tam:"Tamil","tam-ex":"Tamil-Extended",ben:"Bengali",be:"Bengali",ka:"Kannada",kan:"Kannada",gu:"Gujarati",guj:"Gujarati",mal:"Malayalam",or:"Odia",od:"Odia",oriya:"Odia",si:"Sinhala",sinh:"Sinhala",sin:"Sinhala",en:"Normal",eng:"Normal",la:"Normal",lat:"Normal",nor:"Normal",norm:"Normal",rom:"Romanized",gur:"Gurumukhi",as:"Assamese",sa:"Devanagari",san:"Devanagari",hin:"Devanagari",hi:"Devanagari",mar:"Devanagari",ne:"Devanagari",nep:"Devanagari",pun:"Gurumukhi"};function It(r){return r.toLowerCase().replace(/(^|-)([a-z])/g,(t,i,_)=>i+_.toUpperCase())}const B=r=>{const t=It(r);return ct.includes(t)?t:ot.includes(t)?Et[t]:r.toLocaleLowerCase()in ht?ht[r.toLocaleLowerCase()]:null},Ct=async r=>{const t=B(r);if(!t)throw new Error(`Invalid script name: ${r}`);return await W(t)};async function Mt(r,t,i,_){const o=B(t);if(!o)throw new Error(`Invalid script name: ${t}`);const s=B(i);if(!s)throw new Error(`Invalid script name: ${i}`);return o===s?r:(await ft(r,o,s,_)).output}async function Dt(r,t){const i=B(r);if(!i)throw new Error(`Invalid script name: ${r}`);const _=B(t);if(!_)throw new Error(`Invalid script name: ${t}`);const o=await W(i),s=await W(_);return Object.keys(mt(o,s,Object.fromEntries(Object.keys(Y).map(e=>[e,!0]))))}async function qt(r,t){const i=B(t);if(!i)throw new Error(`Invalid script name: ${t}`);let _="",o="",s="";for(let e=0;e<r.length;e++){o+=r[e];const{context_length:a,output:h}=await ft(o,"Normal",i,{},{typing_mode:!0});a>0?s=h:a===0&&(o="",s="",_+=h)}return s.length>0&&(_+=s),_}exports.ALL_LANG_SCRIPT_LIST=Ot;exports.LANG_LIST=ot;exports.SCRIPT_LIST=ct;exports.emulateTyping=qt;exports.getAllOptions=Dt;exports.preloadScriptData=Ct;exports.transliterate=Mt;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function V(t,e,a,n){const{accessor:r,compareFn:c}=n??{},o=r??((i,l)=>i[l]);let u=0,_=e.length-1,s=-1;for(;u<=_;){const i=Math.floor((u+_)/2),l=e[i],p=o(t,l);let h;c?h=c(a,p):h=a<p?-1:a>p?1:0,h===0?(s=l,_=i-1):h<0?_=i-1:u=i+1}return s}function re(t,e,a){const{accessor:n,compareFn:r}=a??{},c=n??((s,i)=>s[i]);let o=0,u=t.length-1,_=-1;for(;o<=u;){const s=Math.floor((o+u)/2),i=c(t,s);let l;r?l=r(e,i):l=e<i?-1:e>i?1:0,l===0?(_=s,u=s-1):l<0?u=s-1:o=s+1}return _}const ke=(t,e,a)=>{const n=t[e];return n?typeof n=="function"?n():Promise.resolve(n):new Promise((r,c)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(c.bind(null,new Error("Unknown variable dynamic import: "+e+(e.split("/").length!==a?". Note that variables only represent file names one level deep.":""))))})},ae={},R=async t=>(ae[t]||(ae[t]=ke(Object.assign({"../script_data/Assamese.json":()=>Promise.resolve().then(()=>require("./Assamese-Dv2Uz5Ga.cjs")),"../script_data/Bengali.json":()=>Promise.resolve().then(()=>require("./Bengali-CP-jqwb3.cjs")),"../script_data/Brahmi.json":()=>Promise.resolve().then(()=>require("./Brahmi-BOnETq6u.cjs")),"../script_data/Devanagari.json":()=>Promise.resolve().then(()=>require("./Devanagari-DogoRXY8.cjs")),"../script_data/Granth.json":()=>Promise.resolve().then(()=>require("./Granth-9Z5eCctH.cjs")),"../script_data/Gujarati.json":()=>Promise.resolve().then(()=>require("./Gujarati-CUm-ZsKN.cjs")),"../script_data/Gurumukhi.json":()=>Promise.resolve().then(()=>require("./Gurumukhi-CsObr-GI.cjs")),"../script_data/Kannada.json":()=>Promise.resolve().then(()=>require("./Kannada-SXQdSng_.cjs")),"../script_data/Malayalam.json":()=>Promise.resolve().then(()=>require("./Malayalam-IcKWWsaB.cjs")),"../script_data/Modi.json":()=>Promise.resolve().then(()=>require("./Modi-C3Chvoab.cjs")),"../script_data/Normal.json":()=>Promise.resolve().then(()=>require("./Normal-BZe6xAux.cjs")),"../script_data/Odia.json":()=>Promise.resolve().then(()=>require("./Odia-C_-bjsx6.cjs")),"../script_data/Purna-Devanagari.json":()=>Promise.resolve().then(()=>require("./Purna-Devanagari-BkPRDmig.cjs")),"../script_data/Romanized.json":()=>Promise.resolve().then(()=>require("./Romanized-B_o6BaP0.cjs")),"../script_data/Sharada.json":()=>Promise.resolve().then(()=>require("./Sharada-DfQQFnhQ.cjs")),"../script_data/Siddham.json":()=>Promise.resolve().then(()=>require("./Siddham-D4xax5q5.cjs")),"../script_data/Sinhala.json":()=>Promise.resolve().then(()=>require("./Sinhala-oz5fU6-H.cjs")),"../script_data/Tamil-Extended.json":()=>Promise.resolve().then(()=>require("./Tamil-Extended-Bg0_zDSf.cjs")),"../script_data/Tamil.json":()=>Promise.resolve().then(()=>require("./Tamil-pc27DGFa.cjs")),"../script_data/Telugu.json":()=>Promise.resolve().then(()=>require("./Telugu-C9jvVXuj.cjs"))}),`../script_data/${t}.json`,3).then(e=>e.default)),ae[t]),Y={"all_to_normal:replace_pancham_varga_varna_with_n":{from_script_type:"all",to_script_name:["Normal"],check_in:"output",rules:[{type:"replace_prev_krama_keys",check_in:"output",prev:[60],following:[52,53,54,55,56,57,58,59],replace_with:[72]},{type:"replace_prev_krama_keys",check_in:"output",prev:[67],following:[61,62,63,64,65,66],replace_with:[72]}]},"brahmic_to_brahmic:replace_pancham_varga_varna_with_anuvsvAra":{from_script_type:"brahmic",to_script_type:"brahmic",check_in:"input",rules:[{type:"replace_prev_krama_keys",check_in:"input",prev:[60,49],following:[52,53,54,55,56,57,58,59],replace_with:[45]},{type:"replace_prev_krama_keys",check_in:"input",prev:[67,49],following:[61,62,63,64,65,66],replace_with:[45]},{type:"replace_prev_krama_keys",check_in:"input",prev:[81,49],following:[74,75,76,77,78,79,80],replace_with:[45]},{type:"replace_prev_krama_keys",check_in:"input",prev:[72,49],following:[68,69,70,71],replace_with:[45]},{type:"replace_prev_krama_keys",check_in:"input",prev:[88,49],following:[82,83,85,86,87],replace_with:[45]}]},"all_to_sinhala:use_conjuct_enabling_halant":{from_script_type:"all",to_script_name:["Sinhala"],check_in:"output",rules:[{type:"direct_replace",check_in:"output",to_replace:[[49]],replace_text:"්‍",replace_with:[]}]},"all_to_normal:remove_virAma_and_double_virAma":{from_script_type:"all",to_script_name:["Normal","Romanized"],check_in:"output",rules:[{type:"direct_replace",check_in:"output",to_replace:[[116],[115]],replace_with:[-1]}]},"all_to_normal:replace_avagraha_with_a":{from_script_type:"all",to_script_name:["Normal","Romanized"],check_in:"output",rules:[{type:"direct_replace",check_in:"output",to_replace:[[48]],replace_with:[1]}]}},ge=(t,e)=>{const a=t.krama_text_arr[e]?.[0];return typeof a=="string"?a:null},O=(t,e)=>ge(t,e)??"",J=(t,e)=>V(t.krama_text_arr,t.krama_text_arr_index,e,{accessor:(a,n)=>a[n][0]}),xe=()=>{let t=[];function e(i){i&&t.push(i)}function a(i){for(const l of i)e(l)}function n(){return t.at(-1)}function r(){return n()?.at(-1)}function c(){const i=n();if(!i)return;const l=i.at(-1),p=i.slice(0,-1);return p?t[t.length-1]=p:t.pop(),l}function o(i,l){t.splice(-i,i,...l.filter(Boolean))}function u(i,l){const p=c();if(!p){a(i),a(l);return}a(i),e(p),a(l)}function _(i){const l=t.at(i);return l?{cp:i,ch:l,width:l.length}:null}function s(i,l){i<0&&(i=t.length+i),!(i<0||i>=t.length)&&(t[i]=l)}return{emit:e,emitPieces:a,lastPiece:n,lastChar:r,popLastChar:c,rewriteTailPieces:o,withLastCharMovedAfter:u,toString:()=>t.join(""),rewriteAt:s,peekAt:_}},Ae=t=>{let e=[];function a(){e=[]}function n(){return e.length}function r(p){return e.at(p)}function c(){return e.at(-1)}function o(){return c()?.[0]}function u(){return c()?.[1]?.type}function _(p){return r(p)?.[1]?.type}function s(p){return r(p)?.[0]}function i(p){return u()===p}function l(p){const h=p[0];h!==void 0&&h.length>0&&e.push(p),e.length>t&&e.shift()}return{clear:a,length:n,at:r,last:c,lastText:o,lastType:u,typeAt:_,textAt:s,isLastType:i,push:l}},we=t=>{let e=0;function a(u){const _=t.codePointAt(u);if(_===void 0)return null;const s=String.fromCodePoint(_);return{cp:_,ch:s,width:s.length}}function n(){return a(e)}function r(u){return a(e+u)}function c(u){e+=u}function o(u,_){return t.substring(u,_)}return{get pos(){return e},peek:n,peekAt:a,peekAtOffsetUnits:r,advance:c,slice:o}},ie=(t,e,a,n)=>{for(let r=0;r<a.length;r++){const c=a[a.length-1-r],o=t(e-r);if(o===null)return{matched:!1,matchedLen:0};const u=J(n,o.ch);if(u===-1||u!==c)return{matched:!1,matchedLen:0}}return{matched:!0,matchedLen:a.length}},le=(t,e)=>t.map(a=>O(e,a)).filter(Boolean),Te=["²","³","⁴"],I=t=>!!t&&Te.indexOf(t)!==-1,L=t=>t==="Tamil-Extended",B=(t,e,a,n)=>{if(e.length===0)return;if(!n){t.emitPieces(e);return}const r=e[0]??"";if(r[0]===a){const c=r.slice(1),o=[];c&&o.push(c);for(let u=1;u<e.length;u++)o.push(e[u]);t.withLastCharMovedAfter([a],o)}else t.withLastCharMovedAfter(e,[])},be=[" ",`
2
+ `,"\r"," ",",",";","!","@","?","%"],Pe=3;function b(t,e,a){const{from_script_name:n,to_script_name:r,from_script_data:c,to_script_data:o,trans_options:u,result:_,prev_context:s,BRAHMIC_HALANT:i,BRAHMIC_NUQTA:l,typing_mode:p}=t,{next:h,last_extra_call:v}=a??{};let k=!1;if((l&&s.typeAt(-3)==="vyanjana"&&s.textAt(-2)===l&&s.typeAt(-1)==="mAtrA"||s.typeAt(-2)==="vyanjana"&&s.typeAt(-1)==="mAtrA")&&(!e||e[1]?.type==="anya")&&s.clear(),c.script_type==="brahmic"&&o.script_type==="other")e[0]!==i&&(!(L(n)&&e[0]&&e[0].length>0)||e[0].charAt(0)!==i)&&(!l||e[0]!==l)&&(s.typeAt(-1)==="vyanjana"||l&&s.typeAt(-2)==="vyanjana"&&s.textAt(-1)===l)&&(e[1]?.type!=="mAtrA"&&e[0]!==i||e[1]?.type==="anya"||e[1]===null||e[1]===void 0)&&_.emit(o.schwa_character);else if(c.script_type==="other"&&o.script_type==="brahmic")if(s.typeAt(-1)==="vyanjana"&&(e[1]?.type==="mAtrA"||e[1]?.type==="svara")){const d=e[1].type==="svara"?O(o,e[1].mAtrA_krama_ref?.[0]??-1):e[0];L(r)&&I(_.lastChar())?B(_,[d],o.halant,!0):B(_,[d],o.halant,!1),k=!0}else s.typeAt(-1)==="vyanjana"&&!(e[0]===i||e[1]?.type==="mAtrA")&&(L(r)&&I(_.lastChar())?B(_,[i],o.halant,!0):(B(_,[i],o.halant,!1),r==="Sinhala"&&u["all_to_sinhala:use_conjuct_enabling_halant"]&&_.rewriteAt(-1,_.lastPiece()+"‍")));let f=!1;return p&&(h===void 0||h.length===0)&&!v&&(f=!0,e[1]?.type==="vyanjana"&&(f=!1),f&&s.clear()),(!p||!v&&!f)&&s.push(e),k}function ue(t,e,a){const{custom_rules:n,cursor:r,result:c,from_script_data:o,to_script_data:u}=t,_=e+a;for(let s=0;s<n.length;s++){if(n[s].use_replace===!0)continue;const i=n[s];if(i.type==="replace_prev_krama_keys"){if(i.check_in==="input"){const l=ie(r.peekAt,_,i.prev,o),p=r.peekAt(e);if(l.matched&&p!==null){const h=p.ch,v=J(o,h);if(v!==-1&&i.following.indexOf(v)!==-1){const k=le(i.replace_with,u);c.rewriteTailPieces(l.matchedLen,k)}}}else if(i.check_in==="output"){const l=c.lastPiece();if(!l)continue;const p=J(u,l);if(p!==-1&&i.following.indexOf(p)!==-1){const h=ie(c.peekAt,-2,i.prev,u);if(h.matched){const v=le(i.replace_with,u);c.rewriteTailPieces(h.matchedLen+1,[...v,l])}}}}else if(i.type==="direct_replace"){const l=i.check_in==="output"?u:o;for(const p of i.to_replace){const h=ie(c.peekAt,-1,p,l);if(!h.matched)continue;if(i.replace_text){c.rewriteTailPieces(h.matchedLen,[i.replace_text]);break}const v=le(i.replace_with,l);c.rewriteTailPieces(h.matchedLen,v);break}}}}const me=(t,e,a)=>{if(!a)return{};const n={};for(const[r,c]of Object.entries(a??{})){if(!c||!(r in Y))continue;const o=Y[r];(o.from_script_type!==void 0&&(o.from_script_type==="all"||o.from_script_type===t.script_type)||o.from_script_name!==void 0&&o.from_script_name.includes(t.script_name))&&(o.to_script_type!==void 0&&(o.to_script_type==="all"||o.to_script_type===e.script_type)||o.to_script_name!==void 0&&o.to_script_name.includes(e.script_name))&&(n[r]=!0)}return n},fe=(t,e,a)=>{const n=me(t,e,a),r=Object.keys(n).flatMap(c=>Y[c].rules);return{trans_options:n,custom_rules:r}},_e=(t,e)=>t.replace_with.map(a=>O(e,a)).join(""),pe=(t,e,a,n)=>{if(a.length===0)return t;for(const r of a)if(!(r.use_replace!==!0||r.check_in!==n)){if(r.type==="replace_prev_krama_keys"){const c=r.prev.map(o=>O(e,o)).join("");for(let o of r.following){const u=O(e,o);if(!u)continue;const _=_e(r,e)+u;t=t.replaceAll(c+u,_)}}else if(r.type==="direct_replace"){const c=r.to_replace.map(o=>o.map(u=>O(e,u)).join(""));for(let o of c)t=t.replaceAll(o,_e(r,e))}}return t},ye=(t,e,a,n,r,c,o,u)=>{const _=u?.typing_mode??!1;if(_&&e!=="Normal")throw new Error("Typing mode is only supported with Normal script as the input");t=pe(t,n,o,"input");const s=xe();let i=0;const l=we(t),p=Ae(Pe),h=n.script_type==="brahmic"&&r.script_type==="other"||n.script_type==="other"&&r.script_type==="brahmic"||_&&e==="Normal"&&r.script_type==="other",v=n.script_type==="brahmic"&&r.script_type==="other"?n.nuqta??null:n.script_type==="other"&&r.script_type==="brahmic"?r.nuqta??null:null,k=n.script_type==="brahmic"&&r.script_type==="other"?n.halant:n.script_type==="other"&&r.script_type==="brahmic"?r.halant:null,f={from_script_name:e,to_script_name:a,from_script_data:n,to_script_data:r,trans_options:c,custom_rules:o,cursor:l,result:s,prev_context:p,BRAHMIC_NUQTA:v,BRAHMIC_HALANT:k,typing_mode:_};let d=-1;for(;l.pos<t.length;){i=l.pos;const Z=l.peek();if(!Z)break;const ee=Z.ch,q=Z.width,ce=q===2?1:q;if(d!==-1&&i>=d){d=-1,l.advance(q);continue}if(be.indexOf(ee)!==-1){l.advance(q),h&&(b(f,[" ",null]),p.clear()),s.emit(ee);continue}let D=-1;{let T=0,G=-1;const P=h&&n.script_type==="other"&&r.script_type==="brahmic"&&(p.typeAt(-1)==="vyanjana"||v&&p.typeAt(-2)==="vyanjana"&&p.textAt(-1)===v);for(;;){const Q=l.peekAt(i+ce+T),E=Q?.ch??"";d!==-1&&E&&I(E)&&(T+=Q?.width??0);const y=i+ce+T,w=d!==-1?l.slice(i,d)+(y>d?l.slice(d+1,y):""):l.slice(i,y),g=re(n.text_to_krama_map,w,{accessor:(x,j)=>x[j][0]});if(g===-1){D=-1;break}const N=n.text_to_krama_map[g];if(P&&N[1].krama&&N[1].krama.length>=1){const x=N[1].krama,j=x[0],S=r.krama_text_arr[j]?.[1],ne=r.list[S??-1]?.type;if(x.length===1&&S!==null&&S!==void 0&&(ne==="svara"||ne==="mAtrA"))G=g;else if(G!==-1){D=G;break}}if(N[1].next&&N[1].next.length>0){const x=l.peekAt(y),j=x?.ch;if(L(e)&&n.script_type==="brahmic"){const U=x?l.peekAt(y+x.width):null,S=U?.ch,$=(x&&U?l.peekAt(y+x.width+U.width):null)?.ch;if(d===-1&&S!==void 0&&I(S)&&N[1].next.indexOf(S)!==-1){const X=re(n.text_to_krama_map,w+S,{accessor:(C,A)=>C[A][0]}),F=V(n.krama_text_arr,n.krama_text_arr_index,j??"",{accessor:(C,A)=>C[A][0]});if(X!==-1&&F!==-1){D=X;const C=n.krama_text_arr[F],A=n.list[C[1]??-1]?.type;if(j===n.halant||A==="mAtrA"){d=y+(x?.width??0);break}}}else if(d===-1&&$!==void 0&&I($)&&N[1].next.indexOf($)!==-1){const X=re(n.text_to_krama_map,w+$,{accessor:(A,M)=>A[M][0]}),F=V(n.krama_text_arr,n.krama_text_arr_index,j??"",{accessor:(A,M)=>A[M][0]}),C=V(n.krama_text_arr,n.krama_text_arr_index,S??"",{accessor:(A,M)=>A[M][0]});if(X!==-1&&F!==-1&&C!==-1){const A=n.krama_text_arr[F],M=n.krama_text_arr[C];D=X;const de=n.list[A[1]??-1]?.type,ve=n.list[M[1]??-1]?.type;if(de==="mAtrA"&&ve==="mAtrA"){d=y+(x?.width??0)+(U?.width??0);break}}}}if(j!==void 0&&N[1].next.indexOf(j)!==-1){T+=x?.width??0;continue}}D=g;break}}const m=D!==-1?n.text_to_krama_map[D]:null;if(m!==null){const T=d!==-1&&m[0].length>1&&n.list[n.krama_text_arr[m[1].krama?.[0]??-1]?.[1]??-1]?.type==="vyanjana"&&I(m[0].at(-1)??void 0)?1:0,G=m[0].length-T;if(l.advance(G),i=l.pos,m[1].krama!==null&&m[1].krama!==void 0&&m[1].krama.some(P=>P!==-1)){const P=m[1].krama.map(y=>O(r,y)),Q=P.join("");let E=!1;if(h)if(n.script_type==="brahmic"&&r.script_type==="other"){let y=null;if(m[1].fallback_list_ref!==void 0&&m[1].fallback_list_ref!==null)y=n.list[m[1].fallback_list_ref];else if(!m[1].krama||m[1].krama.length===0)y=null;else{const w=m[1].krama.map(g=>n.list[n.krama_text_arr[g][1]??-1]);L(e)&&w.some(g=>g?.type==="mAtrA")&&w.some(g=>g?.type==="vyanjana")?y={...w[0],type:"anya"}:L(e)&&w.length>1&&w.some(g=>g==null)?y=w.at(-1):y=w[0]}E=b(f,[m[0],y])}else if(r.script_type==="brahmic"&&n.script_type==="other"){let y=null;m[1].fallback_list_ref!==void 0&&m[1].fallback_list_ref!==null?y=r.list[m[1].fallback_list_ref]:y=m[1].krama&&m[1].krama.length>0?r.list[r.krama_text_arr[m[1].krama[0]]?.[1]??-1]??null:null,_&&e==="Normal"?E=b(f,[m[0],y],{next:m[1].next??void 0}):E=b(f,[m[0],y])}else _&&e==="Normal"&&r.script_type==="other"&&(E=b(f,[m[0],null],{next:m[1].next??void 0}));E||(r.script_type==="brahmic"&&L(a)&&(r.list[m[1].krama?.at(-1)??-1]?.type==="mAtrA"||Q===r.halant)&&I(s.lastChar())?B(s,P,r.halant,!0):s.emitPieces(P)),ue(f,i,-G);continue}else if(m[1].krama!==null&&m[1].krama!==void 0&&m[1].krama.some(P=>P===-1)){s.emit(m[0]),_&&b(f,[m[0],null],{next:m[1].next??void 0});continue}}else l.advance(q),i=l.pos;const z=m===null?ee:m[0],H=J(n,z);if(H===-1){h&&(b(f,[z,null]),p.clear()),s.emit(z);continue}let te=!1;if(h&&(n.script_type==="brahmic"?te=b(f,[z,n.list[n.krama_text_arr[H][1]??-1]]):r.script_type==="brahmic"&&(te=b(f,[z,r.list[r.krama_text_arr[H][1]??-1]]))),!te){const T=O(r,H);r.script_type==="brahmic"&&L(a)&&(r.list[r.krama_text_arr[H][1]??-1]?.type==="mAtrA"||T===r.halant)&&I(s.lastChar())?B(s,[T],r.halant,!0):s.emit(T)}ue(f,i,-q)}h&&b(f,[void 0,null],{last_extra_call:!0});let W=s.toString();return W=pe(W,r,o,"output"),{output:W,context_length:p.length()}},je=async(t,e,a,n,r)=>{const[c,o]=await Promise.all([R(e),R(a)]),{trans_options:u,custom_rules:_}=fe(c,o,n);return ye(t,e,a,c,o,u,_,r)},Se={Devanagari:1,Telugu:2,Tamil:3,"Tamil-Extended":4,Bengali:5,Kannada:6,Gujarati:7,Malayalam:8,Odia:9,Sinhala:10,Normal:11,Romanized:12,Gurumukhi:13,Assamese:14,"Purna-Devanagari":15,Brahmi:16,Granth:17,Modi:18,Sharada:20,Siddham:21},Ee={English:1,Sanskrit:2,Hindi:3,Telugu:4,Tamil:5,Bengali:6,Kannada:7,Gujarati:8,Malayalam:9,Odia:10,Sinhala:11,Marathi:12,Nepali:13,Punjabi:14,Assamese:15},Ne={script_list:Se,lang_list:Ee},{script_list:Ce,lang_list:Ie}=Ne,oe=Object.keys(Ce),se=Object.keys(Ie),Le=Array.from(new Set([...se,...oe])),Oe={Bengali:"Bengali",Gujarati:"Gujarati",Hindi:"Devanagari",Kannada:"Kannada",Malayalam:"Malayalam",Odia:"Odia",Sinhala:"Sinhala",Tamil:"Tamil",Telugu:"Telugu",English:"Normal",Sanskrit:"Devanagari",Marathi:"Devanagari",Nepali:"Devanagari",Punjabi:"Gurumukhi",Assamese:"Assamese"},he={dev:"Devanagari",te:"Telugu",tel:"Telugu",tam:"Tamil","tam-ex":"Tamil-Extended",ben:"Bengali",be:"Bengali",ka:"Kannada",kan:"Kannada",gu:"Gujarati",guj:"Gujarati",mal:"Malayalam",or:"Odia",od:"Odia",oriya:"Odia",si:"Sinhala",sinh:"Sinhala",sin:"Sinhala",en:"Normal",eng:"Normal",la:"Normal",lat:"Normal",nor:"Normal",norm:"Normal",rom:"Romanized",gur:"Gurumukhi",as:"Assamese",sa:"Devanagari",san:"Devanagari",hin:"Devanagari",hi:"Devanagari",mar:"Devanagari",ne:"Devanagari",nep:"Devanagari",pun:"Gurumukhi"};function De(t){return t.toLowerCase().replace(/(^|-)([a-z])/g,(e,a,n)=>a+n.toUpperCase())}const K=t=>{const e=De(t);return oe.includes(e)?e:se.includes(e)?Oe[e]:t.toLocaleLowerCase()in he?he[t.toLocaleLowerCase()]:null},Me=async t=>{const e=K(t);if(!e)throw new Error(`Invalid script name: ${t}`);return await R(e)};async function Re(t,e,a,n){const r=K(e);if(!r)throw new Error(`Invalid script name: ${e}`);const c=K(a);if(!c)throw new Error(`Invalid script name: ${a}`);return r===c?t:(await je(t,r,c,n)).output}async function qe(t,e){const a=K(t);if(!a)throw new Error(`Invalid script name: ${t}`);const n=K(e);if(!n)throw new Error(`Invalid script name: ${e}`);const r=await R(a),c=await R(n);return Object.keys(me(r,c,Object.fromEntries(Object.keys(Y).map(o=>[o,!0]))))}function Ge(t){const e=K(t);if(!e)throw new Error(`Invalid script name: ${t}`);let a="",n="",r=null,c=null,o={},u=[];const _=(async()=>{const[l,p]=await Promise.all([R("Normal"),R(e)]);r=l,c=p;const h=fe(l,p);o=h.trans_options,u=h.custom_rules})();function s(){a="",n=""}function i(l){if(!r||!c)throw new Error("Typing context not ready. Await `ctx.ready` before calling takeKeyInputSync.");let p=l?.[0]??"";a+=p;let h=n;const{context_length:v,output:k}=ye(a,"Normal",e,r,c,o,u,{typing_mode:!0});v>0?n=k:v===0&&(a="",n="");let f=0;for(;f<k.length&&f<h.length&&k[f]===h[f];)f++;let d=k.substring(f);return{to_delete_chars_count:h.length-f,diff_add_text:d}}return{ready:_,clearContext:s,takeKeyInput:i,getCurrentOutput:()=>n}}function Be(t){return"nativeEvent"in t?t.nativeEvent:t}async function Ke(t,e,a){const n=e.currentTarget,r=Be(e);if(typeof InputEvent<"u"&&r instanceof InputEvent&&r.data!==null){await t.ready;const{diff_add_text:o,to_delete_chars_count:u}=t.takeKeyInput(r.data),_=n.value,s=(n.selectionStart??0)+1,i=s-u-2,l=_.substring(0,i),p=o;let h="";const v=_.length+1===s,k=_.length+1!==s;v?h=_.substring(s+1):k&&(h=_.substring(s-1));const f=l.length+p.length,d=l+p+h;n.value=d,n.focus(),n.selectionStart=f,n.selectionEnd=f,a?.(d)}else a?.(n.value),t.clearContext()}const ze=new Set(["Backspace","Delete","Enter","Tab","Escape","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"]);function He(t,e){if(t.isComposing)return!1;const a=t.key;return!a||a==="Unidentified"||a==="Process"||a==="Dead"||t.ctrlKey||t.metaKey||t.altKey?!1:ze.has(a)?(e.clearContext(),!0):!1}exports.ALL_LANG_SCRIPT_LIST=Le;exports.LANG_LIST=se;exports.SCRIPT_LIST=oe;exports.clearTypingContextOnKeyDown=He;exports.createTypingContext=Ge;exports.getAllOptions=qe;exports.handleTypingInputEvent=Ke;exports.preloadScriptData=Me;exports.transliterate=Re;