@wavemaker-ai/app-ng-runtime 12.0.0-rc.335 → 12.0.1-rc.338

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 (351) hide show
  1. package/build-task/bundles/index.umd.js +15 -16
  2. package/build-task/fesm2022/index.mjs +15 -16
  3. package/build-task/fesm2022/index.mjs.map +1 -1
  4. package/components/advanced/carousel/bundles/index.umd.js +9 -9
  5. package/components/advanced/carousel/fesm2022/index.mjs +9 -9
  6. package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  7. package/components/advanced/carousel/types/index.d.ts +7 -7
  8. package/components/advanced/custom/bundles/index.umd.js +9 -10
  9. package/components/advanced/custom/fesm2022/index.mjs +9 -10
  10. package/components/advanced/custom/fesm2022/index.mjs.map +1 -1
  11. package/components/advanced/custom/types/index.d.ts +3 -3
  12. package/components/advanced/login/bundles/index.umd.js +3 -3
  13. package/components/advanced/login/fesm2022/index.mjs +3 -3
  14. package/components/advanced/login/fesm2022/index.mjs.map +1 -1
  15. package/components/advanced/login/types/index.d.ts +1 -1
  16. package/components/advanced/marquee/bundles/index.umd.js +3 -3
  17. package/components/advanced/marquee/fesm2022/index.mjs +3 -3
  18. package/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
  19. package/components/advanced/marquee/types/index.d.ts +1 -1
  20. package/components/base/bundles/index.umd.js +40 -46
  21. package/components/base/fesm2022/index.mjs +40 -46
  22. package/components/base/fesm2022/index.mjs.map +1 -1
  23. package/components/base/types/index.d.ts +47 -46
  24. package/components/basic/anchor/bundles/index.umd.js +3 -3
  25. package/components/basic/anchor/fesm2022/index.mjs +3 -3
  26. package/components/basic/anchor/fesm2022/index.mjs.map +1 -1
  27. package/components/basic/anchor/types/index.d.ts +3 -3
  28. package/components/basic/audio/bundles/index.umd.js +3 -3
  29. package/components/basic/audio/fesm2022/index.mjs +3 -3
  30. package/components/basic/audio/fesm2022/index.mjs.map +1 -1
  31. package/components/basic/audio/types/index.d.ts +1 -1
  32. package/components/basic/html/bundles/index.umd.js +10 -11
  33. package/components/basic/html/fesm2022/index.mjs +10 -11
  34. package/components/basic/html/fesm2022/index.mjs.map +1 -1
  35. package/components/basic/html/types/index.d.ts +3 -3
  36. package/components/basic/icon/bundles/index.umd.js +3 -3
  37. package/components/basic/icon/fesm2022/index.mjs +3 -3
  38. package/components/basic/icon/fesm2022/index.mjs.map +1 -1
  39. package/components/basic/icon/types/index.d.ts +1 -1
  40. package/components/basic/iframe/bundles/index.umd.js +5 -5
  41. package/components/basic/iframe/fesm2022/index.mjs +5 -5
  42. package/components/basic/iframe/fesm2022/index.mjs.map +1 -1
  43. package/components/basic/iframe/types/index.d.ts +3 -3
  44. package/components/basic/label/bundles/index.umd.js +10 -11
  45. package/components/basic/label/fesm2022/index.mjs +10 -11
  46. package/components/basic/label/fesm2022/index.mjs.map +1 -1
  47. package/components/basic/label/types/index.d.ts +1 -1
  48. package/components/basic/picture/bundles/index.umd.js +3 -3
  49. package/components/basic/picture/fesm2022/index.mjs +3 -3
  50. package/components/basic/picture/fesm2022/index.mjs.map +1 -1
  51. package/components/basic/picture/types/index.d.ts +2 -2
  52. package/components/basic/progress/progress-bar/bundles/index.umd.js +8 -10
  53. package/components/basic/progress/progress-bar/fesm2022/index.mjs +8 -10
  54. package/components/basic/progress/progress-bar/fesm2022/index.mjs.map +1 -1
  55. package/components/basic/progress/progress-bar/types/index.d.ts +2 -2
  56. package/components/basic/progress/progress-circle/bundles/index.umd.js +3 -3
  57. package/components/basic/progress/progress-circle/fesm2022/index.mjs +3 -3
  58. package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -1
  59. package/components/basic/progress/progress-circle/types/index.d.ts +2 -2
  60. package/components/basic/rich-text-editor/bundles/index.umd.js +3 -3
  61. package/components/basic/rich-text-editor/fesm2022/index.mjs +3 -3
  62. package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  63. package/components/basic/rich-text-editor/types/index.d.ts +3 -3
  64. package/components/basic/search/bundles/index.umd.js +40 -42
  65. package/components/basic/search/fesm2022/index.mjs +40 -42
  66. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  67. package/components/basic/search/types/index.d.ts +13 -13
  68. package/components/basic/spinner/bundles/index.umd.js +3 -3
  69. package/components/basic/spinner/fesm2022/index.mjs +3 -3
  70. package/components/basic/spinner/fesm2022/index.mjs.map +1 -1
  71. package/components/basic/spinner/types/index.d.ts +3 -3
  72. package/components/basic/tree/bundles/index.umd.js +9 -9
  73. package/components/basic/tree/fesm2022/index.mjs +9 -9
  74. package/components/basic/tree/fesm2022/index.mjs.map +1 -1
  75. package/components/basic/tree/types/index.d.ts +7 -7
  76. package/components/basic/video/bundles/index.umd.js +3 -3
  77. package/components/basic/video/fesm2022/index.mjs +3 -3
  78. package/components/basic/video/fesm2022/index.mjs.map +1 -1
  79. package/components/basic/video/types/index.d.ts +2 -2
  80. package/components/chart/bundles/index.umd.js +19 -22
  81. package/components/chart/fesm2022/index.mjs +20 -23
  82. package/components/chart/fesm2022/index.mjs.map +1 -1
  83. package/components/chart/types/index.d.ts +9 -9
  84. package/components/containers/accordion/bundles/index.umd.js +10 -12
  85. package/components/containers/accordion/fesm2022/index.mjs +10 -12
  86. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  87. package/components/containers/accordion/types/index.d.ts +9 -9
  88. package/components/containers/layout-grid/bundles/index.umd.js +9 -9
  89. package/components/containers/layout-grid/fesm2022/index.mjs +9 -9
  90. package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
  91. package/components/containers/layout-grid/types/index.d.ts +4 -4
  92. package/components/containers/linear-layout/bundles/index.umd.js +6 -6
  93. package/components/containers/linear-layout/fesm2022/index.mjs +6 -6
  94. package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
  95. package/components/containers/linear-layout/types/index.d.ts +2 -2
  96. package/components/containers/panel/bundles/index.umd.js +3 -3
  97. package/components/containers/panel/fesm2022/index.mjs +3 -3
  98. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  99. package/components/containers/panel/types/index.d.ts +3 -3
  100. package/components/containers/tabs/bundles/index.umd.js +9 -9
  101. package/components/containers/tabs/fesm2022/index.mjs +9 -9
  102. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  103. package/components/containers/tabs/types/index.d.ts +8 -8
  104. package/components/containers/tile/bundles/index.umd.js +3 -3
  105. package/components/containers/tile/fesm2022/index.mjs +3 -3
  106. package/components/containers/tile/fesm2022/index.mjs.map +1 -1
  107. package/components/containers/tile/types/index.d.ts +1 -1
  108. package/components/containers/wizard/bundles/index.umd.js +18 -18
  109. package/components/containers/wizard/fesm2022/index.mjs +18 -18
  110. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  111. package/components/containers/wizard/types/index.d.ts +8 -8
  112. package/components/data/card/bundles/index.umd.js +12 -12
  113. package/components/data/card/fesm2022/index.mjs +12 -12
  114. package/components/data/card/fesm2022/index.mjs.map +1 -1
  115. package/components/data/card/types/index.d.ts +6 -6
  116. package/components/data/form/bundles/index.umd.js +72 -75
  117. package/components/data/form/fesm2022/index.mjs +72 -77
  118. package/components/data/form/fesm2022/index.mjs.map +1 -1
  119. package/components/data/form/types/index.d.ts +29 -29
  120. package/components/data/list/bundles/index.umd.js +22 -27
  121. package/components/data/list/fesm2022/index.mjs +22 -27
  122. package/components/data/list/fesm2022/index.mjs.map +1 -1
  123. package/components/data/list/types/index.d.ts +23 -23
  124. package/components/data/live-table/bundles/index.umd.js +3 -3
  125. package/components/data/live-table/fesm2022/index.mjs +3 -3
  126. package/components/data/live-table/fesm2022/index.mjs.map +1 -1
  127. package/components/data/live-table/types/index.d.ts +5 -5
  128. package/components/data/pagination/bundles/index.umd.js +27 -28
  129. package/components/data/pagination/fesm2022/index.mjs +27 -28
  130. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  131. package/components/data/pagination/types/index.d.ts +1 -1
  132. package/components/data/table/bundles/index.umd.js +131 -142
  133. package/components/data/table/fesm2022/index.mjs +131 -143
  134. package/components/data/table/fesm2022/index.mjs.map +1 -1
  135. package/components/data/table/types/index.d.ts +20 -20
  136. package/components/dialogs/alert-dialog/bundles/index.umd.js +3 -3
  137. package/components/dialogs/alert-dialog/fesm2022/index.mjs +3 -3
  138. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  139. package/components/dialogs/alert-dialog/types/index.d.ts +1 -1
  140. package/components/dialogs/confirm-dialog/bundles/index.umd.js +3 -3
  141. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +3 -3
  142. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  143. package/components/dialogs/confirm-dialog/types/index.d.ts +1 -1
  144. package/components/dialogs/default/bundles/index.umd.js +12 -12
  145. package/components/dialogs/default/fesm2022/index.mjs +12 -12
  146. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  147. package/components/dialogs/default/types/index.d.ts +3 -3
  148. package/components/dialogs/design-dialog/bundles/index.umd.js +3 -3
  149. package/components/dialogs/design-dialog/fesm2022/index.mjs +3 -3
  150. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  151. package/components/dialogs/design-dialog/types/index.d.ts +1 -1
  152. package/components/dialogs/iframe-dialog/bundles/index.umd.js +3 -3
  153. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +3 -3
  154. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  155. package/components/dialogs/iframe-dialog/types/index.d.ts +1 -1
  156. package/components/dialogs/login-dialog/bundles/index.umd.js +3 -3
  157. package/components/dialogs/login-dialog/fesm2022/index.mjs +3 -3
  158. package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
  159. package/components/dialogs/login-dialog/types/index.d.ts +2 -2
  160. package/components/dialogs/partial-dialog/bundles/index.umd.js +3 -3
  161. package/components/dialogs/partial-dialog/fesm2022/index.mjs +3 -3
  162. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  163. package/components/dialogs/partial-dialog/types/index.d.ts +1 -1
  164. package/components/input/base-form/bundles/index.umd.js +4 -4
  165. package/components/input/base-form/fesm2022/index.mjs +4 -4
  166. package/components/input/base-form/fesm2022/index.mjs.map +1 -1
  167. package/components/input/base-form-custom/bundles/index.umd.js +3 -3
  168. package/components/input/base-form-custom/fesm2022/index.mjs +3 -3
  169. package/components/input/button/bundles/index.umd.js +3 -3
  170. package/components/input/button/fesm2022/index.mjs +3 -3
  171. package/components/input/button/fesm2022/index.mjs.map +1 -1
  172. package/components/input/button/types/index.d.ts +1 -1
  173. package/components/input/button-group/bundles/index.umd.js +3 -3
  174. package/components/input/button-group/fesm2022/index.mjs +3 -3
  175. package/components/input/button-group/fesm2022/index.mjs.map +1 -1
  176. package/components/input/button-group/types/index.d.ts +1 -1
  177. package/components/input/calendar/bundles/index.umd.js +4 -4
  178. package/components/input/calendar/fesm2022/index.mjs +4 -5
  179. package/components/input/calendar/fesm2022/index.mjs.map +1 -1
  180. package/components/input/calendar/types/index.d.ts +9 -9
  181. package/components/input/caption-position/bundles/index.umd.js +5 -5
  182. package/components/input/caption-position/fesm2022/index.mjs +5 -5
  183. package/components/input/caption-position/fesm2022/index.mjs.map +1 -1
  184. package/components/input/caption-position/types/index.d.ts +4 -4
  185. package/components/input/checkbox/bundles/index.umd.js +3 -3
  186. package/components/input/checkbox/fesm2022/index.mjs +3 -3
  187. package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
  188. package/components/input/checkbox/types/index.d.ts +2 -2
  189. package/components/input/checkboxset/bundles/index.umd.js +4 -4
  190. package/components/input/checkboxset/fesm2022/index.mjs +4 -4
  191. package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
  192. package/components/input/checkboxset/types/index.d.ts +2 -2
  193. package/components/input/chips/bundles/index.umd.js +5 -5
  194. package/components/input/chips/fesm2022/index.mjs +5 -5
  195. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  196. package/components/input/chips/types/index.d.ts +14 -14
  197. package/components/input/color-picker/bundles/index.umd.js +3 -3
  198. package/components/input/color-picker/fesm2022/index.mjs +3 -3
  199. package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  200. package/components/input/color-picker/types/index.d.ts +2 -2
  201. package/components/input/composite/bundles/index.umd.js +3 -3
  202. package/components/input/composite/fesm2022/index.mjs +3 -3
  203. package/components/input/composite/fesm2022/index.mjs.map +1 -1
  204. package/components/input/composite/types/index.d.ts +1 -1
  205. package/components/input/currency/bundles/index.umd.js +3 -3
  206. package/components/input/currency/fesm2022/index.mjs +3 -3
  207. package/components/input/currency/fesm2022/index.mjs.map +1 -1
  208. package/components/input/currency/types/index.d.ts +3 -3
  209. package/components/input/dataset-aware-form/bundles/index.umd.js +7 -7
  210. package/components/input/dataset-aware-form/fesm2022/index.mjs +7 -7
  211. package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -1
  212. package/components/input/dataset-aware-form/types/index.d.ts +1 -1
  213. package/components/input/epoch/base-date-time/bundles/index.umd.js +10 -15
  214. package/components/input/epoch/base-date-time/fesm2022/index.mjs +10 -15
  215. package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -1
  216. package/components/input/epoch/base-date-time/types/index.d.ts +2 -2
  217. package/components/input/epoch/date/bundles/index.umd.js +5 -5
  218. package/components/input/epoch/date/fesm2022/index.mjs +5 -5
  219. package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
  220. package/components/input/epoch/date/types/index.d.ts +4 -4
  221. package/components/input/epoch/date-time/bundles/index.umd.js +3 -3
  222. package/components/input/epoch/date-time/fesm2022/index.mjs +3 -3
  223. package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -1
  224. package/components/input/epoch/date-time/types/index.d.ts +8 -8
  225. package/components/input/epoch/date-time-picker/bundles/index.umd.js +8 -8
  226. package/components/input/epoch/date-time-picker/fesm2022/index.mjs +8 -8
  227. package/components/input/epoch/date-time-picker/fesm2022/index.mjs.map +1 -1
  228. package/components/input/epoch/date-time-picker/types/index.d.ts +6 -7
  229. package/components/input/epoch/picker/bundles/index.umd.js +6 -6
  230. package/components/input/epoch/picker/fesm2022/index.mjs +6 -6
  231. package/components/input/epoch/picker/fesm2022/index.mjs.map +1 -1
  232. package/components/input/epoch/time/bundles/index.umd.js +4 -5
  233. package/components/input/epoch/time/fesm2022/index.mjs +5 -6
  234. package/components/input/epoch/time/fesm2022/index.mjs.map +1 -1
  235. package/components/input/epoch/time/types/index.d.ts +4 -4
  236. package/components/input/file-upload/bundles/index.umd.js +4 -4
  237. package/components/input/file-upload/fesm2022/index.mjs +4 -4
  238. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  239. package/components/input/file-upload/types/index.d.ts +5 -5
  240. package/components/input/number/bundles/index.umd.js +3 -3
  241. package/components/input/number/fesm2022/index.mjs +3 -3
  242. package/components/input/number/fesm2022/index.mjs.map +1 -1
  243. package/components/input/number/types/index.d.ts +1 -1
  244. package/components/input/radioset/bundles/index.umd.js +4 -4
  245. package/components/input/radioset/fesm2022/index.mjs +4 -4
  246. package/components/input/radioset/fesm2022/index.mjs.map +1 -1
  247. package/components/input/radioset/types/index.d.ts +2 -2
  248. package/components/input/rating/bundles/index.umd.js +9 -11
  249. package/components/input/rating/fesm2022/index.mjs +9 -11
  250. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  251. package/components/input/rating/types/index.d.ts +2 -2
  252. package/components/input/select/bundles/index.umd.js +4 -4
  253. package/components/input/select/fesm2022/index.mjs +4 -4
  254. package/components/input/select/fesm2022/index.mjs.map +1 -1
  255. package/components/input/select/types/index.d.ts +1 -1
  256. package/components/input/slider/bundles/index.umd.js +3 -3
  257. package/components/input/slider/fesm2022/index.mjs +3 -3
  258. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  259. package/components/input/slider/types/index.d.ts +1 -1
  260. package/components/input/switch/bundles/index.umd.js +3 -3
  261. package/components/input/switch/fesm2022/index.mjs +3 -3
  262. package/components/input/switch/fesm2022/index.mjs.map +1 -1
  263. package/components/input/switch/types/index.d.ts +1 -1
  264. package/components/input/text/bundles/index.umd.js +31 -35
  265. package/components/input/text/fesm2022/index.mjs +31 -35
  266. package/components/input/text/fesm2022/index.mjs.map +1 -1
  267. package/components/input/text/types/index.d.ts +12 -12
  268. package/components/input/textarea/bundles/index.umd.js +3 -3
  269. package/components/input/textarea/fesm2022/index.mjs +3 -3
  270. package/components/input/textarea/fesm2022/index.mjs.map +1 -1
  271. package/components/input/textarea/types/index.d.ts +2 -2
  272. package/components/navigation/breadcrumb/bundles/index.umd.js +3 -3
  273. package/components/navigation/breadcrumb/fesm2022/index.mjs +3 -3
  274. package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  275. package/components/navigation/breadcrumb/types/index.d.ts +4 -4
  276. package/components/navigation/menu/bundles/index.umd.js +25 -33
  277. package/components/navigation/menu/fesm2022/index.mjs +25 -33
  278. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  279. package/components/navigation/menu/types/index.d.ts +21 -21
  280. package/components/navigation/navbar/bundles/index.umd.js +3 -3
  281. package/components/navigation/navbar/fesm2022/index.mjs +3 -3
  282. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  283. package/components/navigation/navbar/types/index.d.ts +1 -1
  284. package/components/navigation/popover/bundles/index.umd.js +4 -4
  285. package/components/navigation/popover/fesm2022/index.mjs +4 -4
  286. package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  287. package/components/navigation/popover/types/index.d.ts +4 -4
  288. package/components/page/default/bundles/index.umd.js +23 -23
  289. package/components/page/default/fesm2022/index.mjs +23 -23
  290. package/components/page/default/fesm2022/index.mjs.map +1 -1
  291. package/components/page/default/types/index.d.ts +14 -14
  292. package/components/page/footer/bundles/index.umd.js +3 -3
  293. package/components/page/footer/fesm2022/index.mjs +3 -3
  294. package/components/page/footer/fesm2022/index.mjs.map +1 -1
  295. package/components/page/footer/types/index.d.ts +1 -1
  296. package/components/page/header/bundles/index.umd.js +3 -3
  297. package/components/page/header/fesm2022/index.mjs +3 -3
  298. package/components/page/header/fesm2022/index.mjs.map +1 -1
  299. package/components/page/header/types/index.d.ts +1 -1
  300. package/components/page/left-panel/bundles/index.umd.js +5 -5
  301. package/components/page/left-panel/fesm2022/index.mjs +5 -5
  302. package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  303. package/components/page/left-panel/types/index.d.ts +3 -3
  304. package/components/page/right-panel/bundles/index.umd.js +3 -3
  305. package/components/page/right-panel/fesm2022/index.mjs +3 -3
  306. package/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  307. package/components/page/right-panel/types/index.d.ts +1 -1
  308. package/components/page/top-nav/bundles/index.umd.js +3 -3
  309. package/components/page/top-nav/fesm2022/index.mjs +3 -3
  310. package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  311. package/components/page/top-nav/types/index.d.ts +1 -1
  312. package/components/prefab/bundles/index.umd.js +7 -7
  313. package/components/prefab/fesm2022/index.mjs +7 -7
  314. package/components/prefab/fesm2022/index.mjs.map +1 -1
  315. package/components/prefab/types/index.d.ts +3 -3
  316. package/core/bundles/index.umd.js +84 -89
  317. package/core/fesm2022/index.mjs +84 -89
  318. package/core/fesm2022/index.mjs.map +1 -1
  319. package/core/types/index.d.ts +11 -11
  320. package/http/bundles/index.umd.js +6 -6
  321. package/http/fesm2022/index.mjs +6 -6
  322. package/http/fesm2022/index.mjs.map +1 -1
  323. package/http/types/index.d.ts +1 -1
  324. package/npm-shrinkwrap.json +2 -2
  325. package/oAuth/bundles/index.umd.js +17 -21
  326. package/oAuth/fesm2022/index.mjs +17 -21
  327. package/oAuth/fesm2022/index.mjs.map +1 -1
  328. package/oAuth/types/index.d.ts +1 -1
  329. package/package-lock.json +2 -2
  330. package/package.json +1 -1
  331. package/runtime/base/bundles/index.umd.js +253 -275
  332. package/runtime/base/fesm2022/index.mjs +253 -275
  333. package/runtime/base/fesm2022/index.mjs.map +1 -1
  334. package/runtime/base/types/index.d.ts +90 -96
  335. package/runtime/dynamic/bundles/index.umd.js +28 -28
  336. package/runtime/dynamic/fesm2022/index.mjs +28 -28
  337. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  338. package/runtime/dynamic/types/index.d.ts +22 -22
  339. package/scripts/datatable/datatable.js +293 -271
  340. package/scripts/tree-keyboard-navigation/keyboard-navigation.js +68 -56
  341. package/security/bundles/index.umd.js +6 -6
  342. package/security/fesm2022/index.mjs +6 -6
  343. package/security/fesm2022/index.mjs.map +1 -1
  344. package/security/types/index.d.ts +5 -5
  345. package/transpiler/bundles/index.umd.js +3 -5
  346. package/transpiler/fesm2022/index.mjs +3 -5
  347. package/transpiler/fesm2022/index.mjs.map +1 -1
  348. package/variables/bundles/index.umd.js +69 -71
  349. package/variables/fesm2022/index.mjs +69 -72
  350. package/variables/fesm2022/index.mjs.map +1 -1
  351. package/variables/types/index.d.ts +9 -9
