{"version":3,"file":"wordifyfa.min.js","mappings":"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","sources":["webpack://wordifyfa/./src/toEnglishDigits.ts","webpack://wordifyfa/./src/wordifyfa.ts","webpack://wordifyfa/webpack/bootstrap","webpack://wordifyfa/webpack/runtime/amd options","webpack://wordifyfa/webpack/runtime/harmony module decorator","webpack://wordifyfa/webpack/startup"],"sourcesContent":["export default function toEnglishDigits(num:string|number):string {\r\n\r\n if (num === null || num === undefined) {\r\n return null;\r\n }\r\n\r\n if (typeof num !== 'string' || num.length===0)\r\n return num.toString();\r\n\r\n const faDigits = '۰۱۲۳۴۵۶۷۸۹';\r\n const arDigits = '٠١٢٣٤٥٦٧٨٩';\r\n let output = \"\";\r\n for (let ipos = 0; ipos < num.length; ipos++) {\r\n\r\n let faIndex = faDigits.indexOf(num[ipos]);\r\n if (faIndex >= 0) {\r\n output += faIndex.toString();\r\n continue;\r\n }\r\n let arIndex = arDigits.indexOf(num[ipos]);\r\n if (arIndex >= 0) {\r\n output += arIndex.toString();\r\n continue;\r\n }\r\n output += num[ipos];\r\n }\r\n return output.replace(/,/g, \"\");\r\n}","// Persian Wordifier\r\n// Version: 1.3.0\r\n// Author: Salman Arab Ameri\r\n// Publish: 2020-05-15\r\n// with use of ideas in http://www.dotnettips.info/post/626/%D8%AA%D8%A8%D8%AF%DB%8C%D9%84-%D8%B9%D8%AF%D8%AF-%D8%A8%D9%87-%D8%AD%D8%B1%D9%88%D9%81\r\n\r\nimport toEnglishDigits from \"./toEnglishDigits\";\r\n\r\nexport function wordifyfa(input:string|number, level:number=0):string {\r\n \r\n\r\n if (input === null) {\r\n return \"\";\r\n }\r\n\r\n let num:number = parseInt(toEnglishDigits(input));\r\n \r\n\r\n // convert negative number to positive and get wordify value\r\n if (num < 0) {\r\n num = num * -1;\r\n return \"منفی \" + wordifyfa(num, level);\r\n }\r\n if (num === 0) {\r\n if (level === 0) {\r\n return \"صفر\";\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n let result = \"\";\r\n const yekan = [\"یک\", \"دو\", \"سه\", \"چهار\", \"پنج\", \"شش\", \"هفت\", \"هشت\", \"نه\"],\r\n dahgan = [\"بیست\", \"سی\", \"چهل\", \"پنجاه\", \"شصت\", \"هفتاد\", \"هشتاد\", \"نود\"],\r\n sadgan = [\"یکصد\", \"دویست\", \"سیصد\", \"چهارصد\", \"پانصد\", \"ششصد\", \"هفتصد\", \"هشتصد\", \"نهصد\"],\r\n dah = [\"ده\", \"یازده\", \"دوازده\", \"سیزده\", \"چهارده\", \"پانزده\", \"شانزده\", \"هفده\", \"هیجده\", \"نوزده\"];\r\n\r\n if (level > 0) {\r\n result += \" و \";\r\n level -= 1;\r\n }\r\n\r\n if (num < 10) {\r\n result += yekan[num - 1];\r\n } else if (num < 20) {\r\n result += dah[num - 10];\r\n } else if (num < 100) {\r\n result += dahgan[Math.floor(num / 10) - 2] + wordifyfa(num % 10, level + 1);\r\n } else if (num < 1000) {\r\n result += sadgan[Math.floor(num / 100) - 1] + wordifyfa(num % 100, level + 1);\r\n } else if (num < 1000000) {\r\n result += wordifyfa(Math.floor(num / 1000), level) + \" هزار\" + wordifyfa(num % 1000, level + 1);\r\n } else if (num < 1000000000) {\r\n result += wordifyfa(Math.floor(num / 1000000), level) + \" میلیون\" + wordifyfa(num % 1000000, level + 1);\r\n } else if (num < 1000000000000) {\r\n result += wordifyfa(Math.floor(num / 1000000000), level) + \" میلیارد\" + wordifyfa(num % 1000000000, level + 1);\r\n } else if (num < 1000000000000000) {\r\n result += wordifyfa(Math.floor(num / 1000000000000), level) + \" تریلیارد\" + wordifyfa(num % 1000000000000, level + 1);\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function wordifyRials(num:string|number):string {\r\n if (num === null || num === undefined || num === \"\") {\r\n return \"\";\r\n }\r\n return wordifyfa(num, 0) + \" ریال\";\r\n}\r\n\r\nexport function wordifyRialsInTomans(num:string|number):string {\r\n if(num === null || num === undefined || num === \"\") {\r\n return \"\";\r\n }\r\n if(typeof num == \"string\") {\r\n var cleanNumber = toEnglishDigits(num);\r\n num=parseInt(cleanNumber);\r\n }\r\n \r\n if (num >= 10 || num<=-10) {\r\n num = Math.floor(num / 10);\r\n } else {\r\n num = 0;\r\n }\r\n return wordifyfa(num, 0) + \" تومان\";\r\n}\r\nexport function momentApprox(date:Date|string|null, baseDate?:Date|string|null, suffixBefore:string=\"پیش\", suffixAfter:string=\"بعد\"):string {\r\n return wordifyMomentApprox(date, baseDate, suffixBefore, suffixAfter, false);\r\n}\r\nexport function wordifyMomentApprox(date:Date|string|null, baseDate?:Date|string|null, suffixBefore:string=\"پیش\", suffixAfter:string=\"بعد\", doWordify:boolean=true):string {\r\n if(date === null || date === undefined || date === \"\") {\r\n return \"\";\r\n }\r\n if (baseDate==null || baseDate==undefined || baseDate==\"\") {\r\n baseDate = new Date();\r\n }\r\n if(typeof date == \"string\") {\r\n date = new Date(date);\r\n }\r\n if(typeof baseDate == \"string\") {\r\n baseDate = new Date(baseDate);\r\n }\r\n let suffix = suffixBefore;\r\n let diff = Math.floor((baseDate.getTime() - date.getTime())/1000) * 1000;\r\n if (diff<0) {\r\n suffix = suffixAfter;\r\n diff = Math.abs(diff);\r\n }\r\n let diffYears = Math.floor(diff / 31557600000);\r\n if(diffYears>0) {\r\n return (doWordify ? wordifyfa(diffYears) : diffYears) + \" سال \" + suffix;\r\n }\r\n let diffMonths = Math.floor(diff / 2629800000);\r\n if(diffMonths>0) {\r\n return (doWordify ? wordifyfa(diffMonths):diffMonths) + \" ماه \" + suffix;\r\n }\r\n let diffWeeks = Math.floor(diff / 604800000);\r\n if(diffWeeks>0) {\r\n return (doWordify?wordifyfa(diffWeeks):diffWeeks) + \" هفته \" + suffix;\r\n }\r\n let diffDays = Math.floor(diff / 86400000);\r\n if(diffDays>0) {\r\n return (doWordify?wordifyfa(diffDays):diffDays) + \" روز \" + suffix;\r\n }\r\n let diffHours = Math.floor(diff / 3600000);\r\n if(diffHours>0) {\r\n return (doWordify?wordifyfa(diffHours):diffHours) + \" ساعت \" + suffix;\r\n }\r\n\r\n let diffMinutes = Math.floor(diff / 60000);\r\n if(diffMinutes>0) {\r\n return (doWordify?wordifyfa(diffMinutes):diffMinutes) + \" دقیقه \" + suffix;\r\n }\r\n\r\n let diffSeconds = Math.floor(diff / 1000);\r\n\r\n if (diffSeconds > 0) {\r\n return \"چند لحظه \" + suffix;\r\n } \r\n return \"بلافاصله\";\r\n\r\n}\r\n\r\nexport function momentPrecise(date:Date|string|null, baseDate?:Date|string|null, suffixBefore:string=\"پیش\", suffixAfter:string=\"بعد\"):string {\r\n return wordifyMomentPrecise(date, baseDate, suffixBefore, suffixAfter, false);\r\n}\r\n\r\nexport function wordifyMomentPrecise(date:Date|string|null, baseDate?:Date|string|null, suffixBefore:string=\"پیش\", suffixAfter:string=\"بعد\", doWordify:boolean=true):string {\r\n if(date === null || date === undefined || date === \"\") {\r\n return \"\";\r\n }\r\n if (baseDate==null || baseDate==undefined || baseDate==\"\") {\r\n baseDate = new Date();\r\n }\r\n if(typeof date == \"string\") {\r\n date = new Date(date);\r\n }\r\n if(typeof baseDate == \"string\") {\r\n baseDate = new Date(baseDate);\r\n }\r\n\r\n let suffix = suffixBefore;\r\n let diff = Math.floor((baseDate.getTime() - date.getTime())/1000) * 1000;\r\n if (diff<0) {\r\n suffix = suffixAfter;\r\n diff = Math.abs(diff);\r\n }\r\n\r\n let result = \"\";\r\n let diffYears = Math.floor(diff / 31557600000);\r\n if (diffYears>0) {\r\n diff -= (diffYears * 31557600000);\r\n }\r\n let diffMonths = Math.floor(diff / 2629800000);\r\n if (diffMonths>0) {\r\n diff -= (diffMonths * 2629800000);\r\n }\r\n let diffWeeks = Math.floor(diff / 604800000);\r\n if (diffWeeks>0) {\r\n diff -= (diffWeeks * 604800000);\r\n }\r\n let diffDays = Math.floor(diff / 86400000);\r\n if (diffDays>0) {\r\n diff -= (diffDays * 86400000);\r\n }\r\n let diffHours = Math.floor(diff / 3600000);\r\n if (diffHours>0) {\r\n diff -= (diffHours * 3600000);\r\n }\r\n\r\n let diffMinutes = Math.floor(diff / 60000);\r\n if (diffMinutes>0) {\r\n diff -= (diffMinutes * 60000);\r\n }\r\n\r\n let diffSeconds = Math.floor(diff / 1000);\r\n\r\n if (diffYears > 0) {\r\n result = (doWordify?wordifyfa(diffYears):diffYears) + \" سال \";\r\n }\r\n\r\n if (diffMonths > 0) {\r\n if(result.length>0) { \r\n result+=\"و \"; \r\n }\r\n result += (doWordify?wordifyfa(diffMonths):diffMinutes) + \" ماه \";\r\n }\r\n\r\n if (diffWeeks > 0) {\r\n if(result.length>0) { result+=\"و \"; }\r\n result += (doWordify?wordifyfa(diffWeeks):diffWeeks) + \" هفته \";\r\n }\r\n\r\n if (diffDays > 0) {\r\n if(result.length>0) { result+=\"و \"; }\r\n result += (doWordify?wordifyfa(diffDays):diffDays) + \" روز \";\r\n } \r\n\r\n if (diffHours > 0) {\r\n if(result.length>0) { result+=\"و \"; }\r\n result += (doWordify?wordifyfa(diffHours):diffHours) + \" ساعت \";\r\n } \r\n\r\n if (diffMinutes > 0) {\r\n if(result.length>0) { result+=\"و \"; }\r\n result += (doWordify?wordifyfa(diffMinutes):diffMinutes) + \" دقیقه \";\r\n } \r\n\r\n if (diffSeconds > 0) {\r\n if (result.length>0) { result+=\"و \"; }\r\n result +=(doWordify? wordifyfa(diffSeconds):diffSeconds) + \" ثانیه \";\r\n } \r\n if (result.length==0) {\r\n return \"بلافاصله\";\r\n }\r\n result +=suffix;\r\n return result;\r\n}\r\n\r\ndeclare var define: any;\r\ndeclare var module: any;\r\n\r\n(function() {\r\n //expose it through Window\r\n if (typeof window !== \"undefined\") {\r\n (window as any)[\"wordifyfa\"] = wordifyfa;\r\n (window as any)[\"wordifyRials\"] = wordifyRials;\r\n (window as any)[\"wordifyRialsInTomans\"] = wordifyRialsInTomans;\r\n (window as any)[\"wordifyMomentApprox\"] = wordifyMomentApprox;\r\n (window as any)[\"momentApprox\"] = momentApprox;\r\n\r\n } \r\n // Node: Export function\r\n else if (typeof module !== \"undefined\" && module.exports) {\r\n module.exports[\"wordifyfa\"] = wordifyfa;\r\n module.exports[\"wordifyRials\"] = wordifyRials;\r\n module.exports[\"wordifyRialsInTomans\"] = wordifyRialsInTomans;\r\n module.exports[\"wordifyMomentApprox\"] = wordifyMomentApprox;\r\n module.exports[\"momentApprox\"] = momentApprox;\r\n\r\n }\r\n // AMD/requirejs: Define the module\r\n else if (typeof define === 'function' && define.amd) {\r\n define(() => wordifyfa);\r\n define(() => wordifyRials);\r\n define(() => wordifyRialsInTomans);\r\n define(() => wordifyMomentApprox);\r\n define(() => momentApprox);\r\n\r\n }\r\n}())","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.amdO = {};","__webpack_require__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: () => {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(171);\n"],"names":["toEnglishDigits","num","length","toString","output","ipos","faIndex","indexOf","arIndex","replace","wordifyfa","input","level","parseInt","result","Math","floor","wordifyRials","wordifyRialsInTomans","cleanNumber","momentApprox","date","baseDate","suffixBefore","suffixAfter","wordifyMomentApprox","doWordify","undefined","Date","suffix","diff","getTime","abs","diffYears","diffMonths","diffWeeks","diffDays","diffHours","diffMinutes","window","module","exports","define","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","id","loaded","__webpack_modules__","amdO","hmd","Object","create","children","defineProperty","enumerable","set","Error"],"sourceRoot":""}