@citizenplatform/core 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/dist/index.js +5 -0
  2. package/dist/index10.js +273 -0
  3. package/dist/index10.js.map +1 -0
  4. package/dist/index100.js +31 -0
  5. package/dist/index100.js.map +1 -0
  6. package/dist/index101.js +165 -0
  7. package/dist/index101.js.map +1 -0
  8. package/dist/index102.js +48 -0
  9. package/dist/index102.js.map +1 -0
  10. package/dist/index103.js +8 -0
  11. package/dist/index103.js.map +1 -0
  12. package/dist/index104.js +6 -0
  13. package/dist/index104.js.map +1 -0
  14. package/dist/index105.js +14 -0
  15. package/dist/index105.js.map +1 -0
  16. package/dist/index106.js +8 -0
  17. package/dist/index106.js.map +1 -0
  18. package/dist/index107.js +7 -0
  19. package/dist/index107.js.map +1 -0
  20. package/dist/index108.js +16 -0
  21. package/dist/index108.js.map +1 -0
  22. package/dist/index109.js +7 -0
  23. package/dist/index109.js.map +1 -0
  24. package/dist/index11.js +49 -0
  25. package/dist/index11.js.map +1 -0
  26. package/dist/index110.js +22 -0
  27. package/dist/index110.js.map +1 -0
  28. package/dist/index111.js +22 -0
  29. package/dist/index111.js.map +1 -0
  30. package/dist/index112.js +9 -0
  31. package/dist/index112.js.map +1 -0
  32. package/dist/index113.js +20 -0
  33. package/dist/index113.js.map +1 -0
  34. package/dist/index114.js +149 -0
  35. package/dist/index114.js.map +1 -0
  36. package/dist/index115.js +20 -0
  37. package/dist/index115.js.map +1 -0
  38. package/dist/index116.js +9 -0
  39. package/dist/index116.js.map +1 -0
  40. package/dist/index117.js +9 -0
  41. package/dist/index117.js.map +1 -0
  42. package/dist/index118.js +11 -0
  43. package/dist/index118.js.map +1 -0
  44. package/dist/index119.js +56 -0
  45. package/dist/index119.js.map +1 -0
  46. package/dist/index12.js +16 -0
  47. package/dist/index12.js.map +1 -0
  48. package/dist/index120.js +63 -0
  49. package/dist/index120.js.map +1 -0
  50. package/dist/index121.js +24 -0
  51. package/dist/index121.js.map +1 -0
  52. package/dist/index122.js +9 -0
  53. package/dist/index122.js.map +1 -0
  54. package/dist/index123.js +11 -0
  55. package/dist/index123.js.map +1 -0
  56. package/dist/index124.js +10 -0
  57. package/dist/index124.js.map +1 -0
  58. package/dist/index125.js +254 -0
  59. package/dist/index125.js.map +1 -0
  60. package/dist/index126.js +20 -0
  61. package/dist/index126.js.map +1 -0
  62. package/dist/index127.js +25 -0
  63. package/dist/index127.js.map +1 -0
  64. package/dist/index128.js +250 -0
  65. package/dist/index128.js.map +1 -0
  66. package/dist/index129.js +20 -0
  67. package/dist/index129.js.map +1 -0
  68. package/dist/index13.js +20 -0
  69. package/dist/index13.js.map +1 -0
  70. package/dist/index130.js +13 -0
  71. package/dist/index130.js.map +1 -0
  72. package/dist/index131.js +15 -0
  73. package/dist/index131.js.map +1 -0
  74. package/dist/index132.js +117 -0
  75. package/dist/index132.js.map +1 -0
  76. package/dist/index133.js +13 -0
  77. package/dist/index133.js.map +1 -0
  78. package/dist/index134.js +22 -0
  79. package/dist/index134.js.map +1 -0
  80. package/dist/index135.js +26 -0
  81. package/dist/index135.js.map +1 -0
  82. package/dist/index136.js +20 -0
  83. package/dist/index136.js.map +1 -0
  84. package/dist/index137.js +22 -0
  85. package/dist/index137.js.map +1 -0
  86. package/dist/index138.js +12 -0
  87. package/dist/index138.js.map +1 -0
  88. package/dist/index139.js +26 -0
  89. package/dist/index139.js.map +1 -0
  90. package/dist/index14.js +17 -0
  91. package/dist/index14.js.map +1 -0
  92. package/dist/index140.js +56 -0
  93. package/dist/index140.js.map +1 -0
  94. package/dist/index141.js +12 -0
  95. package/dist/index141.js.map +1 -0
  96. package/dist/index142.js +212 -0
  97. package/dist/index142.js.map +1 -0
  98. package/dist/index143.js +4 -0
  99. package/dist/index144.js +5 -0
  100. package/dist/index145.js +5 -0
  101. package/dist/index15.js +9 -0
  102. package/dist/index15.js.map +1 -0
  103. package/dist/index16.js +10 -0
  104. package/dist/index16.js.map +1 -0
  105. package/dist/index17.js +7 -0
  106. package/dist/index17.js.map +1 -0
  107. package/dist/index18.js +40 -0
  108. package/dist/index18.js.map +1 -0
  109. package/dist/index19.js +13 -0
  110. package/dist/index19.js.map +1 -0
  111. package/dist/index2.js +13 -0
  112. package/dist/index20.js +10 -0
  113. package/dist/index20.js.map +1 -0
  114. package/dist/index21.js +61 -0
  115. package/dist/index21.js.map +1 -0
  116. package/dist/index22.js +63 -0
  117. package/dist/index22.js.map +1 -0
  118. package/dist/index23.js +12 -0
  119. package/dist/index23.js.map +1 -0
  120. package/dist/index24.js +26 -0
  121. package/dist/index24.js.map +1 -0
  122. package/dist/index25.js +48 -0
  123. package/dist/index25.js.map +1 -0
  124. package/dist/index26.js +55 -0
  125. package/dist/index26.js.map +1 -0
  126. package/dist/index27.js +71 -0
  127. package/dist/index27.js.map +1 -0
  128. package/dist/index28.js +44 -0
  129. package/dist/index28.js.map +1 -0
  130. package/dist/index29.js +117 -0
  131. package/dist/index29.js.map +1 -0
  132. package/dist/index3.js +64 -0
  133. package/dist/index3.js.map +1 -0
  134. package/dist/index30.js +16 -0
  135. package/dist/index30.js.map +1 -0
  136. package/dist/index31.js +28 -0
  137. package/dist/index31.js.map +1 -0
  138. package/dist/index32.js +36 -0
  139. package/dist/index32.js.map +1 -0
  140. package/dist/index33.js +25 -0
  141. package/dist/index33.js.map +1 -0
  142. package/dist/index34.js +44 -0
  143. package/dist/index34.js.map +1 -0
  144. package/dist/index35.js +160 -0
  145. package/dist/index35.js.map +1 -0
  146. package/dist/index36.js +77 -0
  147. package/dist/index36.js.map +1 -0
  148. package/dist/index37.js +14 -0
  149. package/dist/index37.js.map +1 -0
  150. package/dist/index38.js +41 -0
  151. package/dist/index38.js.map +1 -0
  152. package/dist/index39.js +6 -0
  153. package/dist/index39.js.map +1 -0
  154. package/dist/index4.js +84 -0
  155. package/dist/index4.js.map +1 -0
  156. package/dist/index40.js +39 -0
  157. package/dist/index40.js.map +1 -0
  158. package/dist/index41.js +110 -0
  159. package/dist/index41.js.map +1 -0
  160. package/dist/index42.js +97 -0
  161. package/dist/index42.js.map +1 -0
  162. package/dist/index43.js +22 -0
  163. package/dist/index43.js.map +1 -0
  164. package/dist/index44.js +18 -0
  165. package/dist/index44.js.map +1 -0
  166. package/dist/index45.js +11 -0
  167. package/dist/index45.js.map +1 -0
  168. package/dist/index46.js +192 -0
  169. package/dist/index46.js.map +1 -0
  170. package/dist/index47.js +24 -0
  171. package/dist/index47.js.map +1 -0
  172. package/dist/index48.js +14 -0
  173. package/dist/index48.js.map +1 -0
  174. package/dist/index49.js +54 -0
  175. package/dist/index49.js.map +1 -0
  176. package/dist/index5.js +12 -0
  177. package/dist/index5.js.map +1 -0
  178. package/dist/index50.js +99 -0
  179. package/dist/index50.js.map +1 -0
  180. package/dist/index51.js +10 -0
  181. package/dist/index51.js.map +1 -0
  182. package/dist/index52.js +18 -0
  183. package/dist/index52.js.map +1 -0
  184. package/dist/index53.js +9 -0
  185. package/dist/index53.js.map +1 -0
  186. package/dist/index54.js +67 -0
  187. package/dist/index54.js.map +1 -0
  188. package/dist/index55.js +13 -0
  189. package/dist/index55.js.map +1 -0
  190. package/dist/index56.js +24 -0
  191. package/dist/index56.js.map +1 -0
  192. package/dist/index57.js +6 -0
  193. package/dist/index57.js.map +1 -0
  194. package/dist/index58.js +14 -0
  195. package/dist/index58.js.map +1 -0
  196. package/dist/index59.js +14 -0
  197. package/dist/index59.js.map +1 -0
  198. package/dist/index6.js +41 -0
  199. package/dist/index6.js.map +1 -0
  200. package/dist/index60.js +38 -0
  201. package/dist/index60.js.map +1 -0
  202. package/dist/index61.js +15 -0
  203. package/dist/index61.js.map +1 -0
  204. package/dist/index62.js +12 -0
  205. package/dist/index62.js.map +1 -0
  206. package/dist/index63.js +19 -0
  207. package/dist/index63.js.map +1 -0
  208. package/dist/index64.js +24 -0
  209. package/dist/index64.js.map +1 -0
  210. package/dist/index65.js +12 -0
  211. package/dist/index65.js.map +1 -0
  212. package/dist/index66.js +25 -0
  213. package/dist/index66.js.map +1 -0
  214. package/dist/index67.js +16 -0
  215. package/dist/index67.js.map +1 -0
  216. package/dist/index68.js +130 -0
  217. package/dist/index68.js.map +1 -0
  218. package/dist/index69.js +32 -0
  219. package/dist/index69.js.map +1 -0
  220. package/dist/index7.js +10 -0
  221. package/dist/index7.js.map +1 -0
  222. package/dist/index70.js +8 -0
  223. package/dist/index70.js.map +1 -0
  224. package/dist/index71.js +122 -0
  225. package/dist/index71.js.map +1 -0
  226. package/dist/index72.js +35 -0
  227. package/dist/index72.js.map +1 -0
  228. package/dist/index73.js +14 -0
  229. package/dist/index73.js.map +1 -0
  230. package/dist/index74.js +13 -0
  231. package/dist/index74.js.map +1 -0
  232. package/dist/index75.js +42 -0
  233. package/dist/index75.js.map +1 -0
  234. package/dist/index76.js +66 -0
  235. package/dist/index76.js.map +1 -0
  236. package/dist/index77.js +10 -0
  237. package/dist/index77.js.map +1 -0
  238. package/dist/index78.js +9 -0
  239. package/dist/index78.js.map +1 -0
  240. package/dist/index79.js +21 -0
  241. package/dist/index79.js.map +1 -0
  242. package/dist/index8.js +10 -0
  243. package/dist/index8.js.map +1 -0
  244. package/dist/index80.js +21 -0
  245. package/dist/index80.js.map +1 -0
  246. package/dist/index81.js +21 -0
  247. package/dist/index81.js.map +1 -0
  248. package/dist/index82.js +21 -0
  249. package/dist/index82.js.map +1 -0
  250. package/dist/index83.js +21 -0
  251. package/dist/index83.js.map +1 -0
  252. package/dist/index84.js +21 -0
  253. package/dist/index84.js.map +1 -0
  254. package/dist/index85.js +21 -0
  255. package/dist/index85.js.map +1 -0
  256. package/dist/index86.js +219 -0
  257. package/dist/index86.js.map +1 -0
  258. package/dist/index87.js +12 -0
  259. package/dist/index87.js.map +1 -0
  260. package/dist/index88.js +15 -0
  261. package/dist/index88.js.map +1 -0
  262. package/dist/index89.js +55 -0
  263. package/dist/index89.js.map +1 -0
  264. package/dist/index9.js +46 -0
  265. package/dist/index9.js.map +1 -0
  266. package/dist/index90.js +38 -0
  267. package/dist/index90.js.map +1 -0
  268. package/dist/index91.js +52 -0
  269. package/dist/index91.js.map +1 -0
  270. package/dist/index92.js +12 -0
  271. package/dist/index92.js.map +1 -0
  272. package/dist/index93.js +15 -0
  273. package/dist/index93.js.map +1 -0
  274. package/dist/index94.js +28 -0
  275. package/dist/index94.js.map +1 -0
  276. package/dist/index95.js +111 -0
  277. package/dist/index95.js.map +1 -0
  278. package/dist/index96.js +9 -0
  279. package/dist/index96.js.map +1 -0
  280. package/dist/index97.js +38 -0
  281. package/dist/index97.js.map +1 -0
  282. package/dist/index98.js +8 -0
  283. package/dist/index98.js.map +1 -0
  284. package/dist/index99.js +10 -0
  285. package/dist/index99.js.map +1 -0
  286. package/package.json +1 -1