@@ -1170,7 +1170,7 @@ declare enum DEFAULT_FORMATS {
1170
1170
  }
1171
1171
 
1172
1172
  declare class EventNotifier {
1173
- private _subject;
1173
+ private readonly _subject;
1174
1174
  private _isInitialized;
1175
1175
  private _eventsBeforeInit;
1176
1176
  constructor(start?: boolean);
@@ -1487,7 +1487,7 @@ declare const $invokeWatchers: (force?: boolean, ignoreMuted?: boolean) => void;
1487
1487
  declare const $appDigest: (force?: boolean) => void;
1488
1488
 
1489
1489
  declare class IDGenerator {
1490
- private generator;
1490
+ private readonly generator;
1491
1491
  constructor(key: string);
1492
1492
  nextUid(): string;
1493
1493
  }
@@ -1787,7 +1787,7 @@ interface Scripts {
1787
1787
  }
1788
1788
  declare const ScriptStore: Scripts[];
1789
1789
  declare class ScriptLoaderService {
1790
- private http;
1790
+ private readonly http;
1791
1791
  private scripts;
1792
1792
  constructor(http: HttpClient);
1793
1793
  load(...scripts: string[]): Promise<any>;
@@ -1797,7 +1797,7 @@ declare class ScriptLoaderService {
1797
1797
  }
1798
1798
 
1799
1799
  declare class CustomPipeManager {
1800
- private customPipes;
1800
+ private readonly customPipes;
1801
1801
  setCustomPipe(key: string, value: any): void;
1802
1802
  getCustomPipe(key: string): any;
1803
1803
  hasCustomPipe(key: string): boolean;
@@ -1814,8 +1814,8 @@ declare class CustomIconsLoaderService {
1814
1814
 
1815
1815
  declare class StatePersistence {
1816
1816
  private HISTORY_HANDLER;
1817
- private HISTORY_HANDLER_TYPES;
1818
- private WIDGET_STATE_KEY;
1817
+ private readonly HISTORY_HANDLER_TYPES;
1818
+ private readonly WIDGET_STATE_KEY;
1819
1819
  /**
1820
1820
  * Sets the passed value as the History handler if it exists in the History_Handler_Types object
1821
1821
  * @param val
@@ -2114,11 +2114,11 @@ declare function getPreviewProperties(): {
2114
2114
  declare function loadPreviewFontConfig(): Promise<any>;
2115
2115
 
2116
2116
  declare class LRUCache<T> {
2117
- private maxSize;
2118
- private maxAge;
2119
- private onEvict?;
2120
- private cache;
2121
- private evictQueue;
2117
+ private readonly maxSize;
2118
+ private readonly maxAge;
2119
+ private readonly onEvict?;
2120
+ private readonly cache;
2121
+ private readonly evictQueue;
2122
2122
  private evictionIntervalId;
2123
2123
  constructor(maxSize?: number, maxAge?: number, onEvict?: ((key: string, value: T) => any));
2124
2124
  private addToEvictQueue;
@@ -90,7 +90,7 @@
90
90
  withCredentials: withCredentials
91
91
  };
92
92
  // Even if method is not expecting request body, if body is passed in request, pass it on.
93
- if (lodashEs.includes(this.nonBodyTypeMethods, options.method && options.method.toUpperCase()) && options.data === undefined) {
93
+ if (lodashEs.includes(this.nonBodyTypeMethods, options.method?.toUpperCase()) && options.data === undefined) {
94
94
  third = reqOptions;
95
95
  fourth = null;
96
96
  }
@@ -111,7 +111,7 @@
111
111
  sendCall(requestParams, variable, params) {
112
112
  return new Promise((resolve, reject) => {
113
113
  variable._observable = this.sendCallAsObservable(requestParams, params).subscribe((response) => {
114
- if (response && response.type) {
114
+ if (response?.type) {
115
115
  resolve(response);
116
116
  }
117
117
  }, (err) => {
@@ -150,7 +150,7 @@
150
150
  if (variable._observable) {
151
151
  variable._observable.unsubscribe();
152
152
  }
153
- if ($file && $file._uploadProgress) {
153
+ if ($file?._uploadProgress) {
154
154
  $file._uploadProgress.unsubscribe();
155
155
  }
156
156
  }
@@ -307,10 +307,10 @@
307
307
  // MEMORY LEAK FIX: Clear locale object
308
308
  this.localeObject = null;
309
309
  }
310
- static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0__namespace, type: HttpServiceImpl, deps: [{ token: i1__namespace.HttpClient }], target: i0__namespace.ɵɵFactoryTarget.Injectable }); }
311
- static { this.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0__namespace, type: HttpServiceImpl, providedIn: 'root' }); }
310
+ static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: HttpServiceImpl, deps: [{ token: i1__namespace.HttpClient }], target: i0__namespace.ɵɵFactoryTarget.Injectable }); }
311
+ static { this.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: HttpServiceImpl, providedIn: 'root' }); }
312
312
  }
313
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0__namespace, type: HttpServiceImpl, decorators: [{
313
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: HttpServiceImpl, decorators: [{
314
314
  type: i0.Injectable,
315
315
  args: [{
316
316
  providedIn: 'root'
@@ -73,7 +73,7 @@ class HttpServiceImpl extends AbstractHttpService {
73
73
  withCredentials: withCredentials
74
74
  };
75
75
  // Even if method is not expecting request body, if body is passed in request, pass it on.
76
- if (includes(this.nonBodyTypeMethods, options.method && options.method.toUpperCase()) && options.data === undefined) {
76
+ if (includes(this.nonBodyTypeMethods, options.method?.toUpperCase()) && options.data === undefined) {
77
77
  third = reqOptions;
78
78
  fourth = null;
79
79
  }
@@ -94,7 +94,7 @@ class HttpServiceImpl extends AbstractHttpService {
94
94
  sendCall(requestParams, variable, params) {
95
95
  return new Promise((resolve, reject) => {
96
96
  variable._observable = this.sendCallAsObservable(requestParams, params).subscribe((response) => {
97
- if (response && response.type) {
97
+ if (response?.type) {
98
98
  resolve(response);
99
99
  }
100
100
  }, (err) => {
@@ -133,7 +133,7 @@ class HttpServiceImpl extends AbstractHttpService {
133
133
  if (variable._observable) {
134
134
  variable._observable.unsubscribe();
135
135
  }
136
- if ($file && $file._uploadProgress) {
136
+ if ($file?._uploadProgress) {
137
137
  $file._uploadProgress.unsubscribe();
138
138
  }
139
139
  }
@@ -290,10 +290,10 @@ class HttpServiceImpl extends AbstractHttpService {
290
290
  // MEMORY LEAK FIX: Clear locale object
291
291
  this.localeObject = null;
292
292
  }
293
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: HttpServiceImpl, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
294
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: HttpServiceImpl, providedIn: 'root' }); }
293
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: HttpServiceImpl, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
294
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: HttpServiceImpl, providedIn: 'root' }); }
295
295
  }
296
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: HttpServiceImpl, decorators: [{
296
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: HttpServiceImpl, decorators: [{
297
297
  type: Injectable,
298
298
  args: [{
299
299
  providedIn: 'root'
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../projects/http-service/src/http.service.ts","../../../projects/http-service/src/wm-http-request.ts","../../../projects/http-service/src/wm-http-response.ts","../../../projects/http-service/src/index.ts"],"sourcesContent":["import { Injectable, OnDestroy } from '@angular/core';\nimport { HttpClient, HttpEvent, HttpHeaders, HttpParams, HttpRequest, HttpResponse } from '@angular/common/http';\n\nimport { Observable, Subject, Subscription } from 'rxjs';\n\nimport { AbstractHttpService } from '@wm/core';\nimport { HttpClientService, getErrMessage } from '@wavemaker-ai/variables';\nimport { includes, isBoolean, isFunction, isNumber } from \"lodash-es\";\n\nenum HTTP_EVENT_TYPE {\n Sent = 0,\n UploadProgress = 1,\n ResponseHeader = 2,\n DownloadProgress = 3,\n Response = 4,\n User = 5\n}\n\n@Injectable(\n {\n providedIn: 'root'\n }\n)\nexport class HttpServiceImpl extends AbstractHttpService implements HttpClientService, OnDestroy {\n nonBodyTypeMethods = ['GET', 'DELETE', 'HEAD', 'OPTIONS', 'JSONP'];\n sessionTimeoutObservable = new Subject();\n sessionTimeoutQueue = [];\n localeObject: any;\n private sessionTimeoutSubscriptions: Subscription[] = []; // MEMORY LEAK FIX: Track subscriptions\n\n constructor(private httpClient: HttpClient) {\n super();\n }\n\n /**\n * This method handles session timeout.\n * @param options\n * @param resolve\n * @param reject\n */\n handleSessionTimeout(options, subscriber401?) {\n this.sessionTimeoutQueue.push({\n requestInfo: options,\n sub401: subscriber401\n });\n this.on401();\n }\n\n /**\n * Generates a request with provided options\n * @param options, request params/options\n */\n private generateRequest(options: any) {\n let reqHeaders = new HttpHeaders(),\n reqParams = new HttpParams();\n const headers = options.headers;\n const params = options.params;\n const responseType = options.responseType;\n const withCredentials = options.withCredentials;\n\n // this header is not to be sent with non-proxy calls from service variable\n if (!options.isDirectCall) {\n reqHeaders = reqHeaders.append('X-Requested-With', 'XMLHttpRequest');\n }\n\n // headers\n if (headers) {\n Object.entries(headers).forEach(([k, v]) => {\n if (isNumber(v) || isBoolean(v)) {\n v = v.toString();\n }\n reqHeaders = reqHeaders.append(k, v as string);\n })\n }\n\n // params\n if (params) {\n Object.entries(params).forEach(([k, v]) => reqParams = reqParams.append(k, v as string));\n }\n\n let third, fourth;\n const reqOptions = {\n headers: reqHeaders,\n params: reqParams,\n responseType: responseType,\n withCredentials: withCredentials\n };\n // Even if method is not expecting request body, if body is passed in request, pass it on.\n if (includes(this.nonBodyTypeMethods, options.method && options.method.toUpperCase()) && options.data === undefined) {\n third = reqOptions;\n fourth = null;\n } else {\n third = options.data;\n fourth = reqOptions;\n }\n return new HttpRequest(options.method, options.url, third, fourth);\n }\n\n\n /**\n * Make a http call and returns an observable that can be cancelled\n * @param options, options using which the call needs to be made\n */\n sendCallAsObservable(options: any, params?: any): any {\n const req = this.generateRequest(options);\n return this.httpClient.request(req);\n }\n\n sendCall(requestParams, variable, params?) {\n return new Promise((resolve, reject) => {\n variable._observable = this.sendCallAsObservable(requestParams, params).subscribe((response: any) => {\n if (response && response.type) {\n resolve(response);\n }\n }, (err: any) => {\n reject(err);\n });\n });\n }\n\n /**\n * Makes a http call and return a promise\n * @param options, options using which the call needs to be made\n */\n send(options: any) {\n const req = this.generateRequest(options);\n\n return new Promise((resolve, reject) => {\n this.httpClient.request(req).toPromise().then((response) => {\n resolve(response);\n }, (err) => {\n if (this.isPlatformSessionTimeout(err)) {\n err._401Subscriber.asObservable().subscribe((response) => {\n resolve(response);\n }, (e) => {\n reject(e);\n });\n } else {\n const errMsg = getErrMessage(err, this.getLocale());\n reject({\n error: errMsg,\n details: err\n });\n }\n });\n });\n }\n\n cancel(variable, $file?) {\n if (variable._observable) {\n variable._observable.unsubscribe();\n }\n if ($file && $file._uploadProgress) {\n $file._uploadProgress.unsubscribe();\n }\n }\n\n setLocale(locale) {\n this.localeObject = locale;\n }\n\n getLocale() {\n return this.localeObject;\n }\n\n getHeader(error, headerKey) {\n return error.headers.get(headerKey);\n }\n\n isPlatformSessionTimeout(error) {\n const MSG_SESSION_NOT_FOUND = 'Session Not Found';\n return error.status === 401 && this.getHeader(error, 'x-wm-login-errormessage') === MSG_SESSION_NOT_FOUND;\n }\n\n get(url: string, options?: any) {\n options = options || {};\n options.url = url;\n options.method = 'get';\n return this.send(options).then((response: HttpResponse<string>) => response.body);\n }\n\n post(url, data, options) {\n options = options || {};\n options.url = url;\n options.method = 'post';\n options.data = data;\n return this.send(options);\n }\n\n put(url, data, options) {\n options = options || {};\n options.url = url;\n options.method = 'put';\n options.data = data;\n return this.send(options);\n }\n\n patch(url, data, options) {\n options = options || {};\n options.url = url;\n options.method = 'patch';\n options.data = data;\n return this.send(options);\n }\n\n delete(url, options) {\n options = options || {};\n options.url = url;\n options.method = 'delete';\n return this.send(options);\n }\n\n head(url, options) {\n options = options || {};\n options.url = url;\n options.method = 'head';\n return this.send(options);\n }\n\n jsonp(url, options) {\n options = options || {};\n options.url = url;\n options.method = 'jsonp';\n return this.send(options);\n }\n\n upload(url, data, options): Observable<HttpEvent<any>> {\n const req = new HttpRequest('POST', url, data, {\n reportProgress: true // for progress data\n });\n return this.httpClient.request(req);\n // return this.httpClient.post(url, data, {\n // reportProgress: true\n // });\n }\n\n uploadFile(url, data, variable, options?) {\n return new Promise((resolve, reject) => {\n variable.request = this.upload(url, data, options).subscribe((event: any) => {\n if (event.type === HTTP_EVENT_TYPE.UploadProgress) {\n const uploadProgress = Math.round(100 * event.loaded / event.total);\n options.notify(uploadProgress);\n }\n\n if (event.type === HTTP_EVENT_TYPE.Response) {\n resolve(event.body);\n }\n }, error => {\n reject(error);\n });\n });\n }\n /**\n * registers a callback to be trigerred on session timeout\n * @param callback\n * @returns unsubscribe function\n */\n registerOnSessionTimeout(callback) {\n // MEMORY LEAK FIX: Store subscription reference for cleanup\n const subscription = this.sessionTimeoutObservable.asObservable().subscribe(callback);\n this.sessionTimeoutSubscriptions.push(subscription);\n // Return unsubscribe function so caller can clean up if needed\n return () => {\n subscription.unsubscribe();\n const index = this.sessionTimeoutSubscriptions.indexOf(subscription);\n if (index > -1) {\n this.sessionTimeoutSubscriptions.splice(index, 1);\n }\n };\n }\n\n /**\n * trigger the registered methods on session timeout\n */\n on401() {\n this.sessionTimeoutObservable.next(undefined);\n }\n\n pushToSessionFailureQueue(callback) {\n this.sessionTimeoutQueue.push({\n callback: callback\n });\n }\n\n /**\n * Execute queued requests, failed due to session timeout\n */\n executeSessionFailureRequests() {\n const queue = this.sessionTimeoutQueue;\n const that = this;\n that.sessionTimeoutQueue = [];\n queue.forEach(data => {\n if (isFunction(data.callback)) {\n data.callback();\n } else {\n data.requestInfo.headers.headers.delete('x-wm-xsrf-token');\n that.httpClient.request(data.requestInfo)\n .subscribe(\n response => {\n if (response && response.type && data.sub401) {\n data.sub401.next(response);\n }\n }, (reason) => {\n data.sub401.error(reason);\n });\n }\n });\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Unsubscribe from all session timeout subscriptions\n this.sessionTimeoutSubscriptions.forEach(sub => {\n if (sub && !sub.closed) {\n sub.unsubscribe();\n }\n });\n this.sessionTimeoutSubscriptions = [];\n\n // MEMORY LEAK FIX: Complete Subject to release subscriptions\n if (this.sessionTimeoutObservable) {\n this.sessionTimeoutObservable.complete();\n this.sessionTimeoutObservable = null;\n }\n\n // MEMORY LEAK FIX: Clear session timeout queue\n this.sessionTimeoutQueue = [];\n\n // MEMORY LEAK FIX: Clear locale object\n this.localeObject = null;\n }\n}\n","import { HttpRequest } from '@angular/common/http';\n\n/**\n * This class creates a custom WmHttpRequest.\n */\nexport class WmHttpRequest {\n\n method: string;\n url: string;\n headers: any = [];\n responseType: string;\n reportProgress: boolean;\n withCredentials: boolean;\n urlWithParams: string;\n body: any;\n\n constructor() {}\n\n /**\n * This method converts the given wm HttpRequest to angular HttpRequest\n * @param reqObj, the wm HttpRequest\n */\n wmToAngularRequest(reqObj) {\n let angReq;\n angReq = new HttpRequest(reqObj.method, reqObj.url);\n angReq = angReq.clone();\n angReq.body = reqObj.body;\n angReq.method = reqObj.method;\n angReq.responseType = reqObj.responseType;\n angReq.reportProgress = reqObj.reportProgress;\n angReq.urlWithParams = reqObj.url;\n angReq.withCredentials = reqObj.withCredentials;\n reqObj.headers.forEach((value, header) => {\n angReq.headers = angReq.headers.append(header, value);\n });\n return angReq;\n }\n\n /**\n * This method converts the given angular HttpRequest to wm HttpRequest\n * @param req, the angular HttpRequest\n */\n angularToWmRequest(req) {\n let wmReq = new WmHttpRequest();\n let headerMap = new Map();\n wmReq.body = req.body;\n wmReq.method = req.method;\n wmReq.responseType = req.responseType;\n wmReq.reportProgress = req.reportProgress;\n wmReq.url = req.urlWithParams;\n wmReq.withCredentials = req.withCredentials;\n req.headers.keys().forEach((header) => {\n headerMap.set(header, req.headers.headers.get(header.toLowerCase())[0]);\n });\n wmReq.headers = headerMap;\n return wmReq;\n }\n}\n","import { WmHttpRequest } from './wm-http-request';\nimport { HttpResponse } from '@angular/common/http';\n\n/**\n * This class creates a custom WmHttpRequest.\n */\nexport class WmHttpResponse extends WmHttpRequest{\n\n error: any;\n message: string;\n ok: boolean;\n status: number;\n statusText: string;\n\n constructor() {\n super();\n }\n\n /**\n * This method converts the given wm HttpResponse to angular HttpResponse\n * @param respObj, the wm HttpResponse\n */\n wmToAngularResponse(respObj) {\n let angResp;\n angResp = new HttpResponse();\n angResp = angResp.clone();\n angResp.body = respObj.body;\n angResp.error = respObj.error;\n angResp.message = respObj.message;\n angResp.url = respObj.url;\n angResp.ok = respObj.ok;\n angResp.status = respObj.status;\n angResp.statusText = respObj.statusText;\n respObj.headers.forEach((value, header)=>{\n angResp.headers = angResp.headers.append(header, value);\n });\n return angResp;\n }\n\n /**\n * This method converts the given wm HttpResponse to angular HttpResponse\n * @param respObj, the angular HttpResponse\n */\n angularToWmResponse(respObj) {\n let wmResp;\n let headerMap = new Map();\n wmResp = new WmHttpResponse();\n wmResp.body = respObj.body;\n wmResp.error = respObj.error;\n wmResp.message = respObj.message;\n wmResp.url = respObj.url;\n wmResp.ok = respObj.ok;\n wmResp.status = respObj.status;\n wmResp.statusText = respObj.statusText;\n respObj.headers.keys().forEach((header) => {\n headerMap.set(header, respObj.headers.headers.get(header.toLowerCase())[0]);\n });\n wmResp.headers = headerMap;\n return wmResp;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../projects/http-service/src/http.service.ts","../../../projects/http-service/src/wm-http-request.ts","../../../projects/http-service/src/wm-http-response.ts","../../../projects/http-service/src/index.ts"],"sourcesContent":["import { Injectable, OnDestroy } from '@angular/core';\nimport { HttpClient, HttpEvent, HttpHeaders, HttpParams, HttpRequest, HttpResponse } from '@angular/common/http';\n\nimport { Observable, Subject, Subscription } from 'rxjs';\n\nimport { AbstractHttpService } from '@wm/core';\nimport { HttpClientService, getErrMessage } from '@wavemaker-ai/variables';\nimport { includes, isBoolean, isFunction, isNumber } from \"lodash-es\";\n\nenum HTTP_EVENT_TYPE {\n Sent = 0,\n UploadProgress = 1,\n ResponseHeader = 2,\n DownloadProgress = 3,\n Response = 4,\n User = 5\n}\n\n@Injectable(\n {\n providedIn: 'root'\n }\n)\nexport class HttpServiceImpl extends AbstractHttpService implements HttpClientService, OnDestroy {\n nonBodyTypeMethods = ['GET', 'DELETE', 'HEAD', 'OPTIONS', 'JSONP'];\n sessionTimeoutObservable = new Subject();\n sessionTimeoutQueue = [];\n localeObject: any;\n private sessionTimeoutSubscriptions: Subscription[] = []; // MEMORY LEAK FIX: Track subscriptions\n\n constructor(private readonly httpClient: HttpClient) {\n super();\n }\n\n /**\n * This method handles session timeout.\n * @param options\n * @param resolve\n * @param reject\n */\n handleSessionTimeout(options, subscriber401?) {\n this.sessionTimeoutQueue.push({\n requestInfo: options,\n sub401: subscriber401\n });\n this.on401();\n }\n\n /**\n * Generates a request with provided options\n * @param options, request params/options\n */\n private generateRequest(options: any) {\n let reqHeaders = new HttpHeaders(),\n reqParams = new HttpParams();\n const headers = options.headers;\n const params = options.params;\n const responseType = options.responseType;\n const withCredentials = options.withCredentials;\n\n // this header is not to be sent with non-proxy calls from service variable\n if (!options.isDirectCall) {\n reqHeaders = reqHeaders.append('X-Requested-With', 'XMLHttpRequest');\n }\n\n // headers\n if (headers) {\n Object.entries(headers).forEach(([k, v]) => {\n if (isNumber(v) || isBoolean(v)) {\n v = v.toString();\n }\n reqHeaders = reqHeaders.append(k, v as string);\n })\n }\n\n // params\n if (params) {\n Object.entries(params).forEach(([k, v]) => reqParams = reqParams.append(k, v as string));\n }\n\n let third, fourth;\n const reqOptions = {\n headers: reqHeaders,\n params: reqParams,\n responseType: responseType,\n withCredentials: withCredentials\n };\n // Even if method is not expecting request body, if body is passed in request, pass it on.\n if (includes(this.nonBodyTypeMethods, options.method?.toUpperCase()) && options.data === undefined) {\n third = reqOptions;\n fourth = null;\n } else {\n third = options.data;\n fourth = reqOptions;\n }\n return new HttpRequest(options.method, options.url, third, fourth);\n }\n\n\n /**\n * Make a http call and returns an observable that can be cancelled\n * @param options, options using which the call needs to be made\n */\n sendCallAsObservable(options: any, params?: any): any {\n const req = this.generateRequest(options);\n return this.httpClient.request(req);\n }\n\n sendCall(requestParams, variable, params?) {\n return new Promise((resolve, reject) => {\n variable._observable = this.sendCallAsObservable(requestParams, params).subscribe((response: any) => {\n if (response?.type) {\n resolve(response);\n }\n }, (err: any) => {\n reject(err);\n });\n });\n }\n\n /**\n * Makes a http call and return a promise\n * @param options, options using which the call needs to be made\n */\n send(options: any) {\n const req = this.generateRequest(options);\n\n return new Promise((resolve, reject) => {\n this.httpClient.request(req).toPromise().then((response) => {\n resolve(response);\n }, (err) => {\n if (this.isPlatformSessionTimeout(err)) {\n err._401Subscriber.asObservable().subscribe((response) => {\n resolve(response);\n }, (e) => {\n reject(e);\n });\n } else {\n const errMsg = getErrMessage(err, this.getLocale());\n reject({\n error: errMsg,\n details: err\n });\n }\n });\n });\n }\n\n cancel(variable, $file?) {\n if (variable._observable) {\n variable._observable.unsubscribe();\n }\n if ($file?._uploadProgress) {\n $file._uploadProgress.unsubscribe();\n }\n }\n\n setLocale(locale) {\n this.localeObject = locale;\n }\n\n getLocale() {\n return this.localeObject;\n }\n\n getHeader(error, headerKey) {\n return error.headers.get(headerKey);\n }\n\n isPlatformSessionTimeout(error) {\n const MSG_SESSION_NOT_FOUND = 'Session Not Found';\n return error.status === 401 && this.getHeader(error, 'x-wm-login-errormessage') === MSG_SESSION_NOT_FOUND;\n }\n\n get(url: string, options?: any) {\n options = options || {};\n options.url = url;\n options.method = 'get';\n return this.send(options).then((response: HttpResponse<string>) => response.body);\n }\n\n post(url, data, options) {\n options = options || {};\n options.url = url;\n options.method = 'post';\n options.data = data;\n return this.send(options);\n }\n\n put(url, data, options) {\n options = options || {};\n options.url = url;\n options.method = 'put';\n options.data = data;\n return this.send(options);\n }\n\n patch(url, data, options) {\n options = options || {};\n options.url = url;\n options.method = 'patch';\n options.data = data;\n return this.send(options);\n }\n\n delete(url, options) {\n options = options || {};\n options.url = url;\n options.method = 'delete';\n return this.send(options);\n }\n\n head(url, options) {\n options = options || {};\n options.url = url;\n options.method = 'head';\n return this.send(options);\n }\n\n jsonp(url, options) {\n options = options || {};\n options.url = url;\n options.method = 'jsonp';\n return this.send(options);\n }\n\n upload(url, data, options): Observable<HttpEvent<any>> {\n const req = new HttpRequest('POST', url, data, {\n reportProgress: true // for progress data\n });\n return this.httpClient.request(req);\n // return this.httpClient.post(url, data, {\n // reportProgress: true\n // });\n }\n\n uploadFile(url, data, variable, options?) {\n return new Promise((resolve, reject) => {\n variable.request = this.upload(url, data, options).subscribe((event: any) => {\n if (event.type === HTTP_EVENT_TYPE.UploadProgress) {\n const uploadProgress = Math.round(100 * event.loaded / event.total);\n options.notify(uploadProgress);\n }\n\n if (event.type === HTTP_EVENT_TYPE.Response) {\n resolve(event.body);\n }\n }, error => {\n reject(error);\n });\n });\n }\n /**\n * registers a callback to be trigerred on session timeout\n * @param callback\n * @returns unsubscribe function\n */\n registerOnSessionTimeout(callback) {\n // MEMORY LEAK FIX: Store subscription reference for cleanup\n const subscription = this.sessionTimeoutObservable.asObservable().subscribe(callback);\n this.sessionTimeoutSubscriptions.push(subscription);\n // Return unsubscribe function so caller can clean up if needed\n return () => {\n subscription.unsubscribe();\n const index = this.sessionTimeoutSubscriptions.indexOf(subscription);\n if (index > -1) {\n this.sessionTimeoutSubscriptions.splice(index, 1);\n }\n };\n }\n\n /**\n * trigger the registered methods on session timeout\n */\n on401() {\n this.sessionTimeoutObservable.next(undefined);\n }\n\n pushToSessionFailureQueue(callback) {\n this.sessionTimeoutQueue.push({\n callback: callback\n });\n }\n\n /**\n * Execute queued requests, failed due to session timeout\n */\n executeSessionFailureRequests() {\n const queue = this.sessionTimeoutQueue;\n const that = this;\n that.sessionTimeoutQueue = [];\n queue.forEach(data => {\n if (isFunction(data.callback)) {\n data.callback();\n } else {\n data.requestInfo.headers.headers.delete('x-wm-xsrf-token');\n that.httpClient.request(data.requestInfo)\n .subscribe(\n response => {\n if (response && response.type && data.sub401) {\n data.sub401.next(response);\n }\n }, (reason) => {\n data.sub401.error(reason);\n });\n }\n });\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Unsubscribe from all session timeout subscriptions\n this.sessionTimeoutSubscriptions.forEach(sub => {\n if (sub && !sub.closed) {\n sub.unsubscribe();\n }\n });\n this.sessionTimeoutSubscriptions = [];\n\n // MEMORY LEAK FIX: Complete Subject to release subscriptions\n if (this.sessionTimeoutObservable) {\n this.sessionTimeoutObservable.complete();\n this.sessionTimeoutObservable = null;\n }\n\n // MEMORY LEAK FIX: Clear session timeout queue\n this.sessionTimeoutQueue = [];\n\n // MEMORY LEAK FIX: Clear locale object\n this.localeObject = null;\n }\n}\n","import { HttpRequest } from '@angular/common/http';\n\n/**\n * This class creates a custom WmHttpRequest.\n */\nexport class WmHttpRequest {\n\n method: string;\n url: string;\n headers: any = [];\n responseType: string;\n reportProgress: boolean;\n withCredentials: boolean;\n urlWithParams: string;\n body: any;\n\n constructor() {}\n\n /**\n * This method converts the given wm HttpRequest to angular HttpRequest\n * @param reqObj, the wm HttpRequest\n */\n wmToAngularRequest(reqObj) {\n let angReq;\n angReq = new HttpRequest(reqObj.method, reqObj.url);\n angReq = angReq.clone();\n angReq.body = reqObj.body;\n angReq.method = reqObj.method;\n angReq.responseType = reqObj.responseType;\n angReq.reportProgress = reqObj.reportProgress;\n angReq.urlWithParams = reqObj.url;\n angReq.withCredentials = reqObj.withCredentials;\n reqObj.headers.forEach((value, header) => {\n angReq.headers = angReq.headers.append(header, value);\n });\n return angReq;\n }\n\n /**\n * This method converts the given angular HttpRequest to wm HttpRequest\n * @param req, the angular HttpRequest\n */\n angularToWmRequest(req) {\n let wmReq = new WmHttpRequest();\n let headerMap = new Map();\n wmReq.body = req.body;\n wmReq.method = req.method;\n wmReq.responseType = req.responseType;\n wmReq.reportProgress = req.reportProgress;\n wmReq.url = req.urlWithParams;\n wmReq.withCredentials = req.withCredentials;\n req.headers.keys().forEach((header) => {\n headerMap.set(header, req.headers.headers.get(header.toLowerCase())[0]);\n });\n wmReq.headers = headerMap;\n return wmReq;\n }\n}\n","import { WmHttpRequest } from './wm-http-request';\nimport { HttpResponse } from '@angular/common/http';\n\n/**\n * This class creates a custom WmHttpRequest.\n */\nexport class WmHttpResponse extends WmHttpRequest{\n\n error: any;\n message: string;\n ok: boolean;\n status: number;\n statusText: string;\n\n constructor() {\n super();\n }\n\n /**\n * This method converts the given wm HttpResponse to angular HttpResponse\n * @param respObj, the wm HttpResponse\n */\n wmToAngularResponse(respObj) {\n let angResp;\n angResp = new HttpResponse();\n angResp = angResp.clone();\n angResp.body = respObj.body;\n angResp.error = respObj.error;\n angResp.message = respObj.message;\n angResp.url = respObj.url;\n angResp.ok = respObj.ok;\n angResp.status = respObj.status;\n angResp.statusText = respObj.statusText;\n respObj.headers.forEach((value, header)=>{\n angResp.headers = angResp.headers.append(header, value);\n });\n return angResp;\n }\n\n /**\n * This method converts the given wm HttpResponse to angular HttpResponse\n * @param respObj, the angular HttpResponse\n */\n angularToWmResponse(respObj) {\n let wmResp;\n let headerMap = new Map();\n wmResp = new WmHttpResponse();\n wmResp.body = respObj.body;\n wmResp.error = respObj.error;\n wmResp.message = respObj.message;\n wmResp.url = respObj.url;\n wmResp.ok = respObj.ok;\n wmResp.status = respObj.status;\n wmResp.statusText = respObj.statusText;\n respObj.headers.keys().forEach((header) => {\n headerMap.set(header, respObj.headers.headers.get(header.toLowerCase())[0]);\n });\n wmResp.headers = headerMap;\n return wmResp;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { AbstractHttpService } from '@wm/core';
6
6
  import { HttpClientService } from '@wavemaker-ai/variables';
7
7
 
8
8
  declare class HttpServiceImpl extends AbstractHttpService implements HttpClientService, OnDestroy {
9
- private httpClient;
9
+ private readonly httpClient;
10
10
  nonBodyTypeMethods: string[];
11
11
  sessionTimeoutObservable: Subject<unknown>;
12
12
  sessionTimeoutQueue: any[];
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@wavemaker-ai/app-ng-runtime",
3
- "version": "12.0.0-rc.335",
3
+ "version": "12.0.1-rc.338",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@wavemaker-ai/app-ng-runtime",
9
- "version": "12.0.0-rc.335",
9
+ "version": "12.0.1-rc.338",
10
10
  "license": "MIT",
11
11
  "engines": {
12
12
  "node": ">=18.16.1",
@@ -204,13 +204,11 @@
204
204
  if (!oAuthWindow.closed) { // .closed is supported across major browser vendors however for IE the user has to enable protected mode from security options
205
205
  setTimeout(checkForWindowExistence.bind(undefined, oAuthWindow, provider, callback, providerInfo), 3000);
206
206
  }
207
- else {
208
- if (!isPassedFlow(providerInfo, pkceIdentifier)) {
209
- window.removeEventListener('message', listeners[provider]);
210
- delete listeners[provider];
211
- if (callback) {
212
- callback('error');
213
- }
207
+ else if (!isPassedFlow(providerInfo, pkceIdentifier)) {
208
+ window.removeEventListener('message', listeners[provider]);
209
+ delete listeners[provider];
210
+ if (callback) {
211
+ callback('error');
214
212
  }
215
213
  }
216
214
  }
@@ -427,18 +425,16 @@
427
425
  postGetAuthorizationURL(url, providerId, onSuccess, removeProviderConfigCallBack, securityObj, requestSourceType, http);
428
426
  }
429
427
  }
428
+ else if (isPassedFlow(securityObj, implicitIdentifier) || isPassedFlow(securityObj, pkceIdentifier)) {
429
+ triggerProviderConfigCallBack(url, providerId, onSuccess, onError, http, addProviderConfigCallBack, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL);
430
+ }
430
431
  else {
431
- if (isPassedFlow(securityObj, implicitIdentifier) || isPassedFlow(securityObj, pkceIdentifier)) {
432
- triggerProviderConfigCallBack(url, providerId, onSuccess, onError, http, addProviderConfigCallBack, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL);
433
- }
434
- else {
435
- return getAuthorizationUrl({
436
- 'providerId': providerId,
437
- 'requestSourceType': requestSourceType
438
- }, http).then((response) => {
439
- triggerProviderConfigCallBack(response, providerId, onSuccess, onError, http, addProviderConfigCallBack, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL);
440
- });
441
- }
432
+ return getAuthorizationUrl({
433
+ 'providerId': providerId,
434
+ 'requestSourceType': requestSourceType
435
+ }, http).then((response) => {
436
+ triggerProviderConfigCallBack(response, providerId, onSuccess, onError, http, addProviderConfigCallBack, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL);
437
+ });
442
438
  }
443
439
  };
444
440
 
@@ -479,10 +475,10 @@
479
475
  // MEMORY LEAK FIX: Clear providers config array
480
476
  this.providersConfig = [];
481
477
  }
482
- static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0__namespace, type: OAuthService, deps: [{ token: i1__namespace.AbstractHttpService }], target: i0__namespace.ɵɵFactoryTarget.Injectable }); }
483
- static { this.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0__namespace, type: OAuthService }); }
478
+ static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: OAuthService, deps: [{ token: i1__namespace.AbstractHttpService }], target: i0__namespace.ɵɵFactoryTarget.Injectable }); }
479
+ static { this.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: OAuthService }); }
484
480
  }
