UNPKG

anbani

Version:

Multifunctional javascript toolkit for Georgian Alphabet - Anbani

1 lines 20.8 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("anbani",[],t):"object"==typeof exports?exports.anbani=t():e.anbani=t()}(this,(()=>(()=>{"use strict";var e={d:(t,r)=>{for(var i in r)e.o(r,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:r[i]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};e.d(t,{default:()=>S});const r={alphabets:{names:["ან","ბან","გან","დონ","ენ","ვინ","ზენ","თან","ინ","კან","ლას","მან","ნარ","ონ","პარ","ჟან","რაე","სან","ტარ","უნ","ფარ","ქან","ღან","ყარ","შინ","ჩინ","ცან","ძილ","წილ","ჭარ","ხან","ჯან","ჰაე","ეჲ","ჲე","ჳე","ჴარ","ჰოე","ჶი","ჷნ","ჸინ","გან ამოტრიალებული","აინ ამოტრიალებული","გამყოფი","ნარ მოდიფიკატორი","აენ","სიმაგრის ნიშანი","ლაბიალიზაციის ნიშანი","ა-უმლაუტი","ა-მაკრონი","ა-მაკრონ-უმლაუტი","ე-მაკრონი","ი-მაკრონი","ო-უმლაუტი","ო-მაკრონი","ო-მაკრონ-უმლაუტი","უ-უმლაუტი","უ-მაკრონი","უ-მაკრონ-უმლაუტი","უ-ბრჯგუ","ჷნ-მაკრონი","წერტილი","მძიმე","კითხვის ნიშანი","ძახილის ნიშანი","წერტილ-მძიმე","ორწერტილი"],mkhedruli:["ა","ბ","გ","დ","ე","ვ","ზ","თ","ი","კ","ლ","მ","ნ","ო","პ","ჟ","რ","ს","ტ","უ","ფ","ქ","ღ","ყ","შ","ჩ","ც","ძ","წ","ჭ","ხ","ჯ","ჰ","ჱ","ჲ","ჳ","ჴ","ჵ","ჶ","ჷ","ჸ","ჹ","ჺ","჻","ჼ","ჽ","ჾ","ჿ","ა̈","ა̄","ა̄̈","ე̄","ი̄","ო̈","ო̄","ო̄̈","უ̈","უ̄","უ̄̈","უ̂","ჷ̄",".",",","?","!",";",":"],mtavruli:["Ა","Ბ","Გ","Დ","Ე","Ვ","Ზ","Თ","Ი","Კ","Ლ","Მ","Ნ","Ო","Პ","Ჟ","Რ","Ს","Ტ","Უ","Ფ","Ქ","Ღ","Ყ","Შ","Ჩ","Ც","Ძ","Წ","Ჭ","Ხ","Ჯ","Ჰ","Ჱ","Ჲ","Ჳ","Ჴ","Ჵ","Ჶ","Ჷ","Ჸ","Ჹ","Ჺ","","","Ჽ","Ჾ","Ჿ","","","","","","","","","","","","","",".",",","?","!",";",":"],asomtavruli:["Ⴀ","Ⴁ","Ⴂ","Ⴃ","Ⴄ","Ⴅ","Ⴆ","Ⴇ","Ⴈ","Ⴉ","Ⴊ","Ⴋ","Ⴌ","Ⴍ","Ⴎ","Ⴏ","Ⴐ","Ⴑ","Ⴒ","Ⴓ","Ⴔ","Ⴕ","Ⴖ","Ⴗ","Ⴘ","Ⴙ","Ⴚ","Ⴛ","Ⴜ","Ⴝ","Ⴞ","Ⴟ","Ⴠ","Ⴡ","Ⴢ","Ⴣ","Ⴤ","Ⴥ","","","","","","","","","","","","","","","","","","","","","","","",".",",","?","!",";",":"],nuskhuri:["ⴀ","ⴁ","ⴂ","ⴃ","ⴄ","ⴅ","ⴆ","ⴇ","ⴈ","ⴉ","ⴊ","ⴋ","ⴌ","ⴍ","ⴎ","ⴏ","ⴐ","ⴑ","ⴒ","ⴓ","ⴔ","ⴕ","ⴖ","ⴗ","ⴘ","ⴙ","ⴚ","ⴛ","ⴜ","ⴝ","ⴞ","ⴟ","ⴠ","ⴡ","ⴢ","ⴣ","ⴤ","ⴥ","","","","","","","","","","","","","","","","","","","","","","","",".",",","?","!",";",":"],homoglyph:["ⴢ","ձ","ଌ","ᕦ","၅","ᧆ","୫","ᦎ","‎ᦵ","૩","ⴝ","ⴋ","চ","ᦂ","Ჴ","ળ","ᦝ","ᒑ","கு","᧗","ᦀ","ⴕ","ⴜ","ᧇ","𑇤","ⴌ","ઉ","ᑻ","წ","ჭ","ᕹ","ⴟ","Ჱ","","","","","","","","","","","","","","","","","","","","","","","","","","","","",".",",","?","!",";",":"],phonetic:["ɑ","b","g","d","ɛ","v","z","tʰ","i","k'","l","m","n","ɔ","p'","ʒ","r","s","t'","u","pʰ","kʰ","ʁ","q'","ʃ","t͡ʃ","t͡s","d͡z","t͡sʼ","t͡ʃʼ","χ","d͡ʒ","h","eɪ","j","w","qʰ","oː","f","ə","ʔ","ɢ","ʕ","","◌̃","ə","","","","","","","","","","","","","","","",".",",","?","!",";",":"],braille:["⠁","⠃","⠛","⠙","⠑","⠺","⠵","⠋","⠊","⠅","⠇","⠍","⠝","⠕","⠏","⠚","⠗","⠎","⠞","⠥","⠧","⠻","⠫","⠮","⠱","⠟","⠉","⠽","⠹","⠭","⠓","⠪","⠯","","","","","","","","","","","⠌","","","","","","","","","","","","","","","","","","⠲","⠂","⠦","⠖","⠆","⠒"],common:["a","b","g","d","e","v","z","t","i","k","l","m","n","o","p","zh","r","s","t","u","f","q","gh","y","sh","ch","c","dz","ts","tch","x","j","h","e","i","ui","x","hoi","f","oa","h","gh","rgh","","","oa","","","","","","","","","","","","","","","",".",",","?","!",";",":"],cyrillic:["а","б","г","д","е","в","з","т","и","к","л","м","н","о","п","ж","р","с","т","у","ф","к","г","к","ш","ч","ц","дз","тц","тч","х","дж","х","е","й","уй","х","хо","ф","оа","х","г","рг","","","оа","","","","","","","","","","","","","","","",".",",","?","!",";",":"],greek:["α","μπ","γγ","ντ","ε","β","ζ","τ","η","κ","λ","μ","ν","ο","π","ζͱ","ρ","σ","τ","ου","ψ","κ","γ","κͱ","σͱ","τσ","τσ","δζ","τσ","τσͱ","γχ","τζ","ͱ","ε","ι","υι","κχ","ͱοι","φ","οα","ͱ","γ","ργ","","","οα","","","","","","","","","","","","","","","",".",",","?","!",";",":"],armenian:["ա","բ","գ","դ","է","վ","զ","թ","ի","կ","լ","մ","ն","օ","պ","ժ","ռ","ս","տ","ու","փ","ք","ղ","կհ","շ","չ","ց","ձ","ծ","ճ","խ","ջ","հ","է","ի","ուի","խ","հօի","ֆ","ը","հ","ղ","ռղ","","","ը","","","","","","","","","","","","","","","",".",",","?","!",";",":"],iso_9984:["a","b","g","d","e","v","z","t'","i","k","l","m","n","o","p","ž","r","s","t","u","p'","k'","ḡ","q","š","č'","c'","j","c","č","x","ǰ","h","ē","y","w","ẖ'","ō","f","","","","","","","","","","","","","","","","","","","","","","",".",",","?","!",";",":"],national:["a","b","g","d","e","v","z","t","i","k'","l","m","n","o","p'","zh","r","s","t'","u","p","k","gh","q'","sh","ch","ts","dz","ts'","ch'","kh","j","h","","","","","","","","","","","","","","","","","","","","","","","","","","","","",".",",","?","!",";",":"],bgn:["a","b","g","d","e","v","z","t'","i","k","l","m","n","o","p","zh","r","s","t","u","p'","k'","gh","q","sh","ch'","ts'","dz","ts","ch","kh","j","h","ey","j","","q'","","","","","","","","","","","","","","","","","","","","","","","","",".",",","?","!",";",":"],titus:["a","b","g","d","e","v","z","t","i","ḳ","l","m","n","o","ṗ","ž","r","s","ṭ","u","p","k","ġ","q̇","š","č","c","ӡ","c̣","č̣","x","ǯ","h","ē","y","w","q","ō","","","","","","","","","","","","","","","","","","","","","","","",".",",","?","!",";",":"],qwerty:["a","b","g","d","e","v","z","T","i","k","l","m","n","o","p","J","r","s","t","u","f","q","R","y","S","C","c","Z","w","W","x","j","h","E","I","V","X","H","F","D","Y","G","L",">","N","<","{","}","","","","","","","","","","","","","",".",",","?","!",";",":"],numeric:["1","2","3","4","5","6","7","9","10","20","30","40","50","70","80","90","100","200","300","400","500","600","700","800","900","1000","2000","3000","4000","5000","6000","8000","9000","8","60","400","7000","10000","","","","","","","","","","","","","","","","","","","","","","","",".",",","?","!",";",":"]},start:{mkhedruli:4304,mtavruli:7312,asomtavruli:4256,nuskhuri:11520,latin:97},regex:{mkhedruli:/[ა-ჿ]/,mtavruli:/[Ა-Ჿ]/,asomtavruli:/[Ⴀ-Ⴥ]/,nuskhuri:/[ⴀ-ⴥ]/,latin:/[a-zA-Z]/,cyrillic:/[А-Яа-я]/}},i=e=>{var t={მხედრული:"mkhedruli",ასომთავრული:"asomtavruli",ნუსხური:"nuskhuri",მთავრული:"mtavruli",ხუცური:"khutsuri",შანიძისეული:"shanidziseuli",ტფილელისეული:"tfileliseuli",სასათაურე:"sasataure",ჰომოგლიფი:"homoglyph",ბრაილი:"braille",ფონეტიკური:"phonetic",ლათინური:"qwerty",კირილიცა:"cyrillic",ბერძნული:"greek",სომხური:"armenian",ნაციონალური:"national",ქვერთი:"qwerty",ზოგადი:"common",ტრანსკრიფცია:"common",ისო:"iso_9984",ბგნ:"bgn"};Object.keys(t).forEach((function(r){r==e.from&&(e.from=t[r]),r==e.to&&(e.to=t[r])}))},l=e=>{if(-1==["mkhedruli","asomtavruli","nuskhuri","mtavruli","qwerty","braille"].indexOf(e.from))throw`Text conversion from '${e.from}' is not supported.`},s=e=>"tfileliseuli"==e||"shanidziseuli"==e||"khutsuri"==e||"sasataure"==e;String.prototype.setCharAt=function(e,t,r){return r=r||0,e>this.length-1?this:this.substring(0,e)+t+this.substring(e+t.length+r)};const a=(e,t,i)=>{let l=r.alphabets[i][r.alphabets[t].indexOf(e[0])];return l=null==l?e[0]:l,e.setCharAt(0,l)},n=(e,t)=>t<0?"qwerty":r.regex.mkhedruli.test(e[t])?"mkhedruli":r.regex.latin.test(e[t])?"qwerty":r.regex.asomtavruli.test(e[t])?"asomtavruli":r.regex.mtavruli.test(e[t])?"mtavruli":r.regex.nuskhuri.test(e[t])?"nuskhuri":n(e,t-1),u=e=>{let t=[r.regex.mkhedruli.test(e),r.regex.mtavruli.test(e),r.regex.asomtavruli.test(e),r.regex.nuskhuri.test(e),r.regex.latin.test(e),r.regex.cyrillic.test(e)];return o(t,[!0,!1,!1,!1,!1,!1])?"mkhedruli":o(t,[!1,!0,!1,!1,!1,!1])?"mtavruli":o(t,[!1,!1,!0,!1,!1,!1])?"asomtavruli":o(t,[!1,!1,!1,!0,!1,!1])?"nuskhuri":o(t,[!0,!0,!1,!1,!1,!1])?"tfileliseuli":o(t,[!0,!1,!0,!1,!1,!1])?"shanidziseuli":o(t,[!1,!1,!0,!0,!1,!1])?"khutsuri":o(t,[!1,!0,!0,!1,!1,!1])?"sasataure":o(t,[!1,!1,!1,!1,!0,!1])?"latin":o(t,[!1,!1,!1,!1,!1,!0])?"cyrillic":t},o=(e,t)=>{for(let r=0,i=e.length;r<i;r++)if(e[r]!=t[r])return!1;return!0},h={checkForAliases:i,checkForDirection:l,isUnsupported:e=>[r.regex.cyrillic.test(e)].some((e=>1==e)),isBicameral:s,toUpperCase:a,detectAlphabet:n,classifyText:u,cca:e=>e.charCodeAt(0),fcc:e=>String.fromCharCode(e),isSame:o},m=(e,t,i)=>{let l="";for(let s=0,a=e.length;s<a;s++){let a=r.alphabets[i][r.alphabets[t].indexOf(e[s])];l+=void 0===a?e[s]:a}return l},c=(e,t,i)=>{const l={sasataure:{upper:"asomtavruli",lower:"mtavruli"},tfileliseuli:{upper:"mtavruli",lower:"mkhedruli"},shanidziseuli:{upper:"asomtavruli",lower:"mkhedruli"},khutsuri:{upper:"asomtavruli",lower:"nuskhuri"}};let s=l[i].upper,n=l[i].lower,u="";for(let i=0,l=e.length;i<l;i++){let l=r.alphabets[n][r.alphabets[t].indexOf(e[i])];u+=void 0===l?e[i]:l}u=a(u,n,s);let o=u.match(/[?.!]\s+[A-zႠ-ჰⴀ-ⴠᲐ-Ჰ0-9]/g);if(null!=o)for(let e=0;e<o.length;e++)u=u.setCharAt(u.indexOf(o[e]),o[e].substring(0,o[e].length-1).concat(a(o[e][o[e].length-1],n,s)));if(o=u.match(/[Ⴀ-ჰⴀ-ⴠᲐ-Ჰ]\'/g),null!=o)for(let e=0;e<o.length;e++)u=u.setCharAt(u.indexOf(o[e]),a(o[e][0],n,s),1);return u},f={convert:(e,t,r)=>{let a={from:t,to:r};return i(a),l(a),((e,t,r)=>{if(null!=e)return s(r)?c(e,t,r):m(e,t,r)})(e,a.from,a.to)},interpret:(e,t)=>{let r={to:t};if(i(r),null!=e)return s(r.to)?c(e,n(e,e.length-1),r.to):m(e,n(e,e.length-1),r.to)},$:u},p={frequency:{general:{".":.0458171705,",":.206860377,"!":.0143453122,"?":.00697748176},summed:[["?",.00697748176],["!",.02132279396],[".",.06713996445],[",",.27400034145]]},vefxwords:["გამიშვშეს","მართალიპი","შემომოცივე","ვუხვა","გავლსობა","განდევანგაა","მოასეხეს","აქამდსაგებენ","შვენინე","უგანდეგო","ქანულკულნი","გემრუფენ","ვეღათ","მივისცა","მუკამდის","მივიმოწუქალსა","მზლოს","მოვლეხვე","ვიმაქებდა","ტატრესტინი","მოითქოკა","მდაგებენ","ვიმცე","სევა","სათინესნი","სადგმო","გასჩვადეთ","მესმანცა","მივსცავე","წეითო","ძვილნი","გამიზრიან","დავათქვენო","ზიცი","მისცედი","მონებანი","დანამრისა","სრცოტი","ჰქონთავისთან","მბრძენია","წახსილთა","მიხსენით","სევნა","გარდუკვრიდდა","მიდამოდეს","სიპყრო","შემწოვლისა","მამდიჰხლეან","ბრჭნია","დანენატანნი","უკრთებოდემნი","იციცოდა","სამატა","უფრნა","გაეგარნების","დავეჯარენა","მტემურსა","მშვენოდენო","გიმძიმნო","სამვზინო","მოვლოცთა","გიშვილა","დაამჭებინ","მითხროს","მჟავალია","მღურა","ღინდეს","მოაგხება","გავიცეცხლი","ტირსლით","გავწყრეტა","მყივნენ","ქაფინს","ბანგსა","შემოხანა","შემოვსჭვრეტით","ამოვჰღერთო","მოცადია","მოეხვიდეს","თქმია","აღვია","ვლამს","მოხდიანები","გორსვლითა","გვთქვას","გაუზადა","დაბითქის","ანვინა","შრიდონი","გავწიდნია","ალვითანი","მონიო","სიტირენ","გიშიხარნი","დამიფემი","მეგრეცა","ფითჯი","მსდევარსა","განაზანდა","საქმინ"],fnames:["თავან","ელიკონ","კანტლიონ","გველე","ლადიან","ლოტინე","გიოლგვი","გარსა","თედა","მეზნან","მარტა","აურაზგრ","მადრა","გიოგილი","სონიკელიზანი","ასსანო","ნიგოლიტი","ავაკვან","მონს","ნადრინ","ნიფოლ","ელიკორ","დამას","გიმრი","ობარხი","გამონ","ონეს","ზიხტინე","იოკელ","სატდა","პარა","იანეზ","ზინა","რანგი","იანგორ","აბსინე","ლენტან","ზისტიკობ","ნიგოლო","დატითნი","მანთა","არგიქ","ზიკო","ერლე","იანე","მევრენ","ალტისა","მარდია","სისელ","ხეისა","ელუან","დელო","იეკლებ","გუჩილი","ტამა","ნოკგოლ","იაკისე","დადო","ართემრას","ანაიკობე","გტიტ","თახსან","ზანა","ნუდო","გიოდა","ისსლიკონ","ალსან","რამოლე","გუმან","ნურმგინ","თომითანი","დევანე","ელედეინ","გიმოტ","არარ","ორმონ","ნედრი","დიმო","ხოთიანეი","გივა","ნანტრე","გიმოლ","დოსონ","იკანენ","იკქორიზე","გილტორგ","დეტონ","ერდეა","ირეგლიზ","რიდელუდან","თოკან","იანებენტიანა","სიბო","გიორტინ","ნიკილან","ელაკონ","გიდრაბ","ლეცთეტანტენდერიბ","დამერ","იეგო"],lnames:["მახადენია","ბსელრია","ქავია","კორეკია","მარდია","ბარდიონია","გვიპიანდია","ერთელია","ნთხაია","თედია","ბოხაია","ბარია","ჭარტინია","არპანია","ჩურია","მორცაწაზია","არმელია","მირბარია","ჭველაქია","ქარითია","გართელია","იანია","დვანტონეიანია","პუჩია","დატილია","კანია","ვარდსვალია","ყორთელია","არდოლია","რიკსქაშვილი","გამექონთეშვილი","ლუჩაშვილი","მარდაშვილი","პაბიშვილი","არბერეშვილი","ფოსურიშვილი","ვაწოშვილი","ჩრილიაშვილი","ტიმაშვილი","მავანიშვილი","მადსიშვილი","რედელიშვილი","თეთაშვილი","გარავაშვილი","დარახაშვილი","ბარჭამიშვილი","ბარახაშვილი","ანღელიშვილი","მებაშვილი","სურეჯიშვილი","აკბთაკიშვილი","ტუსონიშვილი","ტოდერაშვილი","ზაბხასიშვილი","ქურაბერინიშვილი","ებვეკაშვილი","ერდითაშვილი","ურბელიშვილი","მენრმაშვილი","ჯვილოძე","ბადიაძე","შვირიძე","სასანაძე","გიმაანიძე","გვამავიძე","არმემიძსძე","ბარაძე","აბეანიძე","ოვონიძე","ლამაშვიძე","ობთახურაძე","კერეძე","ფვერიძე","მაგიძე","კადიაშიძე","გამსანიძე","მერტინიძე","ბემეელიძე","ტოხიძე","ჭარატიძე","ბადოსელი","ვარისელი","სირხელი","სორხელი","მარდელი","გაშვითელი","კოთაველი","ოსთმინელი","ერისელი","ზთერტელი","ხამიკელი","მიბაძეშიელი","იკთელი","გთციტაბელი","ასიცელი","ობაიჭელი","ლენთელი","მემჩათერინონგბანინიძე","ამედვაქსიკოგეიშვირი","მორჟვონანდიშვილი"]};let d=p.vefxwords;const g=p.frequency.summed,k=e=>{let t="";for(let r=0;r<e.length;r++)t+=e[r]+y();return t=t.trim(),t=t.setCharAt(t.length-1,".",1),t},v=()=>p.fnames[w(0,p.fnames.length)],b=()=>p.lnames[w(0,p.lnames.length)];String.prototype.setCharAt=function(e,t,r){return r=r||0,e>this.length-1?this:this.substring(0,e)+t+this.substring(e+t.length+r)};const y=()=>{let e=Math.random();for(let t=0;t<g.length;t++)if(e<g[t][1])return g[t][0]+" ";return" "},x=()=>d[w(0,d.length)],z=e=>{let t=[];for(let r=0;r<e;r++)t.push(x());return t},w=(e,t)=>Math.floor(Math.random()*(t-e)+e),j={sentences:e=>k(z(e)),paragraphs:(e,t,r="\n\n")=>{let i="";for(let l=0;l<t;l++)i+=k(z(e))+r;return i},loadWordlist:e=>{d=e},names:e=>{let t=[];for(let r=0;r<e;r++)t.push(v()+" "+b());return t},$:{randomFirstName:v,randomLastName:b,randomWord:x}},q=(e,t="[ა-ჰᲐ-ᲰႠ-Ⴠⴀ-ⴠa-zA-ZА-Яа-я]")=>{let r=e.toUpperCase().split(""),i=r.length,l={},s=new RegExp(t);for(let e=0;e<i;e++)s.test(r[e])&&(l[r[e]]?l[r[e]]++:l[r[e]]=1);return l},A={friedman:(e,t="[ა-ჰᲐ-ᲰႠ-Ⴠⴀ-ⴠa-zA-ZА-Яа-я]")=>{let r=q(e,t),i=0,l=0;for(let e in r)i+=r[e]*(r[e]-1),l+=r[e];return l>1?i/(l*(l-1)):0},frequency:(e,t="[ა-ჰᲐ-ᲰႠ-Ⴠⴀ-ⴠa-zA-ZА-Яа-я]")=>{let r=e.toUpperCase().split(""),i=r.length,l={},s=new RegExp(t);for(let e=0;e<i;e++)s.test(r[e])&&(l[r[e]]?l[r[e]]++:l[r[e]]=1);for(let e in l)l[e]/=i;return l},count:q};f.$={classifyText:h.classifyText};let C=Object.keys(r.alphabets).slice(0,4).concat(["khutsuri","shanidziseuli","tfileliseuli","sasataure"]).concat(Object.keys(r.alphabets).slice(4)),O={letters:{mkhedruli:r.alphabets.mkhedruli.join(""),asomtavruli:r.alphabets.asomtavruli.join(""),nuskhuri:r.alphabets.nuskhuri.join(""),mtavruli:r.alphabets.mtavruli.join("")},keys:C,caps:e=>f.convert(e,"mkhedruli","mtavruli"),bicam:e=>f.convert(e,"mkhedruli","shanidziseuli"),bicaps:e=>f.convert(e,"mkhedruli","sasataure")};const S={core:f,lorem:j,toolkit:A,data:r,utils:h,ab:O};return t.default})()));