UNPKG

@arkasuryawan/m2-interfaces

Version:

Squaremetre Data Interfaces

1,437 lines (1,427 loc) 33 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); const ProjectStatusOptions = [ "DRAFT", "AVAILABLE", "NOTAVAILABLE", "DELETED", "LEASED", "BOOKED", "SOLD", "HOLD", "CONTRACT", "PARTIAL", ]; const CurrencyIdOptions = [ "EUR", "SGD", "GBP", "AUD", "USD", "IDR", "THB", ]; const ProjectStatusTypeOptions = [ "Off The Plan", "Completed", "Under Construction", ]; const PaymentGatewayOption = [ "SQUAREUP", "DOKU", "BRAINTREE", "TAZAPAY", "NAB", "PAYPALL", ]; const SocialMediaName = [ "FACEBOOK", "INSTAGRAM", "YOUTUBE", "LINKEDIN", "TIKTOK", "GOOGLE+", "TWITER", "PINTEREST", ]; const TemplateTypeData = ["NAVBAR", "FOOTER", "SECTION"]; const EmployeeTypeData = [ "Administrator", "Director", "Personal Sisten", "Office Admin", "Agent Repesentative", "Property Management", "Sales Repesentative", ]; const PipeLineFlowData = [ "New Leads", "Agent Contact", "In Progress", "Done", ]; const SourceListData = [ "Website", "Facebook", "Instagram", "Phone-in", "Newspaper", "Wolk-in", "Door Knoking", "Other", ]; const agentLanguageOption = ["English", "Bahasa", "French", "Mandarin"]; const PropertyTypeData = [ "Residential", "Rural", "Commercial", "Holiday", "Business", ]; const ProductCategoryData = [ "Apartment", "Development", "Factory", "House", "Land", "Office", "Semi/Duplex", "Retail", "Studio", "Block Of Units", "Terrace", "Townhouse", "Unit", "Villa", "Warehouse", "Showroom", "Cropping", "Dairy", "Farmlet", "Horticulture", "Lifestyle", "Livestock", "Viticulture", "Mixed Farming", "Acreage", "Hotel/Leisure", "Medical/Consulting", "BackpackerHostel", "BedAndBreakfast", "Campground", "CaravanHolidayPark", "ExecutiveRental", "FarmStay", "Flat", "HouseBoat", "Lodge", "Motel", "Resort", "Retreat", "SelfContainedCottage", "ServicedApartment", "Car Space", "Accommodation/Tourism", "Automotive", "Beauty/Health", "Food/Hospitality", "Import/Export/Whole", "Services", "Education/Training", "Franchise", "Home/Garden", "Industrial/Manufacturing", "Leisure/Entertainment", "Professional", "Rural", "Transport/Distribution", "Other", ]; const SubscribedOptions = [ "Marketing/Newsletter Emails", "Matching Property Alert Emails", "SMS Messages", "Marketing Letters", ]; const MakeId = (length) => { var result = ""; var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; var charactersLength = characters.length; for (var i = 0; i < length; i++) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); } return result; }; const makeId = (length) => { var result = ""; var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; var charactersLength = characters.length; for (var i = 0; i < length; i++) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); } return result; }; const formatMoney = (data) => { const formatter = new Intl.NumberFormat(data.format ? data.format : "en-US", { style: "currency", currency: data.currencyCode ? data.currencyCode : "USD", minimumFractionDigits: data.minimumFractionDigits ? data.minimumFractionDigits : 2, }); return formatter.format(Math.trunc(data.num)); }; const CerateSlug = (str) => { str = String(str).toString(); str = str.replace(/^\s+|\s+$/g, ""); // trim str = str.toLowerCase(); // remove accents, swap ñ for n, etc const swaps = { "0": ["°", "₀", "۰", "0"], "1": ["¹", "₁", "۱", "1"], "2": ["²", "₂", "۲", "2"], "3": ["³", "₃", "۳", "3"], "4": ["⁴", "₄", "۴", "٤", "4"], "5": ["⁵", "₅", "۵", "٥", "5"], "6": ["⁶", "₆", "۶", "٦", "6"], "7": ["⁷", "₇", "۷", "7"], "8": ["⁸", "₈", "۸", "8"], "9": ["⁹", "₉", "۹", "9"], a: [ "à", "á", "ả", "ã", "ạ", "ă", "ắ", "ằ", "ẳ", "ẵ", "ặ", "â", "ấ", "ầ", "ẩ", "ẫ", "ậ", "ā", "ą", "å", "α", "ά", "ἀ", "ἁ", "ἂ", "ἃ", "ἄ", "ἅ", "ἆ", "ἇ", "ᾀ", "ᾁ", "ᾂ", "ᾃ", "ᾄ", "ᾅ", "ᾆ", "ᾇ", "ὰ", "ά", "ᾰ", "ᾱ", "ᾲ", "ᾳ", "ᾴ", "ᾶ", "ᾷ", "а", "أ", "အ", "ာ", "ါ", "ǻ", "ǎ", "ª", "ა", "अ", "ا", "a", "ä", ], b: ["б", "β", "ب", "ဗ", "ბ", "b"], c: ["ç", "ć", "č", "ĉ", "ċ", "c"], d: [ "ď", "ð", "đ", "ƌ", "ȡ", "ɖ", "ɗ", "ᵭ", "ᶁ", "ᶑ", "д", "δ", "د", "ض", "ဍ", "ဒ", "დ", "d", ], e: [ "é", "è", "ẻ", "ẽ", "ẹ", "ê", "ế", "ề", "ể", "ễ", "ệ", "ë", "ē", "ę", "ě", "ĕ", "ė", "ε", "έ", "ἐ", "ἑ", "ἒ", "ἓ", "ἔ", "ἕ", "ὲ", "έ", "е", "ё", "э", "є", "ə", "ဧ", "ေ", "ဲ", "ე", "ए", "إ", "ئ", "e", ], f: ["ф", "φ", "ف", "ƒ", "ფ", "f"], g: ["ĝ", "ğ", "ġ", "ģ", "г", "ґ", "γ", "ဂ", "გ", "گ", "g"], h: ["ĥ", "ħ", "η", "ή", "ح", "ه", "ဟ", "ှ", "ჰ", "h"], i: [ "í", "ì", "ỉ", "ĩ", "ị", "î", "ï", "ī", "ĭ", "į", "ı", "ι", "ί", "ϊ", "ΐ", "ἰ", "ἱ", "ἲ", "ἳ", "ἴ", "ἵ", "ἶ", "ἷ", "ὶ", "ί", "ῐ", "ῑ", "ῒ", "ΐ", "ῖ", "ῗ", "і", "ї", "и", "ဣ", "ိ", "ီ", "ည်", "ǐ", "ი", "इ", "ی", "i", ], j: ["ĵ", "ј", "Ј", "ჯ", "ج", "j"], k: ["ķ", "ĸ", "к", "κ", "Ķ", "ق", "ك", "က", "კ", "ქ", "ک", "k"], l: ["ł", "ľ", "ĺ", "ļ", "ŀ", "л", "λ", "ل", "လ", "ლ", "l"], m: ["м", "μ", "م", "မ", "მ", "m"], n: ["ñ", "ń", "ň", "ņ", "ʼn", "ŋ", "ν", "н", "ن", "န", "ნ", "n"], o: [ "ó", "ò", "ỏ", "õ", "ọ", "ô", "ố", "ồ", "ổ", "ỗ", "ộ", "ơ", "ớ", "ờ", "ở", "ỡ", "ợ", "ø", "ō", "ő", "ŏ", "ο", "ὀ", "ὁ", "ὂ", "ὃ", "ὄ", "ὅ", "ὸ", "ό", "о", "و", "θ", "ို", "ǒ", "ǿ", "º", "ო", "ओ", "o", "ö", ], p: ["п", "π", "ပ", "პ", "پ", "p"], q: ["ყ", "q"], r: ["ŕ", "ř", "ŗ", "р", "ρ", "ر", "რ", "r"], s: ["ś", "š", "ş", "с", "σ", "ș", "ς", "س", "ص", "စ", "ſ", "ს", "s"], t: ["ť", "ţ", "т", "τ", "ț", "ت", "ط", "ဋ", "တ", "ŧ", "თ", "ტ", "t"], u: [ "ú", "ù", "ủ", "ũ", "ụ", "ư", "ứ", "ừ", "ử", "ữ", "ự", "û", "ū", "ů", "ű", "ŭ", "ų", "µ", "у", "ဉ", "ု", "ူ", "ǔ", "ǖ", "ǘ", "ǚ", "ǜ", "უ", "उ", "u", "ў", "ü", ], v: ["в", "ვ", "ϐ", "v"], w: ["ŵ", "ω", "ώ", "ဝ", "ွ", "w"], x: ["χ", "ξ", "x"], y: [ "ý", "ỳ", "ỷ", "ỹ", "ỵ", "ÿ", "ŷ", "й", "ы", "υ", "ϋ", "ύ", "ΰ", "ي", "ယ", "y", ], z: ["ź", "ž", "ż", "з", "ζ", "ز", "ဇ", "ზ", "z"], aa: ["ع", "आ", "آ"], ae: ["æ", "ǽ"], ai: ["ऐ"], ch: ["ч", "ჩ", "ჭ", "چ"], dj: ["ђ", "đ"], dz: ["џ", "ძ"], ei: ["ऍ"], gh: ["غ", "ღ"], ii: ["ई"], ij: ["ij"], kh: ["х", "خ", "ხ"], lj: ["љ"], nj: ["њ"], oe: ["ö", "œ", "ؤ"], oi: ["ऑ"], oii: ["ऒ"], ps: ["ψ"], sh: ["ш", "შ", "ش"], shch: ["щ"], ss: ["ß"], sx: ["ŝ"], th: ["þ", "ϑ", "ث", "ذ", "ظ"], ts: ["ц", "ც", "წ"], ue: ["ü"], uu: ["ऊ"], ya: ["я"], yu: ["ю"], zh: ["ж", "ჟ", "ژ"], "(c)": ["©"], A: [ "Á", "À", "Ả", "Ã", "Ạ", "Ă", "Ắ", "Ằ", "Ẳ", "Ẵ", "Ặ", "Â", "Ấ", "Ầ", "Ẩ", "Ẫ", "Ậ", "Å", "Ā", "Ą", "Α", "Ά", "Ἀ", "Ἁ", "Ἂ", "Ἃ", "Ἄ", "Ἅ", "Ἆ", "Ἇ", "ᾈ", "ᾉ", "ᾊ", "ᾋ", "ᾌ", "ᾍ", "ᾎ", "ᾏ", "Ᾰ", "Ᾱ", "Ὰ", "Ά", "ᾼ", "А", "Ǻ", "Ǎ", "A", "Ä", ], B: ["Б", "Β", "ब", "B"], C: ["Ç", "Ć", "Č", "Ĉ", "Ċ", "C"], D: ["Ď", "Ð", "Đ", "Ɖ", "Ɗ", "Ƌ", "ᴅ", "ᴆ", "Д", "Δ", "D"], E: [ "É", "È", "Ẻ", "Ẽ", "Ẹ", "Ê", "Ế", "Ề", "Ể", "Ễ", "Ệ", "Ë", "Ē", "Ę", "Ě", "Ĕ", "Ė", "Ε", "Έ", "Ἐ", "Ἑ", "Ἒ", "Ἓ", "Ἔ", "Ἕ", "Έ", "Ὲ", "Е", "Ё", "Э", "Є", "Ə", "E", ], F: ["Ф", "Φ", "F"], G: ["Ğ", "Ġ", "Ģ", "Г", "Ґ", "Γ", "G"], H: ["Η", "Ή", "Ħ", "H"], I: [ "Í", "Ì", "Ỉ", "Ĩ", "Ị", "Î", "Ï", "Ī", "Ĭ", "Į", "İ", "Ι", "Ί", "Ϊ", "Ἰ", "Ἱ", "Ἳ", "Ἴ", "Ἵ", "Ἶ", "Ἷ", "Ῐ", "Ῑ", "Ὶ", "Ί", "И", "І", "Ї", "Ǐ", "ϒ", "I", ], J: ["J"], K: ["К", "Κ", "K"], L: ["Ĺ", "Ł", "Л", "Λ", "Ļ", "Ľ", "Ŀ", "ल", "L"], M: ["М", "Μ", "M"], N: ["Ń", "Ñ", "Ň", "Ņ", "Ŋ", "Н", "Ν", "N"], O: [ "Ó", "Ò", "Ỏ", "Õ", "Ọ", "Ô", "Ố", "Ồ", "Ổ", "Ỗ", "Ộ", "Ơ", "Ớ", "Ờ", "Ở", "Ỡ", "Ợ", "Ø", "Ō", "Ő", "Ŏ", "Ο", "Ό", "Ὀ", "Ὁ", "Ὂ", "Ὃ", "Ὄ", "Ὅ", "Ὸ", "Ό", "О", "Θ", "Ө", "Ǒ", "Ǿ", "O", "Ö", ], P: ["П", "Π", "P"], Q: ["Q"], R: ["Ř", "Ŕ", "Р", "Ρ", "Ŗ", "R"], S: ["Ş", "Ŝ", "Ș", "Š", "Ś", "С", "Σ", "S"], T: ["Ť", "Ţ", "Ŧ", "Ț", "Т", "Τ", "T"], U: [ "Ú", "Ù", "Ủ", "Ũ", "Ụ", "Ư", "Ứ", "Ừ", "Ử", "Ữ", "Ự", "Û", "Ū", "Ů", "Ű", "Ŭ", "Ų", "У", "Ǔ", "Ǖ", "Ǘ", "Ǚ", "Ǜ", "U", "Ў", "Ü", ], V: ["В", "V"], W: ["Ω", "Ώ", "Ŵ", "W"], X: ["Χ", "Ξ", "X"], Y: [ "Ý", "Ỳ", "Ỷ", "Ỹ", "Ỵ", "Ÿ", "Ῠ", "Ῡ", "Ὺ", "Ύ", "Ы", "Й", "Υ", "Ϋ", "Ŷ", "Y", ], Z: ["Ź", "Ž", "Ż", "З", "Ζ", "Z"], AE: ["Æ", "Ǽ"], Ch: ["Ч"], Dj: ["Ђ"], Dz: ["Џ"], Gx: ["Ĝ"], Hx: ["Ĥ"], Ij: ["IJ"], Jx: ["Ĵ"], Kh: ["Х"], Lj: ["Љ"], Nj: ["Њ"], Oe: ["Œ"], Ps: ["Ψ"], Sh: ["Ш"], Shch: ["Щ"], Ss: ["ẞ"], Th: ["Þ"], Ts: ["Ц"], Ya: ["Я"], Yu: ["Ю"], Zh: ["Ж"], }; Object.keys(swaps).forEach((swap) => { swaps[swap].forEach((s) => { str = str.replace(new RegExp(s, "g"), swap); }); }); return str .replace(/[^a-z0-9 -]/g, "") // remove invalid chars .replace(/\s+/g, "-") // collapse whitespace and replace by - .replace(/-+/g, "-") // collapse dashes .replace(/^-+/, "") // trim - from start of text .replace(/-+$/, ""); }; const createSlug = (str) => { str = String(str).toString(); str = str.replace(/^\s+|\s+$/g, ""); // trim str = str.toLowerCase(); // remove accents, swap ñ for n, etc const swaps = { "0": ["°", "₀", "۰", "0"], "1": ["¹", "₁", "۱", "1"], "2": ["²", "₂", "۲", "2"], "3": ["³", "₃", "۳", "3"], "4": ["⁴", "₄", "۴", "٤", "4"], "5": ["⁵", "₅", "۵", "٥", "5"], "6": ["⁶", "₆", "۶", "٦", "6"], "7": ["⁷", "₇", "۷", "7"], "8": ["⁸", "₈", "۸", "8"], "9": ["⁹", "₉", "۹", "9"], a: [ "à", "á", "ả", "ã", "ạ", "ă", "ắ", "ằ", "ẳ", "ẵ", "ặ", "â", "ấ", "ầ", "ẩ", "ẫ", "ậ", "ā", "ą", "å", "α", "ά", "ἀ", "ἁ", "ἂ", "ἃ", "ἄ", "ἅ", "ἆ", "ἇ", "ᾀ", "ᾁ", "ᾂ", "ᾃ", "ᾄ", "ᾅ", "ᾆ", "ᾇ", "ὰ", "ά", "ᾰ", "ᾱ", "ᾲ", "ᾳ", "ᾴ", "ᾶ", "ᾷ", "а", "أ", "အ", "ာ", "ါ", "ǻ", "ǎ", "ª", "ა", "अ", "ا", "a", "ä", ], b: ["б", "β", "ب", "ဗ", "ბ", "b"], c: ["ç", "ć", "č", "ĉ", "ċ", "c"], d: [ "ď", "ð", "đ", "ƌ", "ȡ", "ɖ", "ɗ", "ᵭ", "ᶁ", "ᶑ", "д", "δ", "د", "ض", "ဍ", "ဒ", "დ", "d", ], e: [ "é", "è", "ẻ", "ẽ", "ẹ", "ê", "ế", "ề", "ể", "ễ", "ệ", "ë", "ē", "ę", "ě", "ĕ", "ė", "ε", "έ", "ἐ", "ἑ", "ἒ", "ἓ", "ἔ", "ἕ", "ὲ", "έ", "е", "ё", "э", "є", "ə", "ဧ", "ေ", "ဲ", "ე", "ए", "إ", "ئ", "e", ], f: ["ф", "φ", "ف", "ƒ", "ფ", "f"], g: ["ĝ", "ğ", "ġ", "ģ", "г", "ґ", "γ", "ဂ", "გ", "گ", "g"], h: ["ĥ", "ħ", "η", "ή", "ح", "ه", "ဟ", "ှ", "ჰ", "h"], i: [ "í", "ì", "ỉ", "ĩ", "ị", "î", "ï", "ī", "ĭ", "į", "ı", "ι", "ί", "ϊ", "ΐ", "ἰ", "ἱ", "ἲ", "ἳ", "ἴ", "ἵ", "ἶ", "ἷ", "ὶ", "ί", "ῐ", "ῑ", "ῒ", "ΐ", "ῖ", "ῗ", "і", "ї", "и", "ဣ", "ိ", "ီ", "ည်", "ǐ", "ი", "इ", "ی", "i", ], j: ["ĵ", "ј", "Ј", "ჯ", "ج", "j"], k: ["ķ", "ĸ", "к", "κ", "Ķ", "ق", "ك", "က", "კ", "ქ", "ک", "k"], l: ["ł", "ľ", "ĺ", "ļ", "ŀ", "л", "λ", "ل", "လ", "ლ", "l"], m: ["м", "μ", "م", "မ", "მ", "m"], n: ["ñ", "ń", "ň", "ņ", "ʼn", "ŋ", "ν", "н", "ن", "န", "ნ", "n"], o: [ "ó", "ò", "ỏ", "õ", "ọ", "ô", "ố", "ồ", "ổ", "ỗ", "ộ", "ơ", "ớ", "ờ", "ở", "ỡ", "ợ", "ø", "ō", "ő", "ŏ", "ο", "ὀ", "ὁ", "ὂ", "ὃ", "ὄ", "ὅ", "ὸ", "ό", "о", "و", "θ", "ို", "ǒ", "ǿ", "º", "ო", "ओ", "o", "ö", ], p: ["п", "π", "ပ", "პ", "پ", "p"], q: ["ყ", "q"], r: ["ŕ", "ř", "ŗ", "р", "ρ", "ر", "რ", "r"], s: ["ś", "š", "ş", "с", "σ", "ș", "ς", "س", "ص", "စ", "ſ", "ს", "s"], t: ["ť", "ţ", "т", "τ", "ț", "ت", "ط", "ဋ", "တ", "ŧ", "თ", "ტ", "t"], u: [ "ú", "ù", "ủ", "ũ", "ụ", "ư", "ứ", "ừ", "ử", "ữ", "ự", "û", "ū", "ů", "ű", "ŭ", "ų", "µ", "у", "ဉ", "ု", "ူ", "ǔ", "ǖ", "ǘ", "ǚ", "ǜ", "უ", "उ", "u", "ў", "ü", ], v: ["в", "ვ", "ϐ", "v"], w: ["ŵ", "ω", "ώ", "ဝ", "ွ", "w"], x: ["χ", "ξ", "x"], y: [ "ý", "ỳ", "ỷ", "ỹ", "ỵ", "ÿ", "ŷ", "й", "ы", "υ", "ϋ", "ύ", "ΰ", "ي", "ယ", "y", ], z: ["ź", "ž", "ż", "з", "ζ", "ز", "ဇ", "ზ", "z"], aa: ["ع", "आ", "آ"], ae: ["æ", "ǽ"], ai: ["ऐ"], ch: ["ч", "ჩ", "ჭ", "چ"], dj: ["ђ", "đ"], dz: ["џ", "ძ"], ei: ["ऍ"], gh: ["غ", "ღ"], ii: ["ई"], ij: ["ij"], kh: ["х", "خ", "ხ"], lj: ["љ"], nj: ["њ"], oe: ["ö", "œ", "ؤ"], oi: ["ऑ"], oii: ["ऒ"], ps: ["ψ"], sh: ["ш", "შ", "ش"], shch: ["щ"], ss: ["ß"], sx: ["ŝ"], th: ["þ", "ϑ", "ث", "ذ", "ظ"], ts: ["ц", "ც", "წ"], ue: ["ü"], uu: ["ऊ"], ya: ["я"], yu: ["ю"], zh: ["ж", "ჟ", "ژ"], "(c)": ["©"], A: [ "Á", "À", "Ả", "Ã", "Ạ", "Ă", "Ắ", "Ằ", "Ẳ", "Ẵ", "Ặ", "Â", "Ấ", "Ầ", "Ẩ", "Ẫ", "Ậ", "Å", "Ā", "Ą", "Α", "Ά", "Ἀ", "Ἁ", "Ἂ", "Ἃ", "Ἄ", "Ἅ", "Ἆ", "Ἇ", "ᾈ", "ᾉ", "ᾊ", "ᾋ", "ᾌ", "ᾍ", "ᾎ", "ᾏ", "Ᾰ", "Ᾱ", "Ὰ", "Ά", "ᾼ", "А", "Ǻ", "Ǎ", "A", "Ä", ], B: ["Б", "Β", "ब", "B"], C: ["Ç", "Ć", "Č", "Ĉ", "Ċ", "C"], D: ["Ď", "Ð", "Đ", "Ɖ", "Ɗ", "Ƌ", "ᴅ", "ᴆ", "Д", "Δ", "D"], E: [ "É", "È", "Ẻ", "Ẽ", "Ẹ", "Ê", "Ế", "Ề", "Ể", "Ễ", "Ệ", "Ë", "Ē", "Ę", "Ě", "Ĕ", "Ė", "Ε", "Έ", "Ἐ", "Ἑ", "Ἒ", "Ἓ", "Ἔ", "Ἕ", "Έ", "Ὲ", "Е", "Ё", "Э", "Є", "Ə", "E", ], F: ["Ф", "Φ", "F"], G: ["Ğ", "Ġ", "Ģ", "Г", "Ґ", "Γ", "G"], H: ["Η", "Ή", "Ħ", "H"], I: [ "Í", "Ì", "Ỉ", "Ĩ", "Ị", "Î", "Ï", "Ī", "Ĭ", "Į", "İ", "Ι", "Ί", "Ϊ", "Ἰ", "Ἱ", "Ἳ", "Ἴ", "Ἵ", "Ἶ", "Ἷ", "Ῐ", "Ῑ", "Ὶ", "Ί", "И", "І", "Ї", "Ǐ", "ϒ", "I", ], J: ["J"], K: ["К", "Κ", "K"], L: ["Ĺ", "Ł", "Л", "Λ", "Ļ", "Ľ", "Ŀ", "ल", "L"], M: ["М", "Μ", "M"], N: ["Ń", "Ñ", "Ň", "Ņ", "Ŋ", "Н", "Ν", "N"], O: [ "Ó", "Ò", "Ỏ", "Õ", "Ọ", "Ô", "Ố", "Ồ", "Ổ", "Ỗ", "Ộ", "Ơ", "Ớ", "Ờ", "Ở", "Ỡ", "Ợ", "Ø", "Ō", "Ő", "Ŏ", "Ο", "Ό", "Ὀ", "Ὁ", "Ὂ", "Ὃ", "Ὄ", "Ὅ", "Ὸ", "Ό", "О", "Θ", "Ө", "Ǒ", "Ǿ", "O", "Ö", ], P: ["П", "Π", "P"], Q: ["Q"], R: ["Ř", "Ŕ", "Р", "Ρ", "Ŗ", "R"], S: ["Ş", "Ŝ", "Ș", "Š", "Ś", "С", "Σ", "S"], T: ["Ť", "Ţ", "Ŧ", "Ț", "Т", "Τ", "T"], U: [ "Ú", "Ù", "Ủ", "Ũ", "Ụ", "Ư", "Ứ", "Ừ", "Ử", "Ữ", "Ự", "Û", "Ū", "Ů", "Ű", "Ŭ", "Ų", "У", "Ǔ", "Ǖ", "Ǘ", "Ǚ", "Ǜ", "U", "Ў", "Ü", ], V: ["В", "V"], W: ["Ω", "Ώ", "Ŵ", "W"], X: ["Χ", "Ξ", "X"], Y: [ "Ý", "Ỳ", "Ỷ", "Ỹ", "Ỵ", "Ÿ", "Ῠ", "Ῡ", "Ὺ", "Ύ", "Ы", "Й", "Υ", "Ϋ", "Ŷ", "Y", ], Z: ["Ź", "Ž", "Ż", "З", "Ζ", "Z"], AE: ["Æ", "Ǽ"], Ch: ["Ч"], Dj: ["Ђ"], Dz: ["Џ"], Gx: ["Ĝ"], Hx: ["Ĥ"], Ij: ["IJ"], Jx: ["Ĵ"], Kh: ["Х"], Lj: ["Љ"], Nj: ["Њ"], Oe: ["Œ"], Ps: ["Ψ"], Sh: ["Ш"], Shch: ["Щ"], Ss: ["ẞ"], Th: ["Þ"], Ts: ["Ц"], Ya: ["Я"], Yu: ["Ю"], Zh: ["Ж"], }; Object.keys(swaps).forEach((swap) => { swaps[swap].forEach((s) => { str = str.replace(new RegExp(s, "g"), swap); }); }); return str .replace(/[^a-z0-9 -]/g, "") // remove invalid chars .replace(/\s+/g, "-") // collapse whitespace and replace by - .replace(/-+/g, "-") // collapse dashes .replace(/^-+/, "") // trim - from start of text .replace(/-+$/, ""); }; /** * Generates a random UUID * @param a - The parameter a is a number that is used to generate the UUID. If you don't pass a * parameter, the function will generate a random number. */ // export const generateRandomUUID = (a: any) => (a ? (a ^ ((Math.random() * 16) >> (a / 4))).toString(16) : ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, generateRandomUUID)); /** * Return a new array with the elements of the original array in a random order. * @param arr - The array to shuffle. */ const shuffleArray = (arr) => arr.sort(() => Math.random() - 0.5); /** * It takes an array, converts it to a Set, and then converts it back to an array * @param arr - The array to be filtered. */ const getUniqueArray = (arr) => [...new Set(arr)]; /** * If the current element is an array, flatten it, otherwise, add it to the accumulator. */ // export const flattenArray = (arr: any[]) => arr.reduce((a, b) => a.concat(Array.isArray(b) ? flattenArray(b) : b), []); /** * Generate a random hex colour code. */ const generateRandomHexColor = () => `#${Math.floor(Math.random() * 0xffffff).toString(16)}`; /** * It takes three numbers, one for red, one for green, and one for blue, and returns a hexadecimal * string representing the color * @param r - red value * @param g - The green value of the color. * @param b - blue */ const rgbToHex = (r, g, b) => "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1); /** * It converts a hexadecimal color code to an RGB color code. * @param hex - The hexadecimal color code. */ const hexToRgb = (hex) => hex.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, (m, r, g, b) => '#' + r + r + g + g + b + b).substring(1).match(/.{2}/g).map((x) => parseInt(x, 16)); /** * Given an array of numbers, return the average of those numbers. */ const average = (arr) => arr.reduce((p, c) => p + c, 0) / arr.length; /** * It converts a string to camel case. */ const toCamelCase = (str) => str.replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => index == 0 ? word.toLowerCase() : word.toUpperCase()).replace(/\s+/g, ''); /** * Replace all words in a string with the first letter capitalized and the rest of the letters * lowercase. */ const toTitleCase = (str) => str.replace(/\w\S*/g, txt => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase()); /** * Replace all whitespace characters with underscores and convert the string to lowercase. */ const toSnakeCase = (str) => str.replace(/\s+/g, '_').toLowerCase(); exports.CerateSlug = CerateSlug; exports.CurrencyIdOptions = CurrencyIdOptions; exports.EmployeeTypeData = EmployeeTypeData; exports.MakeId = MakeId; exports.PaymentGatewayOption = PaymentGatewayOption; exports.PipeLineFlowData = PipeLineFlowData; exports.ProductCategoryData = ProductCategoryData; exports.ProjectStatusOptions = ProjectStatusOptions; exports.ProjectStatusTypeOptions = ProjectStatusTypeOptions; exports.PropertyTypeData = PropertyTypeData; exports.SocialMediaName = SocialMediaName; exports.SourceListData = SourceListData; exports.SubscribedOptions = SubscribedOptions; exports.TemplateTypeData = TemplateTypeData; exports.agentLanguageOption = agentLanguageOption; exports.average = average; exports.createSlug = createSlug; exports.formatMoney = formatMoney; exports.generateRandomHexColor = generateRandomHexColor; exports.getUniqueArray = getUniqueArray; exports.hexToRgb = hexToRgb; exports.makeId = makeId; exports.rgbToHex = rgbToHex; exports.shuffleArray = shuffleArray; exports.toCamelCase = toCamelCase; exports.toSnakeCase = toSnakeCase; exports.toTitleCase = toTitleCase; //# sourceMappingURL=index.js.map