-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
59 lines (52 loc) · 2 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import {fromIAST,toIAST,toIASTWord,RO_CHARS,toIASTOffText} from "./src/iast.js"
export * from "./src/ipa.js"
export * from "./src/order.js"
export * from "./src/lexification.js"
export * from "./src/formulation.js"
export * from "./src/syllable.js"
export * from "./src/lexeme.js"
import {toIndicXML,toIndic,fromDevanagari,fromDevanagariWord,enumTransliteration,DEVAPAT,DEVAPAT_G} from "./src/indic.js"
import { doParts ,breakSyllable } from "./src/utils.js"
export const xml2indic=(str,script='')=>{
if (!script) return str;
if (script==='iast'|| script==='romn' || script==='ro') return toIAST(str,{format:'xml'});
else return toIndicXML(str,script)
}
export const offtext2indic=(str,script='')=>{
if (!script) return str;
if (script==='iast'|| script==='romn' || script==='ro') return toIAST(str);
else return toIndic(str,script)
}
export const deva2IAST=(buf,onError)=>{ //for cst4
buf=buf.replace(/\u200d/g,'');
return buf.replace(DEVAPAT_G,(m,deva)=>{
const prov=fromDevanagariWord(deva);
const num=parseInt(prov);
if (!isNaN(num) && num.toString()==prov) return prov;
let iast=toIASTWord(prov);
if (onError&&iast.indexOf('??') > -1) {
onError(deva,prov);
}
return iast;
})
/*
buf=buf.replace(/\u200d/g,''); //remove zero width joiner
let out=doParts(buf,DEVAPAT,(deva)=>{
const prov=fromDevanagariWord(deva);
const num=parseInt(prov);
if (!isNaN(num) && num.toString()==prov) return prov;
let iast=toIASTWord(prov);
if (onError&&iast.indexOf('??') > -1) {
onError(deva,prov);
}
return iast;
});
return out;
*/
}
export const LEXEME_REG_G=/([a-zA-Z]+[\dA-Za-z]*[a-zA-Z]+)/g;
export const LEX_REG_G=/([a-zA-Z]+\d+[\dA-Za-z]+)/g;
export const PALIWORD_REG_G=/([a-zA-Z]+)/g;
export const isLex=w=>!!w.match(/[a-zA-Z]\d[a-zA-Z]/);
export {fromIAST,toIAST,toIASTOffText,fromDevanagari,enumTransliteration,breakSyllable,
RO_CHARS};