{"version":3,"file":"serbian-transliterator.mjs","sources":["../../../projects/serbian-transliterator/src/lib/transliterator.pipe.ts","../../../projects/serbian-transliterator/src/lib/serbian-transliterator.module.ts","../../../projects/serbian-transliterator/src/public-api.ts","../../../projects/serbian-transliterator/src/serbian-transliterator.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'transliterator'\n})\nexport class TransliteratorPipe implements PipeTransform {\n\n  transform(value: string, target?: any): any {\n    const noTransliterateTriggers = ['w', 'q', 'x', 'y'];\n\n    // tslint:disable-next-line:max-line-length\n    const cirWords = ['нјекција', 'нјугација', 'анјуг', 'дјева', 'Дјева'];\n    // tslint:disable-next-line:max-line-length\n    const latWords = ['njekcija', 'njugacija', 'anjug', 'djeva', 'Djeva'];\n\n\n    // tslint:disable-next-line:max-line-length\n    const cirCharsLowercase = ['ђ', 'љ', 'њ', 'џ', 'а', 'б', 'в', 'г', 'д', 'е', 'ж', 'з', 'и', 'ј', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'ћ', 'у', 'ф', 'х', 'ц', 'ч', 'ш'];\n    // tslint:disable-next-line:max-line-length\n    const cirCharsUppercase = ['Ђ', 'Љ', 'Њ', 'Џ', 'А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ж', 'З', 'И', 'Ј', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'Ћ', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш'];\n    // tslint:disable-next-line:max-line-length\n    const latCharsLowercase = ['đ', 'lj', 'nj', 'dž', 'a', 'b', 'v', 'g', 'd', 'e', 'ž', 'z', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'ć', 'u', 'f', 'h', 'c', 'č', 'š'];\n    // tslint:disable-next-line:max-line-length\n    const latCharsUppercase = ['Đ', 'Lj', 'Nj', 'Dž', 'A', 'B', 'V', 'G', 'D', 'E', 'Ž', 'Z', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'Ć', 'U', 'F', 'H', 'C', 'Č', 'Š'];\n\n    const lat = latWords.concat(latCharsUppercase, latCharsLowercase);\n    const cir = cirWords.concat(cirCharsUppercase, cirCharsLowercase);\n\n    const excludingTrigerChars = ['w', 'W', 'q', 'Q', 'y', 'Y', 'x', 'X'];\n\n    const count = (value.match(/is/g) || []).length;\n    // console.log(count);\n\n    if (['cir', 'lat'].indexOf(target) === -1) {\n      target = undefined;\n    }\n\n    if (!target) {\n      // to recognize input characters\n      const cirCount = (value.match(/[аеиоу]/g) || []).length;\n      const latCount = (value.match(/[aeiou]/g) || []).length;\n      target = latCount > cirCount ? 'cir' : 'lat';\n    }\n\n    let sourceArr = lat;\n    let targetArr = cir;\n\n    if (target === 'lat') {\n      sourceArr = cir;\n      targetArr = lat;\n    }\n\n    // for (let i = 0, len = sourceArr.length; i < len; i++) {\n    //   value = value.replace(new RegExp(sourceArr[i], 'g'), targetArr[i]);\n    // }\n\n    // return value;\n\n    const words = value.split(/[\\s]+/gi);\n    let result = '';\n\n\n\n    for (let i = 0, iLen = words.length; i < iLen; i++) {\n      // Skip words with w,q,x,y\n      if (words[i].split('').filter(itm => noTransliterateTriggers.indexOf(itm) > -1).length > 0) {\n        result += ' ' + words[i];\n        continue;\n      }\n\n      let newWord = ' ' + words[i];\n\n      for (let j = 0, jLen = sourceArr.length; j < jLen; j++) {\n        newWord = newWord.replace(new RegExp(sourceArr[j], 'g'), targetArr[j]);\n        // newWord = '' + newWord;\n      }\n\n      result += newWord;\n    }\n\n    return result.trim();\n\n  }\n\n}\n","import { NgModule } from '@angular/core';\nimport { TransliteratorPipe } from './transliterator.pipe';\n\n@NgModule({\n  imports: [],\n  declarations: [TransliteratorPipe],\n  exports: [TransliteratorPipe]\n})\nexport class SerbianTransliteratorModule {}\n","/*\n * Public API Surface of serbian-transliterator\n */\n\nexport * from './lib/transliterator.pipe';\nexport * from './lib/serbian-transliterator.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAKa,kBAAkB,CAAA;IAE7B,SAAS,CAAC,KAAa,EAAE,MAAY,EAAA;QACnC,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;;AAGrD,QAAA,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;;AAEtE,QAAA,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;;AAItE,QAAA,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;;AAEjL,QAAA,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;;AAEjL,QAAA,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;;AAEpL,QAAA,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAEpL,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;AAElE,QAAA,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEtE,QAAA,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC;;AAGhD,QAAA,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;YACzC,MAAM,GAAG,SAAS,CAAC;AACpB,SAAA;QAED,IAAI,CAAC,MAAM,EAAE;;AAEX,YAAA,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC;AACxD,YAAA,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC;AACxD,YAAA,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;AAC9C,SAAA;QAED,IAAI,SAAS,GAAG,GAAG,CAAC;QACpB,IAAI,SAAS,GAAG,GAAG,CAAC;QAEpB,IAAI,MAAM,KAAK,KAAK,EAAE;YACpB,SAAS,GAAG,GAAG,CAAC;YAChB,SAAS,GAAG,GAAG,CAAC;AACjB,SAAA;;;;;QAQD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,MAAM,GAAG,EAAE,CAAC;AAIhB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;;AAElD,YAAA,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,uBAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1F,gBAAA,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzB,SAAS;AACV,aAAA;YAED,IAAI,OAAO,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAE7B,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;gBACtD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;;AAExE,aAAA;YAED,MAAM,IAAI,OAAO,CAAC;AACnB,SAAA;AAED,QAAA,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;KAEtB;;+GA7EU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAlB,kBAAkB,EAAA,IAAA,EAAA,gBAAA,EAAA,CAAA,CAAA;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,gBAAgB;AACvB,iBAAA,CAAA;;;MCIY,2BAA2B,CAAA;;wHAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yHAA3B,2BAA2B,EAAA,YAAA,EAAA,CAHvB,kBAAkB,CAAA,EAAA,OAAA,EAAA,CACvB,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAEjB,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,YAJ7B,EAAE,CAAA,EAAA,CAAA,CAAA;2FAIA,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,EAAE;oBACX,YAAY,EAAE,CAAC,kBAAkB,CAAC;oBAClC,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC9B,iBAAA,CAAA;;;ACPD;;AAEG;;ACFH;;AAEG;;;;"}