485
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0__namespace, type: OAuthService, decorators: [{
481
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0__namespace, type: OAuthService, decorators: [{
486
482
  type: i0.Injectable
487
483
  }], ctorParameters: () => [{ type: i1__namespace.AbstractHttpService }] });
488
484
 
@@ -186,13 +186,11 @@ function checkForWindowExistence(oAuthWindow, provider, callback, providerInfo)
186
186
  if (!oAuthWindow.closed) { // .closed is supported across major browser vendors however for IE the user has to enable protected mode from security options
187
187
  setTimeout(checkForWindowExistence.bind(undefined, oAuthWindow, provider, callback, providerInfo), 3000);
188
188
  }
189
- else {
190
- if (!isPassedFlow(providerInfo, pkceIdentifier)) {
191
- window.removeEventListener('message', listeners[provider]);
192
- delete listeners[provider];
193
- if (callback) {
194
- callback('error');
195
- }
189
+ else if (!isPassedFlow(providerInfo, pkceIdentifier)) {
190
+ window.removeEventListener('message', listeners[provider]);
191
+ delete listeners[provider];
192
+ if (callback) {
193
+ callback('error');
196
194
  }
197
195
  }
198
196
  }
@@ -411,18 +409,16 @@ const performAuthorization = (url, providerId, onSuccess, onError, http, addProv
411
409
  postGetAuthorizationURL(url, providerId, onSuccess, removeProviderConfigCallBack, securityObj, requestSourceType, http);
412
410
  }
413
411
  }