@@ -0,0 +1,20 @@
1
+ //#region src/libs/core/utils/loggers.ts
2
+ var e = {
3
+ info: "color: #25eb2f; font-weight: bold;",
4
+ warn: "color: #ffe817; font-weight: bold;",
5
+ error: "color: #dc2626; font-weight: bold;"
6
+ }, t = {
7
+ info(t, ...n) {
8
+ console.info(`%c[INFO] ${t}`, e.info, ...n);
9
+ },
10
+ warn(t, ...n) {
11
+ console.warn(`%c[WARN] ${t}`, e.warn, ...n);
12
+ },
13
+ error(t, ...n) {
14
+ console.error(`%c[ERROR] ${t}`, e.error, ...n);
15
+ }
16
+ };
17
+ //#endregion
18
+ export { t as default };
19
+
20
+ //# sourceMappingURL=index126.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index126.js","names":[],"sources":["../src/libs/core/utils/loggers.ts"],"sourcesContent":["type LogParams = unknown[];\r\n\r\nconst isDev = true;\r\n\r\nconst styles = {\r\n info: \"color: #25eb2f; font-weight: bold;\", // green\r\n warn: \"color: #ffe817; font-weight: bold;\", // yellow\r\n error: \"color: #dc2626; font-weight: bold;\", // red\r\n};\r\n\r\nconst Logger = {\r\n info(message: string, ...optionalParams: LogParams): void {\r\n if (!isDev) return;\r\n\r\n console.info(`%c[INFO] ${message}`, styles.info, ...optionalParams);\r\n },\r\n\r\n warn(message: string, ...optionalParams: LogParams): void {\r\n if (!isDev) return;\r\n\r\n console.warn(`%c[WARN] ${message}`, styles.warn, ...optionalParams);\r\n },\r\n\r\n error(message: string, ...optionalParams: LogParams): void {\r\n console.error(`%c[ERROR] ${message}`, styles.error, ...optionalParams);\r\n },\r\n} as const;\r\n\r\nexport default Logger;\r\n"],"mappings":";AAIA,IAAM,IAAS;CACb,MAAM;CACN,MAAM;CACN,OAAO;AACT,GAEM,IAAS;CACb,KAAK,GAAiB,GAAG,GAAiC;EAGxD,QAAQ,KAAK,YAAY,KAAW,EAAO,MAAM,GAAG,CAAc;CACpE;CAEA,KAAK,GAAiB,GAAG,GAAiC;EAGxD,QAAQ,KAAK,YAAY,KAAW,EAAO,MAAM,GAAG,CAAc;CACpE;CAEA,MAAM,GAAiB,GAAG,GAAiC;EACzD,QAAQ,MAAM,aAAa,KAAW,EAAO,OAAO,GAAG,CAAc;CACvE;AACF"}
@@ -0,0 +1,25 @@
1
+ import e from "./index126.js";
2
+ import { getTranslation as t } from "./index138.js";
3
+ import n from "axios";
4
+ //#region src/libs/core/api/apiClient.ts
5
+ var r = n.create({
6
+ baseURL: "import.meta.env.VITE_API_BASE_URL",
7
+ withCredentials: !0,
8
+ headers: { "Content-Type": "application/json" }
9
+ });
10
+ r.interceptors.request.use((n) => {
11
+ let r = t() === "en" ? 99 : 6;
12
+ return n.headers.loginparams = JSON.stringify({
13
+ userId: 4370,
14
+ langCd: r,
15
+ stateCd: 38,
16
+ stateId: 24
17
+ }), e.info("Request => ", n.data), n;
18
+ }), r.interceptors.response.use((t) => (e.info("Response => ", t.data), t), async (e) => {
19
+ let t = e.response?.status, n = e.config?.url ?? "";
20
+ return t === 401 && n.includes("user-login") || t === 401 && window.location.replace("/login"), Promise.reject(e);
21
+ });
22
+ //#endregion
23
+ export { r as default };
24
+
25
+ //# sourceMappingURL=index127.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index127.js","names":[],"sources":["../src/libs/core/api/apiClient.ts"],"sourcesContent":["import axios from \"axios\";\r\nimport { getTranslation } from \"utils/commonFunctions\";\r\nimport Logger from \"utils/loggers\";\r\n\r\nconst apiClient = axios.create({\r\n baseURL: \"import.meta.env.VITE_API_BASE_URL\",\r\n withCredentials: true,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n});\r\n\r\napiClient.interceptors.request.use((config) => {\r\n const currentLang =\r\n getTranslation() === \"en\"\r\n ? 99\r\n : 6;\r\n\r\n config.headers.loginparams =\r\n JSON.stringify({\r\n userId: 4370,\r\n // loginId: \"002362EXK\",\r\n langCd: currentLang,\r\n \"stateCd\":38,\"stateId\":24\r\n });\r\n\r\n Logger.info(\"Request => \", config.data)\r\n\r\n return config;\r\n});\r\n\r\napiClient.interceptors.response.use(\r\n (response) => {\r\n Logger.info(\"Response => \", response.data)\r\n return response\r\n },\r\n\r\n async (error) => {\r\n const status =\r\n error.response?.status;\r\n\r\n const url =\r\n error.config?.url ?? \"\";\r\n\r\n if (\r\n status === 401 &&\r\n url.includes(\"user-login\")\r\n ) {\r\n return Promise.reject(error);\r\n }\r\n\r\n if (status === 401) {\r\n window.location.replace(\"/login\");\r\n }\r\n\r\n return Promise.reject(error);\r\n },\r\n);\r\n\r\nexport default apiClient;"],"mappings":";;;;AAIA,IAAM,IAAY,EAAM,OAAO;CAC7B,SAAS;CACT,iBAAiB;CACjB,SAAS,EACP,gBAAgB,mBAClB;AACF,CAAC;AAED,EAAU,aAAa,QAAQ,KAAK,MAAW;CAC7C,IAAM,IACJ,EAAe,MAAM,OACjB,KACA;CAYN,OAVA,EAAO,QAAQ,cACb,KAAK,UAAU;EACb,QAAQ;EAER,QAAQ;EACR,SAAU;EAAG,SAAU;CACzB,CAAC,GAEH,EAAO,KAAK,eAAe,EAAO,IAAI,GAE/B;AACT,CAAC,GAED,EAAU,aAAa,SAAS,KAC7B,OACC,EAAO,KAAK,gBAAgB,EAAS,IAAI,GAClC,IAGT,OAAO,MAAU;CACf,IAAM,IACJ,EAAM,UAAU,QAEZ,IACJ,EAAM,QAAQ,OAAO;CAavB,OAVE,MAAW,OACX,EAAI,SAAS,YAAY,KAKvB,MAAW,OACb,OAAO,SAAS,QAAQ,QAAQ,GAJzB,QAAQ,OAAO,CAAK;AAQ/B,CACF"}
@@ -0,0 +1,250 @@
1
+ //#region node_modules/i18next-http-backend/esm/index.js
2
+ var e = [];
3
+ e.forEach, e.slice;
4
+ var t = [
5
+ "__proto__",
6
+ "constructor",
7
+ "prototype"
8
+ ];
9
+ function n(e) {
10
+ return !(typeof e != "string" || e.length === 0 || e.length > 128 || t.indexOf(e) > -1 || e.indexOf("..") > -1 || e.indexOf("\\") > -1 || /[?#%\s]/.test(e) || /[\x00-\x1F\x7F]/.test(e));
11
+ }
12
+ function r(e) {
13
+ return !(!n(e) || e.indexOf("/") > -1 || e.indexOf("@") > -1);
14
+ }
15
+ function i(e) {
16
+ return n(e);
17
+ }
18
+ var a = {
19
+ lng: r,
20
+ ns: i
21
+ };
22
+ function o(e) {
23
+ return typeof e == "string" ? e.replace(/[\r\n\x00-\x1F\x7F]/g, " ") : e;
24
+ }
25
+ function s(e) {
26
+ if (typeof e != "string" || e.length === 0) return e;
27
+ try {
28
+ let t = new URL(e);
29
+ return t.username || t.password ? (t.username = "", t.password = "", t.toString()) : e;
30
+ } catch {
31
+ return e.replace(/(\/\/)[^/@\s]+@/g, "$1");
32
+ }
33
+ }
34
+ function c() {
35
+ return typeof XMLHttpRequest == "function" || typeof XMLHttpRequest == "object";
36
+ }
37
+ function l(e) {
38
+ return !!e && typeof e.then == "function";
39
+ }
40
+ function u(e) {
41
+ return l(e) ? e : Promise.resolve(e);
42
+ }
43
+ var d = /\{\{(.+?)\}\}/g;
44
+ function f(e, n) {
45
+ let i = !1, o = e.replace(d, (e, o) => {
46
+ let s = o.trim();
47
+ if (t.indexOf(s) > -1) return e;
48
+ let c = n[s];
49
+ if (c == null) return e;
50
+ let l = a[s] || r, u = String(c).split("+");
51
+ for (let t of u) if (!l(t)) return i = !0, e;
52
+ return u.join("+");
53
+ });
54
+ return i ? null : o;
55
+ }
56
+ var p = typeof globalThis < "u" ? globalThis : typeof global < "u" ? global : typeof window < "u" ? window : void 0, m;
57
+ typeof fetch == "function" ? m = fetch : p && typeof p.fetch == "function" && (m = p.fetch);
58
+ var h = c() && p ? p.XMLHttpRequest : void 0, g = typeof ActiveXObject == "function" && p ? p.ActiveXObject : void 0, _ = [
59
+ "__proto__",
60
+ "constructor",
61
+ "prototype"
62
+ ], v = (e, t) => {
63
+ if (t && typeof t == "object") {
64
+ let n = "";
65
+ for (let e of Object.keys(t)) _.indexOf(e) > -1 || (n += "&" + encodeURIComponent(e) + "=" + encodeURIComponent(t[e]));
66
+ if (!n) return e;
67
+ e = e + (e.indexOf("?") === -1 ? "?" : "&") + n.slice(1);
68
+ }
69
+ return e;
70
+ }, y = (e, t, n, r) => {
71
+ let i = (e) => {
72
+ if (!e.ok) return n(e.statusText || "Error", { status: e.status });
73
+ e.text().then((t) => {
74
+ n(null, {
75
+ status: e.status,
76
+ data: t
77
+ });
78
+ }).catch(n);
79
+ };
80
+ if (r) {
81
+ let a = r(e, t);
82
+ if (a instanceof Promise) {
83
+ a.then(i).catch(n);
84
+ return;
85
+ }
86
+ }
87
+ typeof fetch == "function" ? fetch(e, t).then(i).catch(n) : m(e, t).then(i).catch(n);
88
+ }, b = (e, t, n, r) => {
89
+ e.queryStringParams && (t = v(t, e.queryStringParams));
90
+ let i = { ...typeof e.customHeaders == "function" ? e.customHeaders() : e.customHeaders };
91
+ typeof window > "u" && typeof global < "u" && global.process !== void 0 && global.process.versions && global.process.versions.node && (i["User-Agent"] = `i18next-http-backend (node/${global.process.version}; ${global.process.platform} ${global.process.arch})`), n && (i["Content-Type"] = "application/json");
92
+ let a = typeof e.requestOptions == "function" ? e.requestOptions(n) : e.requestOptions, o = {
93
+ method: n ? "POST" : "GET",
94
+ body: n ? e.stringify(n) : void 0,
95
+ headers: i,
96
+ ...e._omitFetchOptions ? {} : a
97
+ }, s = typeof e.alternateFetch == "function" && e.alternateFetch.length >= 1 ? e.alternateFetch : void 0;
98
+ try {
99
+ y(t, o, r, s);
100
+ } catch (n) {
101
+ if (!a || Object.keys(a).length === 0 || !n.message || n.message.indexOf("not implemented") < 0) return r(n);
102
+ try {
103
+ Object.keys(a).forEach((e) => {
104
+ delete o[e];
105
+ }), y(t, o, r, s), e._omitFetchOptions = !0;
106
+ } catch (e) {
107
+ r(e);
108
+ }
109
+ }
110
+ }, x = (e, t, n, r) => {
111
+ n && typeof n == "object" && (n = v("", n).slice(1)), e.queryStringParams && (t = v(t, e.queryStringParams));
112
+ try {
113
+ let i = h ? new h() : new g("MSXML2.XMLHTTP.3.0");
114
+ i.open(n ? "POST" : "GET", t, 1), e.crossDomain || i.setRequestHeader("X-Requested-With", "XMLHttpRequest"), i.withCredentials = !!e.withCredentials, n && i.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"), i.overrideMimeType && i.overrideMimeType("application/json");
115
+ let a = e.customHeaders;
116
+ if (a = typeof a == "function" ? a() : a, a) for (let e of Object.keys(a)) _.indexOf(e) > -1 || i.setRequestHeader(e, a[e]);
117
+ i.onreadystatechange = () => {
118
+ i.readyState > 3 && r(i.status >= 400 ? i.statusText : null, {
119
+ status: i.status,
120
+ data: i.responseText
121
+ });
122
+ }, i.send(n);
123
+ } catch (e) {
124
+ console && console.log(e);
125
+ }
126
+ }, S = (e, t, n, r) => {
127
+ if (typeof n == "function" && (r = n, n = void 0), r ||= (() => {}), m && t.indexOf("file:") !== 0) return b(e, t, n, r);
128
+ if (c() || typeof ActiveXObject == "function") return x(e, t, n, r);
129
+ r(/* @__PURE__ */ Error("No fetch and no xhr implementation found!"));
130
+ }, C = () => ({
131
+ loadPath: "/locales/{{lng}}/{{ns}}.json",
132
+ addPath: "/locales/add/{{lng}}/{{ns}}",
133
+ parse: (e) => JSON.parse(e),
134
+ stringify: JSON.stringify,
135
+ parsePayload: (e, t, n) => ({ [t]: n || "" }),
136
+ parseLoadPayload: (e, t) => void 0,
137
+ request: S,
138
+ reloadInterval: typeof window < "u" ? !1 : 36e5,
139
+ customHeaders: {},
140
+ queryStringParams: {},
141
+ crossDomain: !1,
142
+ withCredentials: !1,
143
+ overrideMimeType: !1,
144
+ requestOptions: {
145
+ mode: "cors",
146
+ credentials: "same-origin",
147
+ cache: "default"
148
+ }
149
+ }), w = class {
150
+ constructor(e, t = {}, n = {}) {
151
+ this.services = e, this.options = t, this.allOptions = n, this.type = "backend", this.init(e, t, n);
152
+ }
153
+ init(e, t = {}, n = {}) {
154
+ if (this.services = e, this.options = {
155
+ ...C(),
156
+ ...this.options || {},
157
+ ...t
158
+ }, this.allOptions = n, this.services && this.options.reloadInterval) {
159
+ let e = setInterval(() => this.reload(), this.options.reloadInterval);
160
+ typeof e == "object" && typeof e.unref == "function" && e.unref();
161
+ }
162
+ }
163
+ readMulti(e, t, n) {
164
+ this._readAny(e, e, t, t, n);
165
+ }
166
+ read(e, t, n) {
167
+ this._readAny([e], e, [t], t, n);
168
+ }
169
+ _readAny(e, t, n, r, i) {
170
+ let a = this.options.loadPath;
171
+ typeof this.options.loadPath == "function" && (a = this.options.loadPath(e, n)), a = u(a), a.then((a) => {
172
+ if (!a) return i(null, {});
173
+ let s = f(a, {
174
+ lng: e.join("+"),
175
+ ns: n.join("+")
176
+ });
177
+ if (s == null) {
178
+ let t = e.map(o).join(", "), r = n.map(o).join(", ");
179
+ return i(/* @__PURE__ */ Error("i18next-http-backend: unsafe lng/ns value — refusing to build request URL for languages=[" + t + "] namespaces=[" + r + "]"), !1);
180
+ }
181
+ this.loadUrl(s, i, t, r);
182
+ });
183
+ }
184
+ loadUrl(e, t, n, r) {
185
+ let i = typeof n == "string" ? [n] : n, a = typeof r == "string" ? [r] : r, c = this.options.parseLoadPayload(i, a), l = o(s(e));
186
+ this.options.request(this.options, e, c, (e, i) => {
187
+ if (i && (i.status >= 500 && i.status < 600 || !i.status)) return t("failed loading " + l + "; status code: " + i.status, !0);
188
+ if (i && i.status >= 400 && i.status < 500) return t("failed loading " + l + "; status code: " + i.status, !1);
189
+ if (!i && e && e.message) {
190
+ let n = e.message.toLowerCase();
191
+ if ([
192
+ "failed",
193
+ "fetch",
194
+ "network",
195
+ "load"
196
+ ].find((e) => n.indexOf(e) > -1)) return t("failed loading " + l + ": " + o(e.message), !0);
197
+ }
198
+ if (e) return t(e, !1);
199
+ let a, s;
200
+ try {
201
+ a = typeof i.data == "string" ? this.options.parse(i.data, n, r) : i.data;
202
+ } catch {
203
+ s = "failed parsing " + l + " to json";
204
+ }
205
+ if (s) return t(s, !1);
206
+ t(null, a);
207
+ });
208
+ }
209
+ create(e, t, n, r, i) {
210
+ if (!this.options.addPath) return;
211
+ typeof e == "string" && (e = [e]);
212
+ let a = this.options.parsePayload(t, n, r), o = 0, s = [], c = [];
213
+ e.forEach((n) => {
214
+ let r = this.options.addPath;
215
+ typeof this.options.addPath == "function" && (r = this.options.addPath(n, t));
216
+ let l = f(r, {
217
+ lng: n,
218
+ ns: t
219
+ });
220
+ if (l == null) {
221
+ o += 1, i && o === e.length && i(s, c);
222
+ return;
223
+ }
224
+ this.options.request(this.options, l, a, (t, n) => {
225
+ o += 1, s.push(t), c.push(n), o === e.length && typeof i == "function" && i(s, c);
226
+ });
227
+ });
228
+ }
229
+ reload() {
230
+ let { backendConnector: e, languageUtils: t, logger: n } = this.services, r = e.language;
231
+ if (r && r.toLowerCase() === "cimode") return;
232
+ let i = [], a = (e) => {
233
+ t.toResolveHierarchy(e).forEach((e) => {
234
+ i.indexOf(e) < 0 && i.push(e);
235
+ });
236
+ };
237
+ a(r), this.allOptions.preload && this.allOptions.preload.forEach((e) => a(e)), i.forEach((t) => {
238
+ this.allOptions.ns.forEach((r) => {
239
+ e.read(t, r, "read", null, null, (i, a) => {
240
+ i && n.warn(`loading namespace ${r} for language ${t} failed`, i), !i && a && n.log(`loaded namespace ${r} for language ${t}`, a), e.loaded(`${t}|${r}`, i, a);
241
+ });
242
+ });
243
+ });
244
+ }
245
+ };
246
+ w.type = "backend";
247
+ //#endregion
248
+ export { w as default };
249
+
250
+ //# sourceMappingURL=index128.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index128.js","names":[],"sources":["../node_modules/i18next-http-backend/esm/index.js"],"sourcesContent":["//#region lib/utils.js\nconst arr = [];\narr.forEach;\narr.slice;\nconst UNSAFE_KEYS$1 = [\n\t\"__proto__\",\n\t\"constructor\",\n\t\"prototype\"\n];\nfunction isSafeUrlSegmentBase(v) {\n\tif (typeof v !== \"string\") return false;\n\tif (v.length === 0 || v.length > 128) return false;\n\tif (UNSAFE_KEYS$1.indexOf(v) > -1) return false;\n\tif (v.indexOf(\"..\") > -1) return false;\n\tif (v.indexOf(\"\\\\\") > -1) return false;\n\tif (/[?#%\\s]/.test(v)) return false;\n\tif (/[\\x00-\\x1F\\x7F]/.test(v)) return false;\n\treturn true;\n}\nfunction isSafeLangUrlSegment(v) {\n\tif (!isSafeUrlSegmentBase(v)) return false;\n\tif (v.indexOf(\"/\") > -1 || v.indexOf(\"@\") > -1) return false;\n\treturn true;\n}\nfunction isSafeNsUrlSegment(v) {\n\treturn isSafeUrlSegmentBase(v);\n}\nconst SAFETY_CHECK_BY_KEY = {\n\tlng: isSafeLangUrlSegment,\n\tns: isSafeNsUrlSegment\n};\nfunction sanitizeLogValue(v) {\n\tif (typeof v !== \"string\") return v;\n\treturn v.replace(/[\\r\\n\\x00-\\x1F\\x7F]/g, \" \");\n}\nfunction redactUrlCredentials(u) {\n\tif (typeof u !== \"string\" || u.length === 0) return u;\n\ttry {\n\t\tconst parsed = new URL(u);\n\t\tif (parsed.username || parsed.password) {\n\t\t\tparsed.username = \"\";\n\t\t\tparsed.password = \"\";\n\t\t\treturn parsed.toString();\n\t\t}\n\t\treturn u;\n\t} catch (e) {\n\t\treturn u.replace(/(\\/\\/)[^/@\\s]+@/g, \"$1\");\n\t}\n}\nfunction hasXMLHttpRequest() {\n\treturn typeof XMLHttpRequest === \"function\" || typeof XMLHttpRequest === \"object\";\n}\n/**\n* Determine whether the given `maybePromise` is a Promise.\n*\n* @param {*} maybePromise\n*\n* @returns {Boolean}\n*/\nfunction isPromise(maybePromise) {\n\treturn !!maybePromise && typeof maybePromise.then === \"function\";\n}\n/**\n* Convert any value to a Promise than will resolve to this value.\n*\n* @param {*} maybePromise\n*\n* @returns {Promise}\n*/\nfunction makePromise(maybePromise) {\n\tif (isPromise(maybePromise)) return maybePromise;\n\treturn Promise.resolve(maybePromise);\n}\nconst interpolationRegexp = /\\{\\{(.+?)\\}\\}/g;\nfunction interpolateUrl(str, data) {\n\tlet unsafe = false;\n\tconst result = str.replace(interpolationRegexp, (match, key) => {\n\t\tconst k = key.trim();\n\t\tif (UNSAFE_KEYS$1.indexOf(k) > -1) return match;\n\t\tconst value = data[k];\n\t\tif (value == null) return match;\n\t\tconst check = SAFETY_CHECK_BY_KEY[k] || isSafeLangUrlSegment;\n\t\tconst segments = String(value).split(\"+\");\n\t\tfor (const seg of segments) if (!check(seg)) {\n\t\t\tunsafe = true;\n\t\t\treturn match;\n\t\t}\n\t\treturn segments.join(\"+\");\n\t});\n\treturn unsafe ? null : result;\n}\n//#endregion\n//#region lib/request.js\nconst g = typeof globalThis !== \"undefined\" ? globalThis : typeof global !== \"undefined\" ? global : typeof window !== \"undefined\" ? window : void 0;\nlet fetchApi;\nif (typeof fetch === \"function\") fetchApi = fetch;\nelse if (g && typeof g.fetch === \"function\") fetchApi = g.fetch;\nconst XmlHttpRequestApi = hasXMLHttpRequest() && g ? g.XMLHttpRequest : void 0;\nconst ActiveXObjectApi = typeof ActiveXObject === \"function\" && g ? g.ActiveXObject : void 0;\nconst UNSAFE_KEYS = [\n\t\"__proto__\",\n\t\"constructor\",\n\t\"prototype\"\n];\nconst addQueryString = (url, params) => {\n\tif (params && typeof params === \"object\") {\n\t\tlet queryString = \"\";\n\t\tfor (const paramName of Object.keys(params)) {\n\t\t\tif (UNSAFE_KEYS.indexOf(paramName) > -1) continue;\n\t\t\tqueryString += \"&\" + encodeURIComponent(paramName) + \"=\" + encodeURIComponent(params[paramName]);\n\t\t}\n\t\tif (!queryString) return url;\n\t\turl = url + (url.indexOf(\"?\") !== -1 ? \"&\" : \"?\") + queryString.slice(1);\n\t}\n\treturn url;\n};\nconst fetchIt = (url, fetchOptions, callback, altFetch) => {\n\tconst resolver = (response) => {\n\t\tif (!response.ok) return callback(response.statusText || \"Error\", { status: response.status });\n\t\tresponse.text().then((data) => {\n\t\t\tcallback(null, {\n\t\t\t\tstatus: response.status,\n\t\t\t\tdata\n\t\t\t});\n\t\t}).catch(callback);\n\t};\n\tif (altFetch) {\n\t\tconst altResponse = altFetch(url, fetchOptions);\n\t\tif (altResponse instanceof Promise) {\n\t\t\taltResponse.then(resolver).catch(callback);\n\t\t\treturn;\n\t\t}\n\t}\n\tif (typeof fetch === \"function\") fetch(url, fetchOptions).then(resolver).catch(callback);\n\telse fetchApi(url, fetchOptions).then(resolver).catch(callback);\n};\nconst requestWithFetch = (options, url, payload, callback) => {\n\tif (options.queryStringParams) url = addQueryString(url, options.queryStringParams);\n\tconst headers = { ...typeof options.customHeaders === \"function\" ? options.customHeaders() : options.customHeaders };\n\tif (typeof window === \"undefined\" && typeof global !== \"undefined\" && typeof global.process !== \"undefined\" && global.process.versions && global.process.versions.node) headers[\"User-Agent\"] = `i18next-http-backend (node/${global.process.version}; ${global.process.platform} ${global.process.arch})`;\n\tif (payload) headers[\"Content-Type\"] = \"application/json\";\n\tconst reqOptions = typeof options.requestOptions === \"function\" ? options.requestOptions(payload) : options.requestOptions;\n\tconst fetchOptions = {\n\t\tmethod: payload ? \"POST\" : \"GET\",\n\t\tbody: payload ? options.stringify(payload) : void 0,\n\t\theaders,\n\t\t...options._omitFetchOptions ? {} : reqOptions\n\t};\n\tconst altFetch = typeof options.alternateFetch === \"function\" && options.alternateFetch.length >= 1 ? options.alternateFetch : void 0;\n\ttry {\n\t\tfetchIt(url, fetchOptions, callback, altFetch);\n\t} catch (e) {\n\t\tif (!reqOptions || Object.keys(reqOptions).length === 0 || !e.message || e.message.indexOf(\"not implemented\") < 0) return callback(e);\n\t\ttry {\n\t\t\tObject.keys(reqOptions).forEach((opt) => {\n\t\t\t\tdelete fetchOptions[opt];\n\t\t\t});\n\t\t\tfetchIt(url, fetchOptions, callback, altFetch);\n\t\t\toptions._omitFetchOptions = true;\n\t\t} catch (err) {\n\t\t\tcallback(err);\n\t\t}\n\t}\n};\nconst requestWithXmlHttpRequest = (options, url, payload, callback) => {\n\tif (payload && typeof payload === \"object\") payload = addQueryString(\"\", payload).slice(1);\n\tif (options.queryStringParams) url = addQueryString(url, options.queryStringParams);\n\ttry {\n\t\tconst x = XmlHttpRequestApi ? new XmlHttpRequestApi() : new ActiveXObjectApi(\"MSXML2.XMLHTTP.3.0\");\n\t\tx.open(payload ? \"POST\" : \"GET\", url, 1);\n\t\tif (!options.crossDomain) x.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n\t\tx.withCredentials = !!options.withCredentials;\n\t\tif (payload) x.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n\t\tif (x.overrideMimeType) x.overrideMimeType(\"application/json\");\n\t\tlet h = options.customHeaders;\n\t\th = typeof h === \"function\" ? h() : h;\n\t\tif (h) for (const i of Object.keys(h)) {\n\t\t\tif (UNSAFE_KEYS.indexOf(i) > -1) continue;\n\t\t\tx.setRequestHeader(i, h[i]);\n\t\t}\n\t\tx.onreadystatechange = () => {\n\t\t\tx.readyState > 3 && callback(x.status >= 400 ? x.statusText : null, {\n\t\t\t\tstatus: x.status,\n\t\t\t\tdata: x.responseText\n\t\t\t});\n\t\t};\n\t\tx.send(payload);\n\t} catch (e) {\n\t\tconsole && console.log(e);\n\t}\n};\nconst request = (options, url, payload, callback) => {\n\tif (typeof payload === \"function\") {\n\t\tcallback = payload;\n\t\tpayload = void 0;\n\t}\n\tcallback = callback || (() => {});\n\tif (fetchApi && url.indexOf(\"file:\") !== 0) return requestWithFetch(options, url, payload, callback);\n\tif (hasXMLHttpRequest() || typeof ActiveXObject === \"function\") return requestWithXmlHttpRequest(options, url, payload, callback);\n\tcallback(/* @__PURE__ */ new Error(\"No fetch and no xhr implementation found!\"));\n};\n//#endregion\n//#region lib/index.js\nconst getDefaults = () => {\n\treturn {\n\t\tloadPath: \"/locales/{{lng}}/{{ns}}.json\",\n\t\taddPath: \"/locales/add/{{lng}}/{{ns}}\",\n\t\tparse: (data) => JSON.parse(data),\n\t\tstringify: JSON.stringify,\n\t\tparsePayload: (namespace, key, fallbackValue) => ({ [key]: fallbackValue || \"\" }),\n\t\tparseLoadPayload: (languages, namespaces) => void 0,\n\t\trequest,\n\t\treloadInterval: typeof window !== \"undefined\" ? false : 3600 * 1e3,\n\t\tcustomHeaders: {},\n\t\tqueryStringParams: {},\n\t\tcrossDomain: false,\n\t\twithCredentials: false,\n\t\toverrideMimeType: false,\n\t\trequestOptions: {\n\t\t\tmode: \"cors\",\n\t\t\tcredentials: \"same-origin\",\n\t\t\tcache: \"default\"\n\t\t}\n\t};\n};\nvar Backend = class {\n\tconstructor(services, options = {}, allOptions = {}) {\n\t\tthis.services = services;\n\t\tthis.options = options;\n\t\tthis.allOptions = allOptions;\n\t\tthis.type = \"backend\";\n\t\tthis.init(services, options, allOptions);\n\t}\n\tinit(services, options = {}, allOptions = {}) {\n\t\tthis.services = services;\n\t\tthis.options = {\n\t\t\t...getDefaults(),\n\t\t\t...this.options || {},\n\t\t\t...options\n\t\t};\n\t\tthis.allOptions = allOptions;\n\t\tif (this.services && this.options.reloadInterval) {\n\t\t\tconst timer = setInterval(() => this.reload(), this.options.reloadInterval);\n\t\t\tif (typeof timer === \"object\" && typeof timer.unref === \"function\") timer.unref();\n\t\t}\n\t}\n\treadMulti(languages, namespaces, callback) {\n\t\tthis._readAny(languages, languages, namespaces, namespaces, callback);\n\t}\n\tread(language, namespace, callback) {\n\t\tthis._readAny([language], language, [namespace], namespace, callback);\n\t}\n\t_readAny(languages, loadUrlLanguages, namespaces, loadUrlNamespaces, callback) {\n\t\tlet loadPath = this.options.loadPath;\n\t\tif (typeof this.options.loadPath === \"function\") loadPath = this.options.loadPath(languages, namespaces);\n\t\tloadPath = makePromise(loadPath);\n\t\tloadPath.then((resolvedLoadPath) => {\n\t\t\tif (!resolvedLoadPath) return callback(null, {});\n\t\t\tconst url = interpolateUrl(resolvedLoadPath, {\n\t\t\t\tlng: languages.join(\"+\"),\n\t\t\t\tns: namespaces.join(\"+\")\n\t\t\t});\n\t\t\tif (url == null) {\n\t\t\t\tconst safeLngs = languages.map(sanitizeLogValue).join(\", \");\n\t\t\t\tconst safeNss = namespaces.map(sanitizeLogValue).join(\", \");\n\t\t\t\treturn callback(/* @__PURE__ */ new Error(\"i18next-http-backend: unsafe lng/ns value — refusing to build request URL for languages=[\" + safeLngs + \"] namespaces=[\" + safeNss + \"]\"), false);\n\t\t\t}\n\t\t\tthis.loadUrl(url, callback, loadUrlLanguages, loadUrlNamespaces);\n\t\t});\n\t}\n\tloadUrl(url, callback, languages, namespaces) {\n\t\tconst lng = typeof languages === \"string\" ? [languages] : languages;\n\t\tconst ns = typeof namespaces === \"string\" ? [namespaces] : namespaces;\n\t\tconst payload = this.options.parseLoadPayload(lng, ns);\n\t\tconst safeUrl = sanitizeLogValue(redactUrlCredentials(url));\n\t\tthis.options.request(this.options, url, payload, (err, res) => {\n\t\t\tif (res && (res.status >= 500 && res.status < 600 || !res.status)) return callback(\"failed loading \" + safeUrl + \"; status code: \" + res.status, true);\n\t\t\tif (res && res.status >= 400 && res.status < 500) return callback(\"failed loading \" + safeUrl + \"; status code: \" + res.status, false);\n\t\t\tif (!res && err && err.message) {\n\t\t\t\tconst errorMessage = err.message.toLowerCase();\n\t\t\t\tif ([\n\t\t\t\t\t\"failed\",\n\t\t\t\t\t\"fetch\",\n\t\t\t\t\t\"network\",\n\t\t\t\t\t\"load\"\n\t\t\t\t].find((term) => errorMessage.indexOf(term) > -1)) return callback(\"failed loading \" + safeUrl + \": \" + sanitizeLogValue(err.message), true);\n\t\t\t}\n\t\t\tif (err) return callback(err, false);\n\t\t\tlet ret, parseErr;\n\t\t\ttry {\n\t\t\t\tif (typeof res.data === \"string\") ret = this.options.parse(res.data, languages, namespaces);\n\t\t\t\telse ret = res.data;\n\t\t\t} catch (e) {\n\t\t\t\tparseErr = \"failed parsing \" + safeUrl + \" to json\";\n\t\t\t}\n\t\t\tif (parseErr) return callback(parseErr, false);\n\t\t\tcallback(null, ret);\n\t\t});\n\t}\n\tcreate(languages, namespace, key, fallbackValue, callback) {\n\t\tif (!this.options.addPath) return;\n\t\tif (typeof languages === \"string\") languages = [languages];\n\t\tconst payload = this.options.parsePayload(namespace, key, fallbackValue);\n\t\tlet finished = 0;\n\t\tconst dataArray = [];\n\t\tconst resArray = [];\n\t\tlanguages.forEach((lng) => {\n\t\t\tlet addPath = this.options.addPath;\n\t\t\tif (typeof this.options.addPath === \"function\") addPath = this.options.addPath(lng, namespace);\n\t\t\tconst url = interpolateUrl(addPath, {\n\t\t\t\tlng,\n\t\t\t\tns: namespace\n\t\t\t});\n\t\t\tif (url == null) {\n\t\t\t\tfinished += 1;\n\t\t\t\tif (callback && finished === languages.length) callback(dataArray, resArray);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.options.request(this.options, url, payload, (data, res) => {\n\t\t\t\tfinished += 1;\n\t\t\t\tdataArray.push(data);\n\t\t\t\tresArray.push(res);\n\t\t\t\tif (finished === languages.length) {\n\t\t\t\t\tif (typeof callback === \"function\") callback(dataArray, resArray);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\treload() {\n\t\tconst { backendConnector, languageUtils, logger } = this.services;\n\t\tconst currentLanguage = backendConnector.language;\n\t\tif (currentLanguage && currentLanguage.toLowerCase() === \"cimode\") return;\n\t\tconst toLoad = [];\n\t\tconst append = (lng) => {\n\t\t\tlanguageUtils.toResolveHierarchy(lng).forEach((l) => {\n\t\t\t\tif (toLoad.indexOf(l) < 0) toLoad.push(l);\n\t\t\t});\n\t\t};\n\t\tappend(currentLanguage);\n\t\tif (this.allOptions.preload) this.allOptions.preload.forEach((l) => append(l));\n\t\ttoLoad.forEach((lng) => {\n\t\t\tthis.allOptions.ns.forEach((ns) => {\n\t\t\t\tbackendConnector.read(lng, ns, \"read\", null, null, (err, data) => {\n\t\t\t\t\tif (err) logger.warn(`loading namespace ${ns} for language ${lng} failed`, err);\n\t\t\t\t\tif (!err && data) logger.log(`loaded namespace ${ns} for language ${lng}`, data);\n\t\t\t\t\tbackendConnector.loaded(`${lng}|${ns}`, err, data);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n};\nBackend.type = \"backend\";\n//#endregion\nexport { Backend as default };\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import e from "./index125.js";
2
+ import "./index127.js";
3
+ import t from "./index128.js";
4
+ import { initReactI18next as n } from "react-i18next";
5
+ import r from "i18next";
6
+ //#region src/libs/shared/internationalisation/i18n.ts
7
+ r.use(t).use(e).use(n).init({
8
+ fallbackLng: "en",
9
+ supportedLngs: ["en", "hi"],
10
+ ns: ["translation"],
11
+ defaultNS: "translation",
12
+ backend: { loadPath: "/locales/{{lng}}/{{ns}}.json" },
13
+ interpolation: { escapeValue: !1 },
14
+ react: { useSuspense: !0 }
15
+ });
16
+ var i = r;
17
+ //#endregion
18
+ export { i as default };
19
+
20
+ //# sourceMappingURL=index129.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index129.js","names":[],"sources":["../src/libs/shared/internationalisation/i18n.ts"],"sourcesContent":["import i18n from \"i18next\";\r\n\r\nimport { initReactI18next } from \"react-i18next\";\r\n\r\nimport LanguageDetector from \"i18next-browser-languagedetector\"; \r\nimport apiClient from \"../../core/api/apiClient\";\r\nimport HttpBackend from \"i18next-http-backend\";\r\nimport Logger from \"utils/loggers\";\r\n\r\ntype TranslationResource = Record<\r\n string,\r\n string\r\n>;\r\n\r\ni18n\r\n .use(HttpBackend)\r\n .use(LanguageDetector)\r\n .use(initReactI18next)\r\n .init({\r\n fallbackLng: \"en\",\r\n\r\n supportedLngs: [\r\n \"en\",\r\n \"hi\",\r\n ],\r\n\r\n ns: [\"translation\"],\r\n\r\n defaultNS: \"translation\",\r\n\r\n /**\r\n * Local translation files\r\n */\r\n\r\n backend: {\r\n loadPath:\r\n \"/locales/{{lng}}/{{ns}}.json\",\r\n },\r\n\r\n interpolation: {\r\n escapeValue: false,\r\n },\r\n\r\n react: {\r\n useSuspense: true,\r\n },\r\n });\r\n\r\n/**\r\n * Future API Translation Support\r\n */\r\n\r\nexport async function loadTranslations(\r\n lang: string\r\n) {\r\n try {\r\n /**\r\n * Future API integration\r\n */\r\n\r\n const response =\r\n await apiClient.get(\r\n \"/translations\",\r\n {\r\n params: { lang },\r\n }\r\n );\r\n\r\n const translations: TranslationResource =\r\n response.data;\r\n\r\n i18n.addResourceBundle(\r\n lang,\r\n \"translation\",\r\n translations,\r\n true,\r\n true\r\n );\r\n } catch (error) {\r\n /**\r\n * Local translations already loaded\r\n * by i18next-http-backend\r\n */\r\n\r\n Logger.error(\r\n `[i18n] API translation load failed for \"${lang}\"`,\r\n error\r\n );\r\n }\r\n}\r\n\r\nexport default i18n;"],"mappings":";;;;;;AAcA,EACG,IAAI,CAAW,CAAC,CAChB,IAAI,CAAgB,CAAC,CACrB,IAAI,CAAgB,CAAC,CACrB,KAAK;CACJ,aAAa;CAEb,eAAe,CACb,MACA,IACF;CAEA,IAAI,CAAC,aAAa;CAElB,WAAW;CAMX,SAAS,EACP,UACE,+BACJ;CAEA,eAAe,EACb,aAAa,GACf;CAEA,OAAO,EACL,aAAa,GACf;AACF,CAAC;AA6CH,IAAA,IAAe"}
@@ -0,0 +1,20 @@
1
+ //#region node_modules/clsx/dist/clsx.mjs
2
+ function e(t) {
3
+ var n, r, i = "";
4
+ if (typeof t == "string" || typeof t == "number") i += t;
5
+ else if (typeof t == "object") {
6
+ if (Array.isArray(t)) {
7
+ var a = t.length;
8
+ for (n = 0; n < a; n++) t[n] && (r = e(t[n])) && (i && (i += " "), i += r);
9
+ } else for (r in t) t[r] && (i && (i += " "), i += r);
10
+ }
11
+ return i;
12
+ }
13
+ function t() {
14
+ for (var t, n, r = 0, i = "", a = arguments.length; r < a; r++) (t = arguments[r]) && (n = e(t)) && (i && (i += " "), i += n);
15
+ return i;
16
+ }
17
+ //#endregion
18
+ export { t as clsx, t as default };
19
+
20
+ //# sourceMappingURL=index13.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index13.js","names":[],"sources":["../node_modules/clsx/dist/clsx.mjs"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;"],"x_google_ignoreList":[0],"mappings":";AAAA,SAAS,EAAE,GAAE;CAAC,IAAI,GAAE,GAAE,IAAE;CAAG,IAAa,OAAO,KAAjB,YAA8B,OAAO,KAAjB,UAAmB,KAAG;MAAO,IAAa,OAAO,KAAjB,UAAmB;MAAG,MAAM,QAAQ,CAAC,GAAE;GAAC,IAAI,IAAE,EAAE;GAAO,KAAI,IAAE,GAAE,IAAE,GAAE,KAAI,EAAE,OAAK,IAAE,EAAE,EAAE,EAAE,OAAK,MAAI,KAAG,MAAK,KAAG;EAAE,OAAM,KAAI,KAAK,GAAE,EAAE,OAAK,MAAI,KAAG,MAAK,KAAG;CAAA;CAAG,OAAO;AAAC;AAAC,SAAgB,IAAM;CAAC,KAAI,IAAI,GAAE,GAAE,IAAE,GAAE,IAAE,IAAG,IAAE,UAAU,QAAO,IAAE,GAAE,KAAI,CAAC,IAAE,UAAU,QAAM,IAAE,EAAE,CAAC,OAAK,MAAI,KAAG,MAAK,KAAG;CAAG,OAAO;AAAC"}
@@ -0,0 +1,13 @@
1
+ import e from "dayjs";
2
+ //#region src/libs/core/utils/dateUtilities.ts
3
+ var t = e(), n = (t) => e(t), r = {
4
+ day: "day",
5
+ month: "month",
6
+ months: "months",
7
+ days: "days",
8
+ year: "year"
9
+ };
10
+ //#endregion
11
+ export { n as customDate, t as customDateObject, r as dayConstant };
12
+
13
+ //# sourceMappingURL=index130.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index130.js","names":[],"sources":["../src/libs/core/utils/dateUtilities.ts"],"sourcesContent":["import { Constants } from \"constants/commonConstants\";\r\nimport dayjs, { Dayjs } from \"dayjs\";\r\nexport const getDefaultMaximumDate = (format: string, date?: Dayjs | string | number): string => {\r\n return dayjs(date).format(format);\r\n}\r\n\r\nexport const getDefaultMinimumDate = (format: string, date?: Dayjs): string => {\r\n const today = dayjs();\r\n if (date) {\r\n return dayjs(date).format(format)\r\n }\r\n\r\n return today.subtract(150, 'year').format(format);\r\n}\r\nconst getDateAsPerFormat = (\r\n date: Date | string | undefined | Dayjs,\r\n dateFormat: string\r\n) => (date ? dayjs(date).format(dateFormat) : \"\");\r\n\r\nconst formatDate = (date: string, time?: string) => {\r\n const d = new Date(date);\r\n const day = String(d.getDate()).padStart(2, \"0\");\r\n const month = String(d.getMonth() + 1).padStart(2, \"0\"); // months are 0-indexed\r\n const year = d.getFullYear();\r\n return `${day}-${month}-${year}T${time}`;\r\n};\r\n\r\nconst customDateObject = dayjs()\r\n\r\nconst customDate = (date: string) => {\r\n return dayjs(date)\r\n}\r\n//Convert any date to Dayjs safely\r\nexport const toDayjs = (date?: string | Date | Dayjs): Dayjs | null => {\r\n if (!date) return null;\r\n\r\n const parsed = dayjs(date);\r\n return parsed.isValid() ? parsed : null;\r\n};\r\n\r\n//Get start of unit (day, month, year)\r\n\r\nexport const startDate = (\r\n date?: string | Date | Dayjs,\r\n unit: dayjs.OpUnitType = \"day\"\r\n): Dayjs | undefined => {\r\n const parsed = toDayjs(date);\r\n return parsed ? parsed.startOf(unit) : undefined;\r\n};\r\n\r\n//Add time to date\r\n\r\nexport const addToDate = (\r\n date?: string | Date | Dayjs,\r\n value: number = 0,\r\n unit: dayjs.ManipulateType = \"day\"\r\n): Dayjs | undefined => {\r\n const parsed = toDayjs(date);\r\n return parsed ? parsed.add(value, unit) : undefined;\r\n};\r\n\r\n// Compare two dates\r\nexport const isBeforeDate = (\r\n date1?: string | Date | Dayjs,\r\n date2?: string | Date | Dayjs\r\n): boolean => {\r\n const d1 = toDayjs(date1);\r\n const d2 = toDayjs(date2);\r\n\r\n if (!d1 || !d2) return false;\r\n return d1.isBefore(d2);\r\n};\r\n\r\nexport const getDateFromServerDate = (serverdate?: string) => {\r\n if (!serverdate) return \"\";\r\n const date = dayjs(serverdate);\r\n if (!date.isValid()) return \"\";\r\n return date.format(Constants.DATE_TIME_FORMATE.CLIENT);\r\n}\r\n\r\n //Format time to server format (HH:mm)\r\n\r\nexport const formatToServerTime = (\r\n time?: string | Date | Dayjs\r\n): string | undefined => {\r\n if (!time) return undefined;\r\n\r\n const parsed = dayjs(time);\r\n return parsed.isValid() ? parsed.format(\"HH:mm\") : undefined;\r\n};\r\n\r\nexport const formatToHoursLabel = (\r\n time?: string | Date | Dayjs\r\n): string => {\r\n if (!time) return \"0 Hours\";\r\n\r\n const parsed = dayjs(time);\r\n if (!parsed.isValid()) return \"0 Hours\";\r\n\r\n return `${parsed.hour()} Hours`;\r\n};\r\n\r\nconst dayConstant = {\r\n day: \"day\",\r\n month: \"month\",\r\n months: \"months\",\r\n days: \"days\",\r\n year: \"year\",\r\n} as const \r\n \r\n \r\nexport { customDate, customDateObject, dayConstant, formatDate, getDateAsPerFormat };\r\n \r\n"],"mappings":";;AA2BA,IAAM,IAAmB,EAAM,GAEzB,KAAc,MACX,EAAM,CAAI,GAwEb,IAAc;CAClB,KAAK;CACL,OAAO;CACP,QAAQ;CACR,MAAM;CACN,MAAM;AACR"}
@@ -0,0 +1,15 @@
1
+ import "./index129.js";
2
+ import "./index130.js";
3
+ import "./index137.js";
4
+ //#region src/libs/core/utils/commonFunctions.ts
5
+ function e(e, t, n) {
6
+ e[t] = n;
7
+ }
8
+ function t(e, t) {
9
+ return t.split(".").reduce((e, t) => t in e ? e[t] : t in e.fieldsName ? e.fieldsName[t] : e, e);
10
+ }
11
+ var n = (e) => typeof e == "boolean" ? e : Array.isArray(e) ? e.every(n) : typeof e == "object" && e ? Object.values(e).every(n) : !1;
12
+ //#endregion
13
+ export { n as flattenValidity, t as getNestedValue, e as setStateObjValue };
14
+
15
+ //# sourceMappingURL=index131.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index131.js","names":[],"sources":["../src/libs/core/utils/commonFunctions.ts"],"sourcesContent":["import { CommonAddressFields } from \"constants/commonConstants\";\r\nimport { MenuTextColorEnum } from \"libs/shared/enums/common-enums\";\r\nimport type { CommonAddressFieldsTypesDisplay, DTO, FieldObject, GridRowData, MasterResponseDataType } from \"../../shared/types/common-types\";\r\nimport { sharedFormActionNames } from \"./sharedFormActions\";\r\nimport i18n from \"internationalisation/i18n\";\r\nimport { MASTER_DATA_KEYS } from \"constants/masterCodes\";\r\nimport type { StepConfig } from \"ui/stepper/types/stepperTypes\";\r\nimport { customDateObject } from \"./dateUtilities\";\r\n\r\nexport function setStateObjValue<T extends FieldObject | DTO, K extends keyof T>(\r\n state: T,\r\n key: K,\r\n value: T[K]\r\n): void {\r\n state[key] = value;\r\n}\r\n\r\nexport function constructParentSliceName(sliceName: string, parentSliceName: string = \"\"): string {\r\n return parentSliceName ? `${parentSliceName}.${sliceName}` : sliceName;\r\n}\r\n\r\nexport function getNestedValue<T>(obj: Record<string, unknown> | DTO, path: string) {\r\n const keys = path.split(\".\");\r\n\r\n const returnState = keys.reduce((acc: Record<string, unknown> | DTO, key: string) => {\r\n if (key in acc) {\r\n return (acc as Record<string, DTO>)[key] as DTO;\r\n } else if (key in (acc as DTO).fieldsName) {\r\n return (acc as DTO).fieldsName[key] as DTO;\r\n } else return acc;\r\n }, obj);\r\n\r\n return returnState as T;\r\n}\r\n\r\nexport function getBaseDTO(...intialArgsArr: unknown[]): DTO {\r\n return {\r\n submitJson: {},\r\n displayJson: {},\r\n isValidJson: {},\r\n fieldError: {},\r\n helperText: {},\r\n dtoName: \"\",\r\n defaultsRules: {},\r\n fieldsName: {},\r\n initialArgs: intialArgsArr ?? [],\r\n menuTextColor: MenuTextColorEnum.INHERIT\r\n };\r\n}\r\n\r\nexport const toLocaleString = (value: string | number) => {\r\n return value.toLocaleString();\r\n}\r\n\r\nexport const getSelectInputFieldName = (name: string): string => {\r\n return name.split(\"-\")?.[0] ?? \"\"\r\n}\r\n\r\n/**\r\n * Create concat address using display data.\r\n *\r\n * @param {GridRowData} addressDisplay - Address Display Data\r\n * @returns {string} Concanated Address\r\n */\r\nexport const getConcatAddress = (addressDisplay: CommonAddressFieldsTypesDisplay) => {\r\n const fields = CommonAddressFields;\r\n const order = [fields.houseNo, fields.streetName, fields.colony, fields.village, fields.subDistrict, fields.district, fields.state, fields.pincode, fields.country, fields.other];\r\n const concatAddress = order.map((key) => addressDisplay[key]).join(\" \");\r\n return concatAddress.trim();\r\n};\r\n\r\nexport const getOnChangeActionType = (rootSliceName: string) => {\r\n return `${rootSliceName}/${sharedFormActionNames.ON_CHANGE_FIELD}`\r\n}\r\n\r\n/**\r\n * useful to get the value key from the cd key\r\n * @param codeKey \r\n * @param suffix \r\n * @returns value key\r\n */\r\nexport const getValueKey = <T extends string, S extends string = \"Cd\">(codeKey: T, suffix: S = \"Cd\" as S) => {\r\n return codeKey.slice(0, -suffix.length);\r\n};\r\n\r\nexport const filterRecordById = <T extends GridRowData>(row: T, key: string = \"id\") => (obj: T) => obj?.[key] !== row?.[key];\r\n\r\nexport function concatenateFullName<T extends {\r\n firstName?: string | null;\r\n middleName?: string | null;\r\n lastName?: string | null;\r\n}>(data: T): string {\r\n const { firstName, middleName, lastName } = data;\r\n let fullName = \"\";\r\n\r\n for (const name of [firstName, middleName, lastName]) {\r\n const trimmed = name?.trim();\r\n if (trimmed) {\r\n fullName += fullName ? ` ${trimmed}` : trimmed;\r\n }\r\n }\r\n\r\n return fullName;\r\n}\r\n\r\nexport const getTranslation = () => {\r\n return i18n.resolvedLanguage || i18n.language || 'en'\r\n}\r\n\r\nexport const fieldsManager = (dto: DTO, fields: string[]) => {\r\n const { fieldError, isValidJson, helperText, submitJson, displayJson } = dto;\r\n\r\n fields.forEach((field) => {\r\n setStateObjValue(fieldError, field, \"\");\r\n setStateObjValue(isValidJson, field, true);\r\n setStateObjValue(helperText, field, \"\");\r\n delete submitJson[field];\r\n delete displayJson[field];\r\n });\r\n};\r\n\r\n\r\nexport const generateLookupArray = (length: number): MasterResponseDataType[] => {\r\n return Array.from({ length }, (_, i) => ({\r\n [MASTER_DATA_KEYS.CODE]: i + 1,\r\n [MASTER_DATA_KEYS.VALUE]: `${i + 1}`,\r\n id: i + 1,\r\n selectoptiontitle: `${i + 1}`,\r\n }));\r\n}\r\n\r\nexport function reIndex<T extends { id: number }>(list: T[]) {\r\n return list.map((item, index) => ({ ...item, id: index + 1 }));\r\n}\r\n\r\nexport function injectIntoStepCallback(prev: StepConfig[], dtoName: string, newStep: StepConfig, position: \"start\" | \"end\" | number = \"end\", isSection: boolean = false) {\r\n const getUpdatedMenuList = (steps: StepConfig[], newStep: StepConfig): StepConfig[] => {\r\n let updatedMenuList: StepConfig[];\r\n\r\n if (position === \"start\") {\r\n updatedMenuList = [newStep, ...steps];\r\n } else if (position === \"end\") {\r\n updatedMenuList = [...steps, newStep];\r\n } else {\r\n const targetIndex = Math.max(0, Math.min(position, steps.length));\r\n\r\n updatedMenuList = [...steps];\r\n updatedMenuList.splice(targetIndex, 0, newStep);\r\n }\r\n\r\n return reIndex(updatedMenuList);\r\n };\r\n if (isSection) {\r\n return prev.map((step: StepConfig) => {\r\n if (step.dtoName === dtoName) {\r\n return getUpdatedMenuList(step.sections ?? [], newStep);\r\n }\r\n return step;\r\n }) as StepConfig[];\r\n }\r\n\r\n return getUpdatedMenuList(prev, newStep);\r\n\r\n}\r\n\r\nexport function removeFromStepsCallback(prev: StepConfig[], dtoName: string, isSection: boolean = false) {\r\n const filterList = (steps: StepConfig[]) => {\r\n return reIndex(steps.filter((step: StepConfig) => step.dtoName !== dtoName));\r\n };\r\n\r\n if (isSection) {\r\n return prev.map((step: StepConfig) => {\r\n if (step.dtoName === dtoName) {\r\n return filterList(step.sections ?? []);\r\n }\r\n\r\n return step;\r\n }) as StepConfig[];\r\n }\r\n\r\n return filterList(prev);\r\n}\r\nexport const getModuleNumber = (loginId: string | number) => {\r\n const timestamp = customDateObject.format('YYYYMMDDHHmmss');\r\n const randomSuffix = Math.floor(Math.random() * 100); // 2 random digits\r\n return `${loginId}${timestamp}${randomSuffix}`;\r\n}\r\n\r\n\r\n\r\n//Works for booleans, arrays, and nested objects\r\nexport const flattenValidity = (value: unknown): boolean => {\r\n if (typeof value === \"boolean\") {\r\n return value; // base case\r\n }\r\n if (Array.isArray(value)) {\r\n return value.every(flattenValidity); // check each element recursively\r\n }\r\n if (typeof value === \"object\" && value !== null) {\r\n return Object.values(value).every(flattenValidity); // check each field recursively\r\n }\r\n return false; // if unexpected type (string, number etc.)\r\n};"],"mappings":";;;;AASA,SAAgB,EACd,GACA,GACA,GACM;CACN,EAAM,KAAO;AACf;AAMA,SAAgB,EAAkB,GAAoC,GAAc;CAWlF,OAVa,EAAK,MAAM,GAEJ,CAAA,CAAK,QAAQ,GAAoC,MAC/D,KAAO,IACD,EAA4B,KAC3B,KAAQ,EAAY,aACrB,EAAY,WAAW,KACnB,GACb,CAEI;AACT;AA8JA,IAAa,KAAmB,MACxB,OAAO,KAAU,YACV,IAEP,MAAM,QAAQ,CAAK,IACZ,EAAM,MAAM,CAAe,IAElC,OAAO,KAAU,YAAY,IACtB,OAAO,OAAO,CAAK,CAAC,CAAC,MAAM,CAAe,IAE9C"}
@@ -0,0 +1,117 @@
1
+ import { FieldEnum as e } from "./index124.js";
2
+ import { customDate as t, customDateObject as n, dayConstant as r } from "./index130.js";
3
+ import i from "i18next";
4
+ import a from "dayjs";
5
+ //#region src/libs/core/utils/validateFields.ts
6
+ function o(e, t, n, r, o, g) {
7
+ let _ = o || i.t, y = t;
8
+ if (!n) return h(e, y, "", "");
9
+ if (n.customError) return h(e, t, n.customError, n.type);
10
+ let x = {
11
+ fieldName: e,
12
+ fieldLabel: b(n, e, _),
13
+ t: _
14
+ };
15
+ if (v(n.type) && y) {
16
+ let t = a(String(y), n.serverFormat, !0);
17
+ if (!t.isValid()) return h(e, y, _("validation.invalid_input", { format: n.clientFormat }), n.type);
18
+ y = t.format(n.serverFormat);
19
+ }
20
+ let S = [
21
+ c,
22
+ l,
23
+ u,
24
+ d,
25
+ f,
26
+ p,
27
+ m,
28
+ s
29
+ ];
30
+ g && S.push(g);
31
+ for (let t of S) {
32
+ let r = t(y, n, x);
33
+ if (r) return h(e, y, r, n.type);
34
+ }
35
+ return h(e, y, "", n.type);
36
+ }
37
+ var s = (e, t) => t.customValidation?.(e), c = (e, t, { t: n, fieldLabel: r }) => {
38
+ if (t.required && _(e, t.type)) return n("validation.required", { field: r });
39
+ }, l = (t, n, { t: r, fieldName: i, fieldLabel: a }) => {
40
+ if (!_(t, n.type)) {
41
+ if ((n.type === e.NUMERIC || n.type === e.TEXT && n.inputMode === "numeric") && !/^\d+$/.test(String(t))) return r("validation.is_number");
42
+ if (n.type === e.EMAIL && !/^(?!.*\.\.)[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,}$/i.test(t)) return r("strValidEmail");
43
+ if (n.type === e.MOBILE && !/^[1-9]\d{9}$/.test(t)) return r("strValidMobile");
44
+ if (n.type === e.SELECT && _(t, n.type)) return r("validation.required", { field: a });
45
+ if (["latitude", "longitude"].includes(i) && !y(t, i)) return r("strValidLatLong", { LAT_LONG: i });
46
+ }
47
+ }, u = (t, n, { t: r }) => {
48
+ let i = {
49
+ minLength: 0,
50
+ maxLength: 0,
51
+ ...n
52
+ };
53
+ if (_(t, i.type)) return;
54
+ let a = t.length, o = i.type === e.NUMERIC ? r("digits") : r("strCharacters");
55
+ if (i.minLength && a < i.minLength || i.maxLength && a > i.maxLength) return r("validation.min_max_length", {
56
+ minLength: i.minLength,
57
+ maxLength: i.length || i.maxLength,
58
+ charactersOrDigits: o
59
+ });
60
+ if (i.length && a > i.length) return r("validation.max_length", {
61
+ maxLength: i.length,
62
+ charactersOrDigits: o
63
+ });
64
+ }, d = (e, t) => {
65
+ if (t.isCheckCharacters && !/^[a-zA-Z0-9 ]+$/.test(String(e))) return "Special characters are not allowed";
66
+ }, f = (e, t, { t: n, fieldLabel: r }) => {
67
+ if (t.maxValue && +e > +t.maxValue) return n("validation.max_value", {
68
+ field: r,
69
+ maxValue: t.maxValue
70
+ });
71
+ }, p = (e, t, { t: n, fieldLabel: r }) => {
72
+ if (_(e, t.type) || !v(t.type)) return;
73
+ let i = a(String(e), t.serverFormat, !0);
74
+ if (t.minimumDate && i.isBefore(a(t.minimumDate))) return `${r} ${n("validation.greater_than", { minLength: a(t.minimumDate).format(t.clientFormat) })}`;
75
+ if (t.maximumDate && i.isAfter(a(t.maximumDate))) return `${r} ${n("validation.greater_less", { maxLength: a(t.maximumDate).format(t.clientFormat) })}`;
76
+ }, m = (e, i, { fieldLabel: a, t: o }) => {
77
+ let [s, c] = i.ageBetween || [];
78
+ if (!e) return;
79
+ let l = n, u = t(e), d = l.diff(u, r.year);
80
+ if (s !== void 0 && d < s) return `${a} ${o("validation.greater_than", { minLength: s })}`;
81
+ if (c !== void 0 && d > c) return `${a} ${o("validation.greater_less", { maxLength: c })}`;
82
+ }, h = (e, t, n, r) => ({
83
+ id: e,
84
+ value: t,
85
+ error: n,
86
+ isValid: !n,
87
+ count: t?.length || 0,
88
+ type: r
89
+ });
90
+ function g(t) {
91
+ return [
92
+ e.RADIO,
93
+ e.RADIOLIST,
94
+ e.CHECKBOX,
95
+ e.CHECKBOXLIST
96
+ ].includes(t);
97
+ }
98
+ function _(t, n) {
99
+ return n === e.FILE && Array.isArray(t) ? t.length === 0 : n === e.SELECT ? t == null || t === "" || t === -1 || typeof t == "object" && Object.keys(t).length === 0 : (g(n), t == null || t === "");
100
+ }
101
+ var v = (t) => [
102
+ e.DATE,
103
+ e.DATE_TIME,
104
+ e.TIME,
105
+ e.YEAR
106
+ ].includes(t), y = (e, t) => {
107
+ let n = Number.parseFloat(e);
108
+ return t === "latitude" ? n >= -90 && n <= 90 : n >= -180 && n <= 180;
109
+ }, b = (e, t, n) => {
110
+ if (!e?.label) return n(t);
111
+ let r = n(e.label);
112
+ return r === e.label ? e.label : r;
113
+ };
114
+ //#endregion
115
+ export { o as validateField };
116
+
117
+ //# sourceMappingURL=index132.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index132.js","names":[],"sources":["../src/libs/core/utils/validateFields.ts"],"sourcesContent":["import dayjs from 'dayjs';\r\nimport i18next, { type TFunction } from 'i18next';\r\nimport { FieldEnum } from 'libs/shared/enums/common-enums';\r\nimport type { DefaultRulesType } from 'libs/shared/types/common-types';\r\nimport type { FieldValue } from 'libs/shared/types/sharedFormActionTypes';\r\nimport { customDate, customDateObject, dayConstant } from './dateUtilities';\r\n\r\ntype Validator = (\r\n value: FieldValue,\r\n rules: DefaultRulesType,\r\n ctx: ValidationContext\r\n) => string | void;\r\n\r\ntype ValidationContext = {\r\n fieldName: string;\r\n fieldLabel: string;\r\n t: TFunction<\"translation\", undefined>;\r\n};\r\n\r\nexport interface ValidatedFieldState {\r\n id: string;\r\n value: FieldValue;\r\n error: string;\r\n isValid: boolean;\r\n count: number;\r\n type?: string;\r\n}\r\n\r\nexport function validateField(\r\n fieldName: string,\r\n fieldValue: FieldValue,\r\n rules: DefaultRulesType | undefined,\r\n _fieldId?: FieldValue,\r\n t?: TFunction<\"translation\", undefined>,\r\n customValidator?: Validator\r\n): ValidatedFieldState {\r\n const translate = t || i18next.t;\r\n\r\n let value = fieldValue;\r\n\r\n if (!rules) return buildState(\r\n fieldName,\r\n // fieldId,\r\n value,\r\n \"\",\r\n \"\"\r\n );\r\n\r\n if (rules.customError) {\r\n return buildState(fieldName, fieldValue, rules.customError, rules.type);\r\n }\r\n const ctx: ValidationContext = {\r\n fieldName,\r\n fieldLabel: getFieldLabel(\r\n rules,\r\n fieldName,\r\n translate\r\n ),\r\n t: translate,\r\n };\r\n\r\n /* ----------------------------- Date Normalize ---------------------------- */\r\n\r\n if (isCalendarField(rules.type) && value) {\r\n const parsed = dayjs(\r\n String(value),\r\n rules.serverFormat,\r\n true\r\n );\r\n\r\n if (!parsed.isValid()) {\r\n return buildState(\r\n fieldName,\r\n // fieldId,\r\n value,\r\n translate('validation.invalid_input', {\r\n format: rules.clientFormat,\r\n }),\r\n rules.type\r\n );\r\n }\r\n\r\n value = parsed.format(rules.serverFormat);\r\n }\r\n\r\n /* ------------------------------- Validators ------------------------------ */\r\n\r\n const validators: Validator[] = [\r\n requiredValidator,\r\n typeValidator,\r\n lengthValidator,\r\n characterValidator,\r\n maxValueValidator,\r\n dateRangeValidator,\r\n ageValidator,\r\n dtoCustomValidator\r\n ];\r\n\r\n if (customValidator) {\r\n validators.push(customValidator);\r\n }\r\n\r\n for (const validator of validators) {\r\n const error = validator(value, rules, ctx);\r\n\r\n if (error) {\r\n return buildState(\r\n fieldName,\r\n // fieldId,\r\n value,\r\n error,\r\n rules.type\r\n );\r\n }\r\n }\r\n\r\n return buildState(\r\n // fieldId,\r\n fieldName,\r\n value,\r\n '',\r\n rules.type\r\n );\r\n}\r\n\r\n/* -------------------------------------------------------------------------- */\r\n/* VALIDATORS */\r\n/* -------------------------------------------------------------------------- */\r\nconst dtoCustomValidator: Validator = (value, rules) => {\r\n return rules.customValidation?.(value);\r\n};\r\n\r\nconst requiredValidator: Validator = (value, rules, { t, fieldLabel }) => {\r\n if (rules.required && isEmptyFieldValue(value, rules.type)\r\n ) {\r\n return t('validation.required', {\r\n field: fieldLabel,\r\n });\r\n }\r\n};\r\n\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst typeValidator: Validator = (value, rules, { t, fieldName, fieldLabel }) => {\r\n if (isEmptyFieldValue(value, rules.type)) return;\r\n\r\n const isNumeric =\r\n rules.type === FieldEnum.NUMERIC ||\r\n (rules.type === FieldEnum.TEXT && rules.inputMode === 'numeric');\r\n\r\n if (isNumeric && !/^\\d+$/.test(String(value))) {\r\n return t('validation.is_number');\r\n }\r\n\r\n if (rules.type === FieldEnum.EMAIL && !/^(?!.*\\.\\.)[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,}$/i.test(value as string)) {\r\n return t('strValidEmail');\r\n }\r\n\r\n if (rules.type === FieldEnum.MOBILE && !/^[1-9]\\d{9}$/.test(value as string)) {\r\n return t('strValidMobile');\r\n }\r\n\r\n if (rules.type === FieldEnum.SELECT && isEmptyFieldValue(value, rules.type)) {\r\n return t('validation.required', {\r\n field: fieldLabel,\r\n });\r\n }\r\n\r\n if (['latitude', 'longitude'].includes(fieldName) &&\r\n !validateLatLong(value as string, fieldName)\r\n ) {\r\n return t('strValidLatLong', {\r\n LAT_LONG: fieldName,\r\n });\r\n }\r\n};\r\n\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst lengthValidator: Validator = (value, validation, { t }) => {\r\n const rules = {\r\n minLength: 0,\r\n maxLength: 0,\r\n ...validation\r\n }\r\n if (isEmptyFieldValue(value, rules.type)) return;\r\n\r\n const count = (value as string).length;\r\n const charactersOrDigits = rules.type === FieldEnum.NUMERIC ? t('digits') : t('strCharacters');\r\n\r\n\r\n if (rules.minLength && count < rules.minLength) {\r\n return t('validation.min_max_length', {\r\n minLength: rules.minLength,\r\n maxLength: rules.length || rules.maxLength,\r\n charactersOrDigits\r\n });\r\n }\r\n\r\n if (rules.maxLength && count > rules.maxLength) {\r\n return t('validation.min_max_length', {\r\n minLength: rules.minLength,\r\n maxLength: rules.length || rules.maxLength,\r\n charactersOrDigits\r\n });\r\n }\r\n\r\n if (rules.length && count > rules.length) {\r\n return t('validation.max_length', {\r\n maxLength: rules.length,\r\n charactersOrDigits\r\n });\r\n }\r\n};\r\n\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst characterValidator: Validator = (value, rules) => {\r\n if (\r\n rules.isCheckCharacters &&\r\n !/^[a-zA-Z0-9 ]+$/.test(String(value))\r\n ) {\r\n return 'Special characters are not allowed';\r\n }\r\n};\r\n\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst maxValueValidator: Validator = (\r\n value,\r\n rules,\r\n { t, fieldLabel }\r\n) => {\r\n if (\r\n rules.maxValue &&\r\n +value > +rules.maxValue\r\n ) {\r\n return t('validation.max_value', {\r\n field: fieldLabel, maxValue: rules.maxValue,\r\n });\r\n }\r\n};\r\n\r\n\r\nconst dateRangeValidator: Validator = (\r\n value,\r\n rules,\r\n { t, fieldLabel }\r\n) => {\r\n if (\r\n isEmptyFieldValue(value, rules.type) ||\r\n !isCalendarField(rules.type)\r\n ) {\r\n return;\r\n }\r\n\r\n const parsed = dayjs(\r\n String(value),\r\n rules.serverFormat,\r\n true\r\n );\r\n\r\n // Minimum date check\r\n if (\r\n rules.minimumDate &&\r\n parsed.isBefore(dayjs(rules.minimumDate))\r\n ) {\r\n return `${fieldLabel} ${t('validation.greater_than', {\r\n minLength: dayjs(rules.minimumDate).format(\r\n rules.clientFormat\r\n ),\r\n })}`;\r\n }\r\n\r\n // Maximum date check\r\n if (\r\n rules.maximumDate &&\r\n parsed.isAfter(dayjs(rules.maximumDate))\r\n ) {\r\n return `${fieldLabel} ${t('validation.greater_less', {\r\n maxLength: dayjs(rules.maximumDate).format(\r\n rules.clientFormat\r\n ),\r\n })}`;\r\n }\r\n};\r\n\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst ageValidator: Validator = (value, rules, { fieldLabel, t }) => {\r\n const [min, max] = rules.ageBetween || [];\r\n\r\n if (!value) return;\r\n\r\n const today = customDateObject;\r\n\r\n const birthdate = customDate(value as string);\r\n const age = today.diff(birthdate, dayConstant.year);\r\n\r\n if (min !== undefined && age < min) {\r\n return `${fieldLabel} ${t('validation.greater_than', { minLength: min, })}`;\r\n }\r\n\r\n if (max !== undefined && age > max) {\r\n return `${fieldLabel} ${t('validation.greater_less', { maxLength: max, })}`;\r\n }\r\n\r\n};\r\n\r\n/* -------------------------------------------------------------------------- */\r\n/* HELPERS */\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst buildState = (\r\n id: string,\r\n value: FieldValue,\r\n error: string,\r\n type?: string\r\n): ValidatedFieldState => ({\r\n id,\r\n value,\r\n error,\r\n isValid: !error,\r\n count: (value as string)?.length || 0,\r\n type,\r\n});\r\n\r\n/* -------------------------------------------------------------------------- */\r\nfunction isRadioOrCheckboxFieldType(type: FieldEnum): boolean {\r\n return [FieldEnum.RADIO, FieldEnum.RADIOLIST, FieldEnum.CHECKBOX, FieldEnum.CHECKBOXLIST].includes(type)\r\n}\r\n\r\nfunction isEmptyFieldValue(value: FieldValue, type: FieldEnum): boolean {\r\n if (type === FieldEnum.FILE && Array.isArray(value)) {\r\n return value.length === 0;\r\n }\r\n\r\n if (type === FieldEnum.SELECT) {\r\n if (value === null || value === undefined || value === '' || value === -1) {\r\n return true;\r\n }\r\n if (typeof value === 'object') {\r\n return Object.keys(value).length === 0;\r\n }\r\n return false\r\n }\r\n\r\n if (isRadioOrCheckboxFieldType(type))\r\n return value === undefined || value === null || value === '';\r\n \r\n return value === undefined || value === null || value === '';\r\n}\r\n\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst isCalendarField = (type: FieldEnum) => [FieldEnum.DATE, FieldEnum.DATE_TIME, FieldEnum.TIME, FieldEnum.YEAR].includes(type);\r\n\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst validateLatLong = (value: string, type: string) => {\r\n const num = Number.parseFloat(value);\r\n\r\n return type === 'latitude'\r\n ? num >= -90 && num <= 90\r\n : num >= -180 && num <= 180;\r\n};\r\n\r\n/* -------------------------------------------------------------------------- */\r\n\r\nconst getFieldLabel = (rules: DefaultRulesType | undefined, fieldName: string, t: TFunction<\"translation\", undefined>) => {\r\n if (!rules?.label) {\r\n return t(fieldName);\r\n }\r\n\r\n const translated = t(rules.label);\r\n\r\n return translated === rules.label\r\n ? rules.label\r\n : translated;\r\n};"],"mappings":"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"}