412
+ else if (isPassedFlow(securityObj, implicitIdentifier) || isPassedFlow(securityObj, pkceIdentifier)) {
413
+ triggerProviderConfigCallBack(url, providerId, onSuccess, onError, http, addProviderConfigCallBack, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL);
414
+ }
414
415
  else {
415
- if (isPassedFlow(securityObj, implicitIdentifier) || isPassedFlow(securityObj, pkceIdentifier)) {
416
- triggerProviderConfigCallBack(url, providerId, onSuccess, onError, http, addProviderConfigCallBack, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL);
417
- }
418
- else {
419
- return getAuthorizationUrl({
420
- 'providerId': providerId,
421
- 'requestSourceType': requestSourceType
422
- }, http).then((response) => {
423
- triggerProviderConfigCallBack(response, providerId, onSuccess, onError, http, addProviderConfigCallBack, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL);
424
- });
425
- }
416
+ return getAuthorizationUrl({
417
+ 'providerId': providerId,
418
+ 'requestSourceType': requestSourceType
419
+ }, http).then((response) => {
420
+ triggerProviderConfigCallBack(response, providerId, onSuccess, onError, http, addProviderConfigCallBack, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL);
421
+ });
426
422
  }
427
423
  };
428
424
 
@@ -463,10 +459,10 @@ class OAuthService {
463
459
  // MEMORY LEAK FIX: Clear providers config array
464
460
  this.providersConfig = [];
465
461
  }
466
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: OAuthService, deps: [{ token: i1.AbstractHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
467
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: OAuthService }); }
462
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: OAuthService, deps: [{ token: i1.AbstractHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
463
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: OAuthService }); }
468
464
  }
469
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: OAuthService, decorators: [{
465
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: OAuthService, decorators: [{
470
466
  type: Injectable
471
467
  }], ctorParameters: () => [{ type: i1.AbstractHttpService }] });
472
468
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../projects/oAuth/src/oAuth.utils.ts","../../../projects/oAuth/src/oAuth.service.ts","../../../projects/oAuth/src/index.ts"],"sourcesContent":["import { _WM_APP_PROJECT, isIE, getWmProjectProperties } from '@wm/core';\nimport {get, isUndefined} from \"lodash-es\";\n\nimport * as momentLib from 'moment';\nconst moment = momentLib.default || window['moment'];\ndeclare const jsSHA;\n\nconst accessTokenSuffix = '.access_token', pkceIdentifier = 'pkce', implicitIdentifier = 'implicit';\n\nlet code_verifier, redirectUri;\n\nexport const parseConfig = (serviceParams: any): any => {\n\n let val, param, config;\n const urlParams = serviceParams.urlParams;\n\n config = {\n url: 'services/oauth2/:providerId/authorizationUrl',\n method: 'GET'\n };\n\n /*To handle dynamic urls, append the serviceParams.config.url with the static url(i.e., config.url)*/\n if (serviceParams.config) {\n config.url = (serviceParams.config.url || '') + config.url;\n config.method = serviceParams.config.method || config.method;\n config.headers = config.headers || {};\n\n // TODO[Shubham] - change to for - of\n for (const key in serviceParams.config.headers) {\n val = serviceParams.config.headers[key];\n config.headers[key] = val;\n }\n }\n /* check for url parameters to replace the url */\n if (urlParams) {\n for (param in urlParams) {\n if (urlParams.hasOwnProperty(param)) {\n val = urlParams[param];\n if (!isUndefined(val) && val !== null) {\n config.url = config.url.replace(new RegExp(':' + param, 'g'), val);\n }\n }\n }\n }\n\n /* check for data */\n if (serviceParams.params) {\n config.params = serviceParams.params;\n }\n /* check for data */\n if (!isUndefined(serviceParams.data)) {\n config.data = serviceParams.data;\n }\n /* check for data parameters, written to support old service calls (.json calls) */\n if (serviceParams.dataParams) {\n config.data.params = serviceParams.dataParams;\n }\n /* check for headers */\n if (serviceParams.headers) {\n config.headers = serviceParams.headers;\n }\n\n /* set extra config flags */\n config.byPassResult = serviceParams.byPassResult;\n config.isDirectCall = serviceParams.isDirectCall;\n config.isExtURL = serviceParams.isExtURL;\n config.preventMultiple = serviceParams.preventMultiple;\n config.responseType = serviceParams.responseType;\n\n return config;\n};\n\nconst listeners = {},\n ACCESSTOKEN_PLACEHOLDERS = {\n 'STUDIO': 'WM_STUDIO_',\n 'RUN': 'WM_RUN_'\n },\n newWindowProps = 'width=400,height=600';\n\n/**\n * This function remove the accessToken for a provider\n * @param provider\n */\nexport const removeAccessToken = (provider) => {\n const accessTokenKey = getAccessTokenPlaceholder(provider);\n localStorage.removeItem(accessTokenKey);\n};\n\n/**\n * This function returns the accesstoken placeholder based on the studio or run mode for the project\n * @param provider\n * @returns {*}\n */\nfunction getAccessTokenPlaceholder(provider) {\n let accessTokenKey;\n accessTokenKey = ACCESSTOKEN_PLACEHOLDERS.RUN + _WM_APP_PROJECT.id + '_' + provider + accessTokenSuffix;\n return accessTokenKey;\n}\n\n/**\n * This function performs the fake local storage update, so the IE gets the latest token instead of returning the cached localStorageValue\n */\nfunction performFakeLocalStorageUpdate() {\n const dummy_key = 'dummy_key';\n localStorage.setItem(dummy_key, dummy_key);\n localStorage.removeItem(dummy_key);\n}\n\n/**\n * This function sets the accessToken\n * @param provider\n * @param accesstoken\n */\nfunction setAccessToken(provider, accesstoken) {\n const accessTokenKey = getAccessTokenPlaceholder(provider);\n localStorage.setItem(accessTokenKey, accesstoken);\n}\n\n/**\n * this is a callback function to check if the authentication is done and invokes the successCallback\n * @param providerId\n * @param successCallback\n * @param evt\n */\nfunction checkAuthenticationStatus(providerId, successCallback, removeProviderConfigCallBack, evt, http?, securityObj?) {\n const accessTokenKey = providerId + accessTokenSuffix,\n accessTokenOrCode = localStorage.getItem(accessTokenKey);\n if (evt && evt.origin !== window.location.origin) {\n return;\n }\n if (accessTokenOrCode) {\n if (isPassedFlow(securityObj, pkceIdentifier)) {\n const req = 'client_id=' + securityObj.clientId + '&code=' + accessTokenOrCode + '&grant_type=authorization_code&code_verifier=' + code_verifier + '&redirect_uri=' + redirectUri;\n http.send({\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n },\n url: securityObj.accessTokenUrl,\n data: req\n }).then(function(response) {\n triggerAccessTokenSuccessCallback(providerId, successCallback, removeProviderConfigCallBack, accessTokenKey, response.body.access_token);\n });\n } else {\n triggerAccessTokenSuccessCallback(providerId, successCallback, removeProviderConfigCallBack, accessTokenKey, accessTokenOrCode);\n }\n }\n}\n\n/**\n * function trigger the successCallback after getting the access token\n */\nfunction triggerAccessTokenSuccessCallback(providerId, successCallback, removeProviderConfigCallBack, accessTokenKey, token) {\n removeProviderConfigCallBack(providerId);\n localStorage.removeItem(accessTokenKey);\n setAccessToken(providerId, token);\n window.removeEventListener('message', listeners[providerId]);\n setTimeout(() => {\n delete listeners[providerId];\n if (successCallback) {\n successCallback(token);\n }\n });\n}\n\n/**\n * this function keeps on checking the accesstoken in the LocalStorage and updates it accordingly\n * @param providerId\n * @param onSuccess\n * @param onError\n * @param startTime\n * @param loginObj\n */\nfunction checkAccessTokenInWindow(providerId, onSuccess, onError, startTime, loginObj, removeProviderConfigCallBack) {\n performFakeLocalStorageUpdate();\n const currentTime = moment.duration(moment().format('HH:mm'), 'HH:mm' as any),\n timeDiff = currentTime.subtract(startTime),\n accessToken = getAccessToken(providerId, true);\n if (accessToken) {\n loginObj.accesstoken_retrieved = true;\n setAccessToken(providerId, accessToken);\n localStorage.removeItem(providerId + accessTokenSuffix);\n removeProviderConfigCallBack(providerId);\n if (onSuccess) {\n onSuccess();\n }\n } else if (timeDiff.minutes() > 1 && onSuccess && !loginObj.accesstoken_retrieved) {\n onSuccess('error');\n } else {\n setTimeout(() => {\n checkAccessTokenInWindow(providerId, onSuccess, onError, startTime, loginObj, removeProviderConfigCallBack);\n }, 3000);\n }\n}\n\n/**\n * checks for the window existence i.e if the window is manually closed by the user or any such\n * @param oAuthWindow\n * @param provider\n * @param callback\n */\nfunction checkForWindowExistence(oAuthWindow, provider, callback, providerInfo?) {\n if (oAuthWindow && listeners[provider]) {\n if (!oAuthWindow.closed) { // .closed is supported across major browser vendors however for IE the user has to enable protected mode from security options\n setTimeout(checkForWindowExistence.bind(undefined, oAuthWindow, provider, callback, providerInfo), 3000);\n } else {\n if (!isPassedFlow(providerInfo, pkceIdentifier)) {\n window.removeEventListener('message', listeners[provider]);\n delete listeners[provider];\n if (callback) {\n callback('error');\n }\n }\n }\n }\n}\n/**\n * this functions handles the logic related to the window operations in IE\n * @param url\n * @param providerId\n * @param onSuccess\n * @param onError\n */\nfunction handleLoginForIE(url, providerId, onSuccess, onError, removeProviderConfigCallBack, securityObj?, requestSourceType?, customUriScheme?, deployedURL?) {\n const loginObj = {\n 'accesstoken_retrieved': false\n };\n if (isPassedFlow(securityObj, implicitIdentifier)) {\n url = constructURLForImplicitOrPKCE(providerId, securityObj, requestSourceType, null, customUriScheme, deployedURL);\n }\n window.open(url, '_blank', newWindowProps);\n checkAccessTokenInWindow(providerId, onSuccess, onError, moment.duration(moment().format('HH:mm'), 'HH:mm' as any), loginObj, removeProviderConfigCallBack);\n}\n\n/**\n * this functions returns if the current oAuth Flow matches the passed flow or not\n * @param providerInfo\n */\nfunction isPassedFlow(providerInfo, flow) {\n let oAuthFlow = get(providerInfo, 'oauth2Flow');\n oAuthFlow = oAuthFlow ? oAuthFlow.toLowerCase() : oAuthFlow;\n if (flow === pkceIdentifier) {\n if (get(providerInfo, 'oAuth2Pkce.enabled') === true) {\n oAuthFlow = pkceIdentifier;\n }\n }\n return oAuthFlow === flow;\n}\n\n/**\n * this function adds the listener on the window and assigns the listener\n * @param provider\n * @param callback\n */\nfunction onAuthWindowOpen(provider, callback, removeProviderConfigCallBack, http?, securityObj?) {\n listeners[provider] = checkAuthenticationStatus.bind(undefined, provider, callback, removeProviderConfigCallBack, null, http, securityObj);\n window.addEventListener('message', listeners[provider], false);\n}\n\n// Generate a secure random string using the browser crypto functions\nfunction generateRandomString() {\n const array = new Uint32Array(28);\n window.crypto.getRandomValues(array);\n return Array.from(array, dec => ('0' + dec.toString(16)).substr(-2)).join('');\n}\n\n// Returns a promise that resolves to an ArrayBuffer\nfunction getEncryptedCode(plain) {\n const encoder = new TextEncoder();\n const data = encoder.encode(plain);\n const shaObj = new jsSHA(\"SHA-256\", \"UINT8ARRAY\", { encoding: \"UTF8\" });\n shaObj.update(data);\n return shaObj.getHash(\"ARRAYBUFFER\");\n}\n\n// Base64-urlencodes the input string\nfunction base64urlencode(str) {\n // Convert the ArrayBuffer to string using Uint8 array to convert to what btoa accepts.\n // btoa accepts chars only within ascii 0-255 and base64 encodes them.\n // Then convert the base64 encoded to base64url encoded\n // (replace + with -, replace / with _, trim trailing =)\n return btoa(String.fromCharCode.apply(null, new Uint8Array(str)))\n .replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/, '');\n}\n\n/**\n * this function is a callback function which enables the listener and checks for the window existence\n * @param providerId\n * @param onSuccess\n * @param url\n */\nfunction postGetAuthorizationURL(url, providerId, onSuccess, removeProviderConfigCallBack, securityObj?, requestSourceType?, customUriScheme?, deployedURL?, http?) {\n if (isPassedFlow(securityObj, implicitIdentifier)) {\n url = constructURLForImplicitOrPKCE(providerId, securityObj, requestSourceType, null, customUriScheme, deployedURL);\n startoAuthFlow(url, providerId, onSuccess, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL, http);\n } else if (isPassedFlow(securityObj, pkceIdentifier)) {\n // Create and store a new PKCE code_verifier (the plaintext random secret)\n code_verifier = generateRandomString();\n let code_challenge;\n if (get(securityObj, 'oAuth2Pkce.challengeMethod') === 'plain') {\n code_challenge = code_verifier;\n url = constructURLForImplicitOrPKCE(providerId, securityObj, requestSourceType, code_challenge, customUriScheme, deployedURL);\n startoAuthFlow(url, providerId, onSuccess, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL, http);\n } else {\n const encryptedCode = getEncryptedCode(code_verifier);\n code_challenge = base64urlencode(encryptedCode);\n //code_challenge = encryptedCode;\n url = constructURLForImplicitOrPKCE(providerId, securityObj, requestSourceType, code_challenge, customUriScheme, deployedURL);\n startoAuthFlow(url, providerId, onSuccess, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL, http);\n\n }\n } else {\n startoAuthFlow(url, providerId, onSuccess, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL, http);\n }\n}\n\nfunction startoAuthFlow(url, providerId, onSuccess, removeProviderConfigCallBack, securityObj?, requestSourceType?, customUriScheme?, deployedURL?, http?) {\n let oAuthWindow;\n oAuthWindow = window.open(url, '_blank', newWindowProps);\n onAuthWindowOpen(providerId, onSuccess, removeProviderConfigCallBack, http, securityObj);\n checkForWindowExistence(oAuthWindow, providerId, onSuccess, securityObj);\n}\n\n/**\n * function to construct the url for implicit flow.\n * @param providerId provider id for which the url has to be set\n * @param providerInfo provider object which contains details such as scope, client id etc\n * @param requestSourceType requesting source is web or mobile\n * @returns url string\n */\nfunction constructURLForImplicitOrPKCE(providerId, providerInfo, requestSourceType, code_challenge, customUriScheme?, deployedURL?) {\n redirectUri = window.location.href.split('/#/')[0] + '/oAuthCallback.html';\n const clientId = providerInfo.clientId;\n const scopes = providerInfo.scopes.map(function(scope) { return scope.name }).join(' ');\n let state;\n if (getWmProjectProperties().isTestRuntime === true) {\n redirectUri = location.protocol + '//' + window.location.host + '/studio/oAuthCallback.html';\n }\n if (requestSourceType === 'MOBILE') {\n redirectUri = deployedURL + 'oAuthCallback.html';\n }\n const flow = isPassedFlow(providerInfo, implicitIdentifier) ? implicitIdentifier : pkceIdentifier;\n state = {providerId: providerId, suffix: accessTokenSuffix, requestSourceType: requestSourceType, flow: flow, scheme: customUriScheme};\n const authUrlArr = providerInfo.authorizationUrl.split('?');\n let connector;\n if (authUrlArr.length === 1) {\n //query params don't exist\n connector = '?';\n } else if (authUrlArr.length > 1 && authUrlArr[1] !== '') {\n //query params exist. Append & instead of ?.\n connector = '&';\n } else {\n //nothing exists after '?'. client_id can be directly appended;\n connector = '';\n }\n const commonUrl = providerInfo.authorizationUrl + connector + 'client_id=' + clientId + '&redirect_uri=' + redirectUri + '&state=' + encodeURIComponent(JSON.stringify(state)) + '&scope=' + encodeURIComponent(scopes);\n let url;\n if (flow === implicitIdentifier) {\n const responseType = providerInfo.responseType ? providerInfo.responseType : 'token';\n url = commonUrl + '&response_type=' + responseType;\n } else {\n url = commonUrl + '&response_type=code&code_challenge=' + code_challenge + '&code_challenge_method=' + get(providerInfo, 'oAuth2Pkce.challengeMethod');\n }\n return url;\n}\n\n/**\n * function to get the authorization url\n * @param params provider id for which the auth url has to be fetched\n * @param successCallback callback to be invoked upon successful fetch of the providers\n * @param failureCallback callback to be invoked upon error\n * @returns {*}\n */\nfunction getAuthorizationUrl(params, http) {\n const action = 'getAuthorizationUrl',\n serviceSettings = parseConfig({\n target: 'oauthConfiguration',\n action: action,\n urlParams: {\n projectId: _WM_APP_PROJECT.id,\n providerId: params.providerId\n },\n params: {\n 'requestSourceType': params.requestSourceType\n }\n });\n return http.send(serviceSettings);\n}\n\n/**\n * function trigger the addProviderConfigCallBack after getting the authorization url\n */\nfunction triggerProviderConfigCallBack(url, providerId, onSuccess, onError, http, addProviderConfigCallBack, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL) {\n const urlBody = isPassedFlow(securityObj, implicitIdentifier) || isPassedFlow(securityObj, pkceIdentifier) ? url : url.body;\n addProviderConfigCallBack({\n name: providerId,\n url: urlBody,\n invoke: () => {\n if (isIE()) { // handling for IE\n handleLoginForIE(url, providerId, onSuccess, onError, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL);\n } else {\n postGetAuthorizationURL(urlBody, providerId, onSuccess, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL, http);\n }\n }\n });\n}\n\n/**\n * this function retrieves the accessToken based on the run/studiomode\n * @param provider\n * @returns {*}\n */\nexport const getAccessToken = (provider, checkLocalStorage) => {\n const accessTokenKey = getAccessTokenPlaceholder(provider);\n if (checkLocalStorage) {\n return localStorage.getItem(provider + accessTokenSuffix);\n }\n return localStorage.getItem(accessTokenKey);\n};\n\n\n/**\n * this function is used to perform the authorization by opening the window and having active listeners\n * @param url\n * @param providerId\n * @param onSuccess\n * @returns {*}\n */\nexport const performAuthorization = (url, providerId, onSuccess, onError, http, addProviderConfigCallBack, removeProviderConfigCallBack, securityObj?, customUriScheme?, deployedURL?) => {\n let requestSourceType = 'WEB';\n if (url) {\n if (isIE()) { // handling for IE\n handleLoginForIE(url, providerId, onSuccess, onError, removeProviderConfigCallBack);\n } else {\n postGetAuthorizationURL(url, providerId, onSuccess, removeProviderConfigCallBack, securityObj, requestSourceType, http);\n }\n } else {\n if (isPassedFlow(securityObj, implicitIdentifier) || isPassedFlow(securityObj, pkceIdentifier)) {\n triggerProviderConfigCallBack(url, providerId, onSuccess, onError, http, addProviderConfigCallBack, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL);\n } else {\n return getAuthorizationUrl({\n 'providerId': providerId,\n 'requestSourceType': requestSourceType\n }, http).then((response) => {\n triggerProviderConfigCallBack(response, providerId, onSuccess, onError, http, addProviderConfigCallBack, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL);\n });\n }\n }\n};\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { Observable, Subject } from 'rxjs';\n\nimport { AbstractHttpService } from '@wm/core';\n\nimport { getAccessToken, performAuthorization, removeAccessToken } from './oAuth.utils';\nimport {find, remove} from \"lodash-es\";\n\n@Injectable()\nexport class OAuthService implements OnDestroy {\n constructor(private httpService: AbstractHttpService) {}\n\n providers = new Subject();\n\n providersConfig: any = [];\n\n getOAuthProvidersAsObservable(): Observable<any> {\n return this.providers.asObservable();\n }\n\n addProviderConfig(provider) {\n if (!(find(this.providersConfig, {'name': provider.name}))) {\n this.providersConfig.push(provider);\n }\n this.providers.next(this.providersConfig);\n }\n\n removeProviderConfig(providerId) {\n remove<any>(this.providersConfig, provider => provider.name === providerId);\n this.providers.next(this.providersConfig);\n }\n\n perfromOAuthorization(url, providerId, onSuccess, onError, securityObj?, customUriScheme?, deployedURL?) {\n performAuthorization(url, providerId, onSuccess, onError, this.httpService, this.addProviderConfig.bind(this), this.removeProviderConfig.bind(this), securityObj, customUriScheme, deployedURL);\n }\n\n getAccessToken(provider, checkLocalStorage) {\n return getAccessToken(provider, checkLocalStorage);\n }\n\n removeAccessToken(provider) {\n removeAccessToken(provider);\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Complete Subject to release subscriptions\n if (this.providers) {\n this.providers.complete();\n this.providers = null;\n }\n\n // MEMORY LEAK FIX: Clear providers config array\n this.providersConfig = [];\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../projects/oAuth/src/oAuth.utils.ts","../../../projects/oAuth/src/oAuth.service.ts","../../../projects/oAuth/src/index.ts"],"sourcesContent":["import { _WM_APP_PROJECT, isIE, getWmProjectProperties } from '@wm/core';\nimport {get, isUndefined} from \"lodash-es\";\n\nimport * as momentLib from 'moment';\nconst moment = momentLib.default || window['moment'];\ndeclare const jsSHA;\n\nconst accessTokenSuffix = '.access_token', pkceIdentifier = 'pkce', implicitIdentifier = 'implicit';\n\nlet code_verifier, redirectUri;\n\nexport const parseConfig = (serviceParams: any): any => {\n\n let val, param, config;\n const urlParams = serviceParams.urlParams;\n\n config = {\n url: 'services/oauth2/:providerId/authorizationUrl',\n method: 'GET'\n };\n\n /*To handle dynamic urls, append the serviceParams.config.url with the static url(i.e., config.url)*/\n if (serviceParams.config) {\n config.url = (serviceParams.config.url || '') + config.url;\n config.method = serviceParams.config.method || config.method;\n config.headers = config.headers || {};\n\n // TODO[Shubham] - change to for - of\n for (const key in serviceParams.config.headers) {\n val = serviceParams.config.headers[key];\n config.headers[key] = val;\n }\n }\n /* check for url parameters to replace the url */\n if (urlParams) {\n for (param in urlParams) {\n if (urlParams.hasOwnProperty(param)) {\n val = urlParams[param];\n if (!isUndefined(val) && val !== null) {\n config.url = config.url.replace(new RegExp(':' + param, 'g'), val);\n }\n }\n }\n }\n\n /* check for data */\n if (serviceParams.params) {\n config.params = serviceParams.params;\n }\n /* check for data */\n if (!isUndefined(serviceParams.data)) {\n config.data = serviceParams.data;\n }\n /* check for data parameters, written to support old service calls (.json calls) */\n if (serviceParams.dataParams) {\n config.data.params = serviceParams.dataParams;\n }\n /* check for headers */\n if (serviceParams.headers) {\n config.headers = serviceParams.headers;\n }\n\n /* set extra config flags */\n config.byPassResult = serviceParams.byPassResult;\n config.isDirectCall = serviceParams.isDirectCall;\n config.isExtURL = serviceParams.isExtURL;\n config.preventMultiple = serviceParams.preventMultiple;\n config.responseType = serviceParams.responseType;\n\n return config;\n};\n\nconst listeners = {},\n ACCESSTOKEN_PLACEHOLDERS = {\n 'STUDIO': 'WM_STUDIO_',\n 'RUN': 'WM_RUN_'\n },\n newWindowProps = 'width=400,height=600';\n\n/**\n * This function remove the accessToken for a provider\n * @param provider\n */\nexport const removeAccessToken = (provider) => {\n const accessTokenKey = getAccessTokenPlaceholder(provider);\n localStorage.removeItem(accessTokenKey);\n};\n\n/**\n * This function returns the accesstoken placeholder based on the studio or run mode for the project\n * @param provider\n * @returns {*}\n */\nfunction getAccessTokenPlaceholder(provider) {\n let accessTokenKey;\n accessTokenKey = ACCESSTOKEN_PLACEHOLDERS.RUN + _WM_APP_PROJECT.id + '_' + provider + accessTokenSuffix;\n return accessTokenKey;\n}\n\n/**\n * This function performs the fake local storage update, so the IE gets the latest token instead of returning the cached localStorageValue\n */\nfunction performFakeLocalStorageUpdate() {\n const dummy_key = 'dummy_key';\n localStorage.setItem(dummy_key, dummy_key);\n localStorage.removeItem(dummy_key);\n}\n\n/**\n * This function sets the accessToken\n * @param provider\n * @param accesstoken\n */\nfunction setAccessToken(provider, accesstoken) {\n const accessTokenKey = getAccessTokenPlaceholder(provider);\n localStorage.setItem(accessTokenKey, accesstoken);\n}\n\n/**\n * this is a callback function to check if the authentication is done and invokes the successCallback\n * @param providerId\n * @param successCallback\n * @param evt\n */\nfunction checkAuthenticationStatus(providerId, successCallback, removeProviderConfigCallBack, evt, http?, securityObj?) {\n const accessTokenKey = providerId + accessTokenSuffix,\n accessTokenOrCode = localStorage.getItem(accessTokenKey);\n if (evt && evt.origin !== window.location.origin) {\n return;\n }\n if (accessTokenOrCode) {\n if (isPassedFlow(securityObj, pkceIdentifier)) {\n const req = 'client_id=' + securityObj.clientId + '&code=' + accessTokenOrCode + '&grant_type=authorization_code&code_verifier=' + code_verifier + '&redirect_uri=' + redirectUri;\n http.send({\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n },\n url: securityObj.accessTokenUrl,\n data: req\n }).then(function(response) {\n triggerAccessTokenSuccessCallback(providerId, successCallback, removeProviderConfigCallBack, accessTokenKey, response.body.access_token);\n });\n } else {\n triggerAccessTokenSuccessCallback(providerId, successCallback, removeProviderConfigCallBack, accessTokenKey, accessTokenOrCode);\n }\n }\n}\n\n/**\n * function trigger the successCallback after getting the access token\n */\nfunction triggerAccessTokenSuccessCallback(providerId, successCallback, removeProviderConfigCallBack, accessTokenKey, token) {\n removeProviderConfigCallBack(providerId);\n localStorage.removeItem(accessTokenKey);\n setAccessToken(providerId, token);\n window.removeEventListener('message', listeners[providerId]);\n setTimeout(() => {\n delete listeners[providerId];\n if (successCallback) {\n successCallback(token);\n }\n });\n}\n\n/**\n * this function keeps on checking the accesstoken in the LocalStorage and updates it accordingly\n * @param providerId\n * @param onSuccess\n * @param onError\n * @param startTime\n * @param loginObj\n */\nfunction checkAccessTokenInWindow(providerId, onSuccess, onError, startTime, loginObj, removeProviderConfigCallBack) {\n performFakeLocalStorageUpdate();\n const currentTime = moment.duration(moment().format('HH:mm'), 'HH:mm' as any),\n timeDiff = currentTime.subtract(startTime),\n accessToken = getAccessToken(providerId, true);\n if (accessToken) {\n loginObj.accesstoken_retrieved = true;\n setAccessToken(providerId, accessToken);\n localStorage.removeItem(providerId + accessTokenSuffix);\n removeProviderConfigCallBack(providerId);\n if (onSuccess) {\n onSuccess();\n }\n } else if (timeDiff.minutes() > 1 && onSuccess && !loginObj.accesstoken_retrieved) {\n onSuccess('error');\n } else {\n setTimeout(() => {\n checkAccessTokenInWindow(providerId, onSuccess, onError, startTime, loginObj, removeProviderConfigCallBack);\n }, 3000);\n }\n}\n\n/**\n * checks for the window existence i.e if the window is manually closed by the user or any such\n * @param oAuthWindow\n * @param provider\n * @param callback\n */\nfunction checkForWindowExistence(oAuthWindow, provider, callback, providerInfo?) {\n if (oAuthWindow && listeners[provider]) {\n if (!oAuthWindow.closed) { // .closed is supported across major browser vendors however for IE the user has to enable protected mode from security options\n setTimeout(checkForWindowExistence.bind(undefined, oAuthWindow, provider, callback, providerInfo), 3000);\n } else \n if (!isPassedFlow(providerInfo, pkceIdentifier)) {\n window.removeEventListener('message', listeners[provider]);\n delete listeners[provider];\n if (callback) {\n callback('error');\n }\n }\n \n }\n}\n/**\n * this functions handles the logic related to the window operations in IE\n * @param url\n * @param providerId\n * @param onSuccess\n * @param onError\n */\nfunction handleLoginForIE(url, providerId, onSuccess, onError, removeProviderConfigCallBack, securityObj?, requestSourceType?, customUriScheme?, deployedURL?) {\n const loginObj = {\n 'accesstoken_retrieved': false\n };\n if (isPassedFlow(securityObj, implicitIdentifier)) {\n url = constructURLForImplicitOrPKCE(providerId, securityObj, requestSourceType, null, customUriScheme, deployedURL);\n }\n window.open(url, '_blank', newWindowProps);\n checkAccessTokenInWindow(providerId, onSuccess, onError, moment.duration(moment().format('HH:mm'), 'HH:mm' as any), loginObj, removeProviderConfigCallBack);\n}\n\n/**\n * this functions returns if the current oAuth Flow matches the passed flow or not\n * @param providerInfo\n */\nfunction isPassedFlow(providerInfo, flow) {\n let oAuthFlow = get(providerInfo, 'oauth2Flow');\n oAuthFlow = oAuthFlow ? oAuthFlow.toLowerCase() : oAuthFlow;\n if (flow === pkceIdentifier) {\n if (get(providerInfo, 'oAuth2Pkce.enabled') === true) {\n oAuthFlow = pkceIdentifier;\n }\n }\n return oAuthFlow === flow;\n}\n\n/**\n * this function adds the listener on the window and assigns the listener\n * @param provider\n * @param callback\n */\nfunction onAuthWindowOpen(provider, callback, removeProviderConfigCallBack, http?, securityObj?) {\n listeners[provider] = checkAuthenticationStatus.bind(undefined, provider, callback, removeProviderConfigCallBack, null, http, securityObj);\n window.addEventListener('message', listeners[provider], false);\n}\n\n// Generate a secure random string using the browser crypto functions\nfunction generateRandomString() {\n const array = new Uint32Array(28);\n window.crypto.getRandomValues(array);\n return Array.from(array, dec => ('0' + dec.toString(16)).substr(-2)).join('');\n}\n\n// Returns a promise that resolves to an ArrayBuffer\nfunction getEncryptedCode(plain) {\n const encoder = new TextEncoder();\n const data = encoder.encode(plain);\n const shaObj = new jsSHA(\"SHA-256\", \"UINT8ARRAY\", { encoding: \"UTF8\" });\n shaObj.update(data);\n return shaObj.getHash(\"ARRAYBUFFER\");\n}\n\n// Base64-urlencodes the input string\nfunction base64urlencode(str) {\n // Convert the ArrayBuffer to string using Uint8 array to convert to what btoa accepts.\n // btoa accepts chars only within ascii 0-255 and base64 encodes them.\n // Then convert the base64 encoded to base64url encoded\n // (replace + with -, replace / with _, trim trailing =)\n return btoa(String.fromCharCode.apply(null, new Uint8Array(str)))\n .replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/, '');\n}\n\n/**\n * this function is a callback function which enables the listener and checks for the window existence\n * @param providerId\n * @param onSuccess\n * @param url\n */\nfunction postGetAuthorizationURL(url, providerId, onSuccess, removeProviderConfigCallBack, securityObj?, requestSourceType?, customUriScheme?, deployedURL?, http?) {\n if (isPassedFlow(securityObj, implicitIdentifier)) {\n url = constructURLForImplicitOrPKCE(providerId, securityObj, requestSourceType, null, customUriScheme, deployedURL);\n startoAuthFlow(url, providerId, onSuccess, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL, http);\n } else if (isPassedFlow(securityObj, pkceIdentifier)) {\n // Create and store a new PKCE code_verifier (the plaintext random secret)\n code_verifier = generateRandomString();\n let code_challenge;\n if (get(securityObj, 'oAuth2Pkce.challengeMethod') === 'plain') {\n code_challenge = code_verifier;\n url = constructURLForImplicitOrPKCE(providerId, securityObj, requestSourceType, code_challenge, customUriScheme, deployedURL);\n startoAuthFlow(url, providerId, onSuccess, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL, http);\n } else {\n const encryptedCode = getEncryptedCode(code_verifier);\n code_challenge = base64urlencode(encryptedCode);\n //code_challenge = encryptedCode;\n url = constructURLForImplicitOrPKCE(providerId, securityObj, requestSourceType, code_challenge, customUriScheme, deployedURL);\n startoAuthFlow(url, providerId, onSuccess, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL, http);\n\n }\n } else {\n startoAuthFlow(url, providerId, onSuccess, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL, http);\n }\n}\n\nfunction startoAuthFlow(url, providerId, onSuccess, removeProviderConfigCallBack, securityObj?, requestSourceType?, customUriScheme?, deployedURL?, http?) {\n let oAuthWindow;\n oAuthWindow = window.open(url, '_blank', newWindowProps);\n onAuthWindowOpen(providerId, onSuccess, removeProviderConfigCallBack, http, securityObj);\n checkForWindowExistence(oAuthWindow, providerId, onSuccess, securityObj);\n}\n\n/**\n * function to construct the url for implicit flow.\n * @param providerId provider id for which the url has to be set\n * @param providerInfo provider object which contains details such as scope, client id etc\n * @param requestSourceType requesting source is web or mobile\n * @returns url string\n */\nfunction constructURLForImplicitOrPKCE(providerId, providerInfo, requestSourceType, code_challenge, customUriScheme?, deployedURL?) {\n redirectUri = window.location.href.split('/#/')[0] + '/oAuthCallback.html';\n const clientId = providerInfo.clientId;\n const scopes = providerInfo.scopes.map(function(scope) { return scope.name }).join(' ');\n let state;\n if (getWmProjectProperties().isTestRuntime === true) {\n redirectUri = location.protocol + '//' + window.location.host + '/studio/oAuthCallback.html';\n }\n if (requestSourceType === 'MOBILE') {\n redirectUri = deployedURL + 'oAuthCallback.html';\n }\n const flow = isPassedFlow(providerInfo, implicitIdentifier) ? implicitIdentifier : pkceIdentifier;\n state = {providerId: providerId, suffix: accessTokenSuffix, requestSourceType: requestSourceType, flow: flow, scheme: customUriScheme};\n const authUrlArr = providerInfo.authorizationUrl.split('?');\n let connector;\n if (authUrlArr.length === 1) {\n //query params don't exist\n connector = '?';\n } else if (authUrlArr.length > 1 && authUrlArr[1] !== '') {\n //query params exist. Append & instead of ?.\n connector = '&';\n } else {\n //nothing exists after '?'. client_id can be directly appended;\n connector = '';\n }\n const commonUrl = providerInfo.authorizationUrl + connector + 'client_id=' + clientId + '&redirect_uri=' + redirectUri + '&state=' + encodeURIComponent(JSON.stringify(state)) + '&scope=' + encodeURIComponent(scopes);\n let url;\n if (flow === implicitIdentifier) {\n const responseType = providerInfo.responseType ? providerInfo.responseType : 'token';\n url = commonUrl + '&response_type=' + responseType;\n } else {\n url = commonUrl + '&response_type=code&code_challenge=' + code_challenge + '&code_challenge_method=' + get(providerInfo, 'oAuth2Pkce.challengeMethod');\n }\n return url;\n}\n\n/**\n * function to get the authorization url\n * @param params provider id for which the auth url has to be fetched\n * @param successCallback callback to be invoked upon successful fetch of the providers\n * @param failureCallback callback to be invoked upon error\n * @returns {*}\n */\nfunction getAuthorizationUrl(params, http) {\n const action = 'getAuthorizationUrl',\n serviceSettings = parseConfig({\n target: 'oauthConfiguration',\n action: action,\n urlParams: {\n projectId: _WM_APP_PROJECT.id,\n providerId: params.providerId\n },\n params: {\n 'requestSourceType': params.requestSourceType\n }\n });\n return http.send(serviceSettings);\n}\n\n/**\n * function trigger the addProviderConfigCallBack after getting the authorization url\n */\nfunction triggerProviderConfigCallBack(url, providerId, onSuccess, onError, http, addProviderConfigCallBack, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL) {\n const urlBody = isPassedFlow(securityObj, implicitIdentifier) || isPassedFlow(securityObj, pkceIdentifier) ? url : url.body;\n addProviderConfigCallBack({\n name: providerId,\n url: urlBody,\n invoke: () => {\n if (isIE()) { // handling for IE\n handleLoginForIE(url, providerId, onSuccess, onError, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL);\n } else {\n postGetAuthorizationURL(urlBody, providerId, onSuccess, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL, http);\n }\n }\n });\n}\n\n/**\n * this function retrieves the accessToken based on the run/studiomode\n * @param provider\n * @returns {*}\n */\nexport const getAccessToken = (provider, checkLocalStorage) => {\n const accessTokenKey = getAccessTokenPlaceholder(provider);\n if (checkLocalStorage) {\n return localStorage.getItem(provider + accessTokenSuffix);\n }\n return localStorage.getItem(accessTokenKey);\n};\n\n\n/**\n * this function is used to perform the authorization by opening the window and having active listeners\n * @param url\n * @param providerId\n * @param onSuccess\n * @returns {*}\n */\nexport const performAuthorization = (url, providerId, onSuccess, onError, http, addProviderConfigCallBack, removeProviderConfigCallBack, securityObj?, customUriScheme?, deployedURL?) => {\n let requestSourceType = 'WEB';\n if (url) {\n if (isIE()) { // handling for IE\n handleLoginForIE(url, providerId, onSuccess, onError, removeProviderConfigCallBack);\n } else {\n postGetAuthorizationURL(url, providerId, onSuccess, removeProviderConfigCallBack, securityObj, requestSourceType, http);\n }\n } else \n if (isPassedFlow(securityObj, implicitIdentifier) || isPassedFlow(securityObj, pkceIdentifier)) {\n triggerProviderConfigCallBack(url, providerId, onSuccess, onError, http, addProviderConfigCallBack, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL);\n } else {\n return getAuthorizationUrl({\n 'providerId': providerId,\n 'requestSourceType': requestSourceType\n }, http).then((response) => {\n triggerProviderConfigCallBack(response, providerId, onSuccess, onError, http, addProviderConfigCallBack, removeProviderConfigCallBack, securityObj, requestSourceType, customUriScheme, deployedURL);\n });\n }\n \n};\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { Observable, Subject } from 'rxjs';\n\nimport { AbstractHttpService } from '@wm/core';\n\nimport { getAccessToken, performAuthorization, removeAccessToken } from './oAuth.utils';\nimport {find, remove} from \"lodash-es\";\n\n@Injectable()\nexport class OAuthService implements OnDestroy {\n constructor(private readonly httpService: AbstractHttpService) {}\n\n providers = new Subject();\n\n providersConfig: any = [];\n\n getOAuthProvidersAsObservable(): Observable<any> {\n return this.providers.asObservable();\n }\n\n addProviderConfig(provider) {\n if (!(find(this.providersConfig, {'name': provider.name}))) {\n this.providersConfig.push(provider);\n }\n this.providers.next(this.providersConfig);\n }\n\n removeProviderConfig(providerId) {\n remove<any>(this.providersConfig, provider => provider.name === providerId);\n this.providers.next(this.providersConfig);\n }\n\n perfromOAuthorization(url, providerId, onSuccess, onError, securityObj?, customUriScheme?, deployedURL?) {\n performAuthorization(url, providerId, onSuccess, onError, this.httpService, this.addProviderConfig.bind(this), this.removeProviderConfig.bind(this), securityObj, customUriScheme, deployedURL);\n }\n\n getAccessToken(provider, checkLocalStorage) {\n return getAccessToken(provider, checkLocalStorage);\n }\n\n removeAccessToken(provider) {\n removeAccessToken(provider);\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Complete Subject to release subscriptions\n if (this.providers) {\n this.providers.complete();\n this.providers = null;\n }\n\n // MEMORY LEAK FIX: Clear providers config array\n this.providersConfig = [];\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { Subject, Observable } from 'rxjs';
4
4
  import { AbstractHttpService } from '@wm/core';
5
5
 
6
6
  declare class OAuthService implements OnDestroy {
7
- private httpService;
7
+ private readonly httpService;
8
8
  constructor(httpService: AbstractHttpService);
9
9
  providers: Subject<unknown>;
10
10
  providersConfig: any;