@sapphire-ion/framework 0.30.0

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 (299) hide show
  1. package/README.md +24 -0
  2. package/esm2022/lib/classes/comparison/comparison-operator.mjs +18 -0
  3. package/esm2022/lib/classes/comparison/comparison-value-type.mjs +25 -0
  4. package/esm2022/lib/classes/comparison/comparison.mjs +41 -0
  5. package/esm2022/lib/classes/comparison/properties/bool-property.mjs +15 -0
  6. package/esm2022/lib/classes/comparison/properties/date-property.mjs +27 -0
  7. package/esm2022/lib/classes/comparison/properties/datetime-property.mjs +27 -0
  8. package/esm2022/lib/classes/comparison/properties/decimal-property.mjs +27 -0
  9. package/esm2022/lib/classes/comparison/properties/enum-property.mjs +27 -0
  10. package/esm2022/lib/classes/comparison/properties/implicit-property.mjs +12 -0
  11. package/esm2022/lib/classes/comparison/properties/int-property.mjs +27 -0
  12. package/esm2022/lib/classes/comparison/properties/long-property.mjs +27 -0
  13. package/esm2022/lib/classes/comparison/properties/string-property.mjs +15 -0
  14. package/esm2022/lib/classes/comparison/properties/time-property.mjs +27 -0
  15. package/esm2022/lib/classes/credentials.mjs +2 -0
  16. package/esm2022/lib/classes/environment.mjs +32 -0
  17. package/esm2022/lib/classes/filters/view-filtros.mjs +18 -0
  18. package/esm2022/lib/classes/inputs/table-field-form-builder.mjs +10 -0
  19. package/esm2022/lib/classes/inputs/table-field.mjs +63 -0
  20. package/esm2022/lib/classes/page-option.mjs +2 -0
  21. package/esm2022/lib/classes/routes/default-routing-factory.mjs +23 -0
  22. package/esm2022/lib/classes/routes/id-preloader-configuration.mjs +22 -0
  23. package/esm2022/lib/classes/routes/route-data.mjs +9 -0
  24. package/esm2022/lib/components/carousel/carousel-image/carousel-image.component.mjs +18 -0
  25. package/esm2022/lib/components/carousel/carousel-item/carousel-item.component.mjs +15 -0
  26. package/esm2022/lib/components/carousel/carousel.component.mjs +79 -0
  27. package/esm2022/lib/components/carousel/carousel.module.mjs +31 -0
  28. package/esm2022/lib/components/carousel/i-carousel-item.component.mjs +16 -0
  29. package/esm2022/lib/components/content-block/content-block.component.mjs +27 -0
  30. package/esm2022/lib/components/default/default-list/abstract-list.mjs +49 -0
  31. package/esm2022/lib/components/default/default-list/default-list.component.mjs +94 -0
  32. package/esm2022/lib/components/default/default-list/header-list/header-list.component.mjs +98 -0
  33. package/esm2022/lib/components/default/default-list/list.mjs +110 -0
  34. package/esm2022/lib/components/default/default-pagination/default-pagination.component.mjs +123 -0
  35. package/esm2022/lib/components/default/default-table/default-table.component.mjs +206 -0
  36. package/esm2022/lib/components/default/default-table/th-filter/th-filter.component.mjs +182 -0
  37. package/esm2022/lib/components/default/default-view/abstract-view.mjs +18 -0
  38. package/esm2022/lib/components/default/default-view/default-view.component.mjs +51 -0
  39. package/esm2022/lib/components/default/default-view/header-view/header-view.component.mjs +72 -0
  40. package/esm2022/lib/components/default/default-view/view.mjs +170 -0
  41. package/esm2022/lib/components/default/default.module.mjs +87 -0
  42. package/esm2022/lib/components/default-page/default.page.mjs +73 -0
  43. package/esm2022/lib/components/drag-drop-file/drag-drop-file.directive.mjs +60 -0
  44. package/esm2022/lib/components/drag-drop-file/drag-drop-file.module.mjs +31 -0
  45. package/esm2022/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.mjs +15 -0
  46. package/esm2022/lib/components/drawer/default-drawer-end/default-drawer-end.component.mjs +34 -0
  47. package/esm2022/lib/components/drawer/drawer-group/drawer-group.component.mjs +49 -0
  48. package/esm2022/lib/components/drawer/drawer.component.mjs +117 -0
  49. package/esm2022/lib/components/drawer/menu.mjs +15 -0
  50. package/esm2022/lib/components/filter/filter.component.mjs +124 -0
  51. package/esm2022/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.mjs +17 -0
  52. package/esm2022/lib/components/image/image.component.mjs +91 -0
  53. package/esm2022/lib/components/info-popover/info-popover.component.mjs +91 -0
  54. package/esm2022/lib/components/inputs/custom-input.mjs +77 -0
  55. package/esm2022/lib/components/inputs/custom-signal-input.mjs +74 -0
  56. package/esm2022/lib/components/inputs/input-bool/input-bool.component.mjs +43 -0
  57. package/esm2022/lib/components/inputs/input-bool/input-bool.configuration.mjs +16 -0
  58. package/esm2022/lib/components/inputs/input-color/input-color.component.mjs +487 -0
  59. package/esm2022/lib/components/inputs/input-configuration.mjs +2 -0
  60. package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.mjs +93 -0
  61. package/esm2022/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.configuration.mjs +6 -0
  62. package/esm2022/lib/components/inputs/input-date/input-date.component.mjs +119 -0
  63. package/esm2022/lib/components/inputs/input-date/input-date.configuration.mjs +8 -0
  64. package/esm2022/lib/components/inputs/input-decimal/input-decimal.component.mjs +269 -0
  65. package/esm2022/lib/components/inputs/input-decimal/input-decimal.configuration.mjs +45 -0
  66. package/esm2022/lib/components/inputs/input-default-configurations.mjs +14 -0
  67. package/esm2022/lib/components/inputs/input-file/download-button/download-button.component.mjs +91 -0
  68. package/esm2022/lib/components/inputs/input-file/input-file.component.mjs +128 -0
  69. package/esm2022/lib/components/inputs/input-file/input-file.configuration.mjs +11 -0
  70. package/esm2022/lib/components/inputs/input-loading/input-loading.component.mjs +16 -0
  71. package/esm2022/lib/components/inputs/input-provider-factory.mjs +15 -0
  72. package/esm2022/lib/components/inputs/input-select/ISelect.mjs +11 -0
  73. package/esm2022/lib/components/inputs/input-select/input-select-internal-option/input-select-internal-option.component.mjs +42 -0
  74. package/esm2022/lib/components/inputs/input-select/input-select-option/input-select-option.component.mjs +46 -0
  75. package/esm2022/lib/components/inputs/input-select/input-select-template.directive.mjs +16 -0
  76. package/esm2022/lib/components/inputs/input-select/input-select.component.mjs +322 -0
  77. package/esm2022/lib/components/inputs/input-select/input.select.configuration.mjs +164 -0
  78. package/esm2022/lib/components/inputs/input-string/input-string.component.mjs +50 -0
  79. package/esm2022/lib/components/inputs/input-string/input-string.configuration.mjs +18 -0
  80. package/esm2022/lib/components/inputs/input-textarea/input-textarea.component.mjs +47 -0
  81. package/esm2022/lib/components/inputs/input-type.mjs +18 -0
  82. package/esm2022/lib/components/inputs/input-validators.mjs +90 -0
  83. package/esm2022/lib/components/inputs/inputs.module.mjs +101 -0
  84. package/esm2022/lib/components/loading/loading.component.mjs +34 -0
  85. package/esm2022/lib/components/login/login-admin/login-admin.component.mjs +52 -0
  86. package/esm2022/lib/components/login/login.component.mjs +93 -0
  87. package/esm2022/lib/components/main-content/main-content.component.mjs +62 -0
  88. package/esm2022/lib/components/stepper/step/step.component.mjs +43 -0
  89. package/esm2022/lib/components/stepper/stepper.component.mjs +36 -0
  90. package/esm2022/lib/components/stepper/stepper.module.mjs +25 -0
  91. package/esm2022/lib/components/tabs/tab/tab.component.mjs +41 -0
  92. package/esm2022/lib/components/tabs/tabs/tabs.component.mjs +56 -0
  93. package/esm2022/lib/components/tabs/tabs.module.mjs +22 -0
  94. package/esm2022/lib/components/text-tooltip/text-tooltip.component.mjs +51 -0
  95. package/esm2022/lib/components/tooltip/tooltip.component.mjs +21 -0
  96. package/esm2022/lib/core.module.mjs +29 -0
  97. package/esm2022/lib/directives/ng-var.directive.mjs +29 -0
  98. package/esm2022/lib/guards/auth.guard.mjs +26 -0
  99. package/esm2022/lib/guards/error.interceptor.mjs +106 -0
  100. package/esm2022/lib/guards/token.interceptor.mjs +25 -0
  101. package/esm2022/lib/index.mjs +172 -0
  102. package/esm2022/lib/pipes/secure.pipe.mjs +42 -0
  103. package/esm2022/lib/services/auth.service.mjs +149 -0
  104. package/esm2022/lib/services/environment.service.mjs +26 -0
  105. package/esm2022/lib/services/generics.service.mjs +84 -0
  106. package/esm2022/lib/services/route/route.cache.service.mjs +15 -0
  107. package/esm2022/lib/services/route/route.provider.service.mjs +42 -0
  108. package/esm2022/lib/services/usuario.service.mjs +49 -0
  109. package/esm2022/lib/services/utils.service.mjs +149 -0
  110. package/esm2022/lib/services/web/api-url-provider.service.mjs +29 -0
  111. package/esm2022/lib/services/web/http.ativo.service.mjs +55 -0
  112. package/esm2022/lib/services/web/http.service.mjs +175 -0
  113. package/esm2022/lib/services/web/storage.service.mjs +115 -0
  114. package/esm2022/public-api.mjs +5 -0
  115. package/esm2022/sapphire-ion-framework.mjs +5 -0
  116. package/fesm2022/sapphire-ion-framework.mjs +6080 -0
  117. package/fesm2022/sapphire-ion-framework.mjs.map +1 -0
  118. package/index.d.ts +5 -0
  119. package/lib/classes/comparison/comparison-operator.d.ts +9 -0
  120. package/lib/classes/comparison/comparison-value-type.d.ts +23 -0
  121. package/lib/classes/comparison/comparison.d.ts +25 -0
  122. package/lib/classes/comparison/properties/bool-property.d.ts +7 -0
  123. package/lib/classes/comparison/properties/date-property.d.ts +11 -0
  124. package/lib/classes/comparison/properties/datetime-property.d.ts +11 -0
  125. package/lib/classes/comparison/properties/decimal-property.d.ts +11 -0
  126. package/lib/classes/comparison/properties/enum-property.d.ts +11 -0
  127. package/lib/classes/comparison/properties/implicit-property.d.ts +6 -0
  128. package/lib/classes/comparison/properties/int-property.d.ts +11 -0
  129. package/lib/classes/comparison/properties/long-property.d.ts +11 -0
  130. package/lib/classes/comparison/properties/string-property.d.ts +7 -0
  131. package/lib/classes/comparison/properties/time-property.d.ts +11 -0
  132. package/lib/classes/credentials.d.ts +5 -0
  133. package/lib/classes/environment.d.ts +13 -0
  134. package/lib/classes/filters/view-filtros.d.ts +10 -0
  135. package/lib/classes/inputs/table-field-form-builder.d.ts +5 -0
  136. package/lib/classes/inputs/table-field.d.ts +19 -0
  137. package/lib/classes/page-option.d.ts +7 -0
  138. package/lib/classes/routes/default-routing-factory.d.ts +8 -0
  139. package/lib/classes/routes/id-preloader-configuration.d.ts +28 -0
  140. package/lib/classes/routes/route-data.d.ts +5 -0
  141. package/lib/components/carousel/carousel-image/carousel-image.component.d.ts +10 -0
  142. package/lib/components/carousel/carousel-item/carousel-item.component.d.ts +9 -0
  143. package/lib/components/carousel/carousel.component.d.ts +32 -0
  144. package/lib/components/carousel/carousel.module.d.ts +12 -0
  145. package/lib/components/carousel/i-carousel-item.component.d.ts +9 -0
  146. package/lib/components/content-block/content-block.component.d.ts +15 -0
  147. package/lib/components/default/default-list/abstract-list.d.ts +21 -0
  148. package/lib/components/default/default-list/default-list.component.d.ts +42 -0
  149. package/lib/components/default/default-list/header-list/header-list.component.d.ts +45 -0
  150. package/lib/components/default/default-list/list.d.ts +37 -0
  151. package/lib/components/default/default-pagination/default-pagination.component.d.ts +36 -0
  152. package/lib/components/default/default-table/default-table.component.d.ts +71 -0
  153. package/lib/components/default/default-table/th-filter/th-filter.component.d.ts +20 -0
  154. package/lib/components/default/default-view/abstract-view.d.ts +16 -0
  155. package/lib/components/default/default-view/default-view.component.d.ts +26 -0
  156. package/lib/components/default/default-view/header-view/header-view.component.d.ts +25 -0
  157. package/lib/components/default/default-view/view.d.ts +55 -0
  158. package/lib/components/default/default.module.d.ts +28 -0
  159. package/lib/components/default-page/default.page.d.ts +35 -0
  160. package/lib/components/drag-drop-file/drag-drop-file.directive.d.ts +14 -0
  161. package/lib/components/drag-drop-file/drag-drop-file.module.d.ts +10 -0
  162. package/lib/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.d.ts +9 -0
  163. package/lib/components/drawer/default-drawer-end/default-drawer-end.component.d.ts +13 -0
  164. package/lib/components/drawer/drawer-group/drawer-group.component.d.ts +22 -0
  165. package/lib/components/drawer/drawer.component.d.ts +23 -0
  166. package/lib/components/drawer/menu.d.ts +9 -0
  167. package/lib/components/filter/filter.component.d.ts +29 -0
  168. package/lib/components/http-responses-pages/forbidden-403/forbidden-403.component.d.ts +8 -0
  169. package/lib/components/image/image.component.d.ts +23 -0
  170. package/lib/components/info-popover/info-popover.component.d.ts +15 -0
  171. package/lib/components/inputs/custom-input.d.ts +36 -0
  172. package/lib/components/inputs/custom-signal-input.d.ts +38 -0
  173. package/lib/components/inputs/input-bool/input-bool.component.d.ts +19 -0
  174. package/lib/components/inputs/input-bool/input-bool.configuration.d.ts +17 -0
  175. package/lib/components/inputs/input-color/input-color.component.d.ts +80 -0
  176. package/lib/components/inputs/input-configuration.d.ts +8 -0
  177. package/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.d.ts +24 -0
  178. package/lib/components/inputs/input-cpf-cnpj/input-cpf-cnpj.configuration.d.ts +5 -0
  179. package/lib/components/inputs/input-date/input-date.component.d.ts +30 -0
  180. package/lib/components/inputs/input-date/input-date.configuration.d.ts +7 -0
  181. package/lib/components/inputs/input-decimal/input-decimal.component.d.ts +41 -0
  182. package/lib/components/inputs/input-decimal/input-decimal.configuration.d.ts +25 -0
  183. package/lib/components/inputs/input-default-configurations.d.ts +13 -0
  184. package/lib/components/inputs/input-file/download-button/download-button.component.d.ts +36 -0
  185. package/lib/components/inputs/input-file/input-file.component.d.ts +39 -0
  186. package/lib/components/inputs/input-file/input-file.configuration.d.ts +11 -0
  187. package/lib/components/inputs/input-loading/input-loading.component.d.ts +7 -0
  188. package/lib/components/inputs/input-provider-factory.d.ts +4 -0
  189. package/lib/components/inputs/input-select/ISelect.d.ts +21 -0
  190. package/lib/components/inputs/input-select/input-select-internal-option/input-select-internal-option.component.d.ts +18 -0
  191. package/lib/components/inputs/input-select/input-select-option/input-select-option.component.d.ts +24 -0
  192. package/lib/components/inputs/input-select/input-select-template.directive.d.ts +8 -0
  193. package/lib/components/inputs/input-select/input-select.component.d.ts +66 -0
  194. package/lib/components/inputs/input-select/input.select.configuration.d.ts +87 -0
  195. package/lib/components/inputs/input-string/input-string.component.d.ts +19 -0
  196. package/lib/components/inputs/input-string/input-string.configuration.d.ts +14 -0
  197. package/lib/components/inputs/input-textarea/input-textarea.component.d.ts +18 -0
  198. package/lib/components/inputs/input-type.d.ts +16 -0
  199. package/lib/components/inputs/input-validators.d.ts +19 -0
  200. package/lib/components/inputs/inputs.module.d.ts +28 -0
  201. package/lib/components/loading/loading.component.d.ts +18 -0
  202. package/lib/components/login/login-admin/login-admin.component.d.ts +20 -0
  203. package/lib/components/login/login.component.d.ts +28 -0
  204. package/lib/components/main-content/main-content.component.d.ts +17 -0
  205. package/lib/components/stepper/step/step.component.d.ts +15 -0
  206. package/lib/components/stepper/stepper.component.d.ts +17 -0
  207. package/lib/components/stepper/stepper.module.d.ts +10 -0
  208. package/lib/components/tabs/tab/tab.component.d.ts +19 -0
  209. package/lib/components/tabs/tabs/tabs.component.d.ts +18 -0
  210. package/lib/components/tabs/tabs.module.d.ts +12 -0
  211. package/lib/components/text-tooltip/text-tooltip.component.d.ts +16 -0
  212. package/lib/components/tooltip/tooltip.component.d.ts +7 -0
  213. package/lib/core.module.d.ts +11 -0
  214. package/lib/directives/ng-var.directive.d.ts +12 -0
  215. package/lib/guards/auth.guard.d.ts +11 -0
  216. package/lib/guards/error.interceptor.d.ts +32 -0
  217. package/lib/guards/token.interceptor.d.ts +11 -0
  218. package/lib/index.d.ts +108 -0
  219. package/lib/pipes/secure.pipe.d.ts +15 -0
  220. package/lib/services/auth.service.d.ts +47 -0
  221. package/lib/services/environment.service.d.ts +10 -0
  222. package/lib/services/generics.service.d.ts +22 -0
  223. package/lib/services/route/route.cache.service.d.ts +7 -0
  224. package/lib/services/route/route.provider.service.d.ts +13 -0
  225. package/lib/services/usuario.service.d.ts +21 -0
  226. package/lib/services/utils.service.d.ts +36 -0
  227. package/lib/services/web/api-url-provider.service.d.ts +13 -0
  228. package/lib/services/web/http.ativo.service.d.ts +31 -0
  229. package/lib/services/web/http.service.d.ts +51 -0
  230. package/lib/services/web/storage.service.d.ts +25 -0
  231. package/package.json +41 -0
  232. package/public-api.d.ts +1 -0
  233. package/themes/compiled-styles.scss +2291 -0
  234. package/themes/components/_inputs_new/input-string/input-string.component.scss +0 -0
  235. package/themes/components/_inputs_new/inputs.scss +15 -0
  236. package/themes/components/carousel/carousel-image/carousel-image.component.scss +0 -0
  237. package/themes/components/carousel/carousel-item/carousel-item.component.scss +0 -0
  238. package/themes/components/carousel/carousel.component.scss +9 -0
  239. package/themes/components/content-block/content-block.component.scss +0 -0
  240. package/themes/components/default/default-list/default-list.component.scss +0 -0
  241. package/themes/components/default/default-list/header-list/header-list.component.scss +0 -0
  242. package/themes/components/default/default-pagination/default-pagination.component.scss +22 -0
  243. package/themes/components/default/default-table/default-table.component.scss +33 -0
  244. package/themes/components/default/default-table/th-filter/th-filter.component.scss +24 -0
  245. package/themes/components/default/default-view/default-view.component.scss +5 -0
  246. package/themes/components/default/default-view/header-view/header-view.component.scss +7 -0
  247. package/themes/components/default-page/default.page.scss +4 -0
  248. package/themes/components/drag-drop-file/drag-drop-overlay/drag-drop-overlay.component.scss +9 -0
  249. package/themes/components/drawer/default-drawer-end/default-drawer-end.component.scss +0 -0
  250. package/themes/components/drawer/drawer-group/drawer-group.component.scss +22 -0
  251. package/themes/components/drawer/drawer.component.scss +46 -0
  252. package/themes/components/filter/filter.component.scss +0 -0
  253. package/themes/components/http-responses-pages/forbidden-403/forbidden-403.component.scss +19 -0
  254. package/themes/components/image/image.component.scss +0 -0
  255. package/themes/components/info-popover/info-popover.component.scss +3 -0
  256. package/themes/components/inputs/input-bool/input-bool.component.scss +14 -0
  257. package/themes/components/inputs/input-color/input-color.component.scss +48 -0
  258. package/themes/components/inputs/input-cpf-cnpj/input-cpf-cnpj.component.scss +0 -0
  259. package/themes/components/inputs/input-date/input-date.component.scss +41 -0
  260. package/themes/components/inputs/input-decimal/input-decimal.component.scss +44 -0
  261. package/themes/components/inputs/input-file/download-button/download-button.component.scss +3 -0
  262. package/themes/components/inputs/input-file/input-file.component.scss +3 -0
  263. package/themes/components/inputs/input-loading/input-loading.component.scss +0 -0
  264. package/themes/components/inputs/input-select/input-select-internal-option/input-select-internal-option.component.scss +0 -0
  265. package/themes/components/inputs/input-select/input-select-option/input-select-option.component.scss +0 -0
  266. package/themes/components/inputs/input-select/input-select.component.scss +28 -0
  267. package/themes/components/inputs/input-string/input-string.component.scss +0 -0
  268. package/themes/components/inputs/input-textarea/input-textarea.component.scss +0 -0
  269. package/themes/components/inputs/inputs.scss +67 -0
  270. package/themes/components/loading/loading.component.scss +0 -0
  271. package/themes/components/login/login-admin/login-admin.component.scss +3 -0
  272. package/themes/components/login/login.component.scss +40 -0
  273. package/themes/components/main-content/main-content.component.scss +9 -0
  274. package/themes/components/stepper/step/step.component.scss +48 -0
  275. package/themes/components/stepper/stepper.component.scss +0 -0
  276. package/themes/components/tabs/tab/tab.component.scss +0 -0
  277. package/themes/components/tabs/tabs/tabs.component.scss +23 -0
  278. package/themes/components/text-tooltip/text-tooltip.component.scss +0 -0
  279. package/themes/components/tooltip/tooltip.component.scss +23 -0
  280. package/themes/styles/components.scss +52 -0
  281. package/themes/styles/core.styles.scss +409 -0
  282. package/themes/styles/ionic/ion-action-sheet.scss +8 -0
  283. package/themes/styles/ionic/ion-alert.scss +9 -0
  284. package/themes/styles/ionic/ion-button.scss +3 -0
  285. package/themes/styles/ionic/ion-card.scss +3 -0
  286. package/themes/styles/ionic/ion-content.scss +3 -0
  287. package/themes/styles/ionic/ion-datetime.scss +6 -0
  288. package/themes/styles/ionic/ion-item.scss +10 -0
  289. package/themes/styles/ionic/ion-list.scss +4 -0
  290. package/themes/styles/ionic/ion-modal.scss +8 -0
  291. package/themes/styles/ionic/ion-popover.scss +31 -0
  292. package/themes/styles/ionic/ion-progress-bar.scss +3 -0
  293. package/themes/styles/ionic/ion-searchbar.scss +4 -0
  294. package/themes/styles/ionic/ion-toast.scss +14 -0
  295. package/themes/styles/ionic.scss +13 -0
  296. package/themes/styles/login-default.scss +87 -0
  297. package/themes/styles/mixins.scss +467 -0
  298. package/themes/styles/styles.scss +1 -0
  299. package/themes/styles/translucid.scss +21 -0
@@ -0,0 +1,42 @@
1
+ import { HttpClient, HttpHeaders } from '@angular/common/http';
2
+ import { from, switchMap } from 'rxjs';
3
+ import { Pipe } from '@angular/core';
4
+ import { ApiUrlProviderService } from '../services/web/api-url-provider.service';
5
+ import { AuthService } from '../services/auth.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ import * as i2 from "../services/auth.service";
9
+ import * as i3 from "../services/web/api-url-provider.service";
10
+ export class SecurePipe {
11
+ constructor(http, auth, apiUrlProviderService) {
12
+ this.http = http;
13
+ this.auth = auth;
14
+ this.apiUrlProviderService = apiUrlProviderService;
15
+ }
16
+ transform(src) {
17
+ if (src.startsWith(this.apiUrlProviderService.apiUrl)) {
18
+ // Convert the Promise to an Observable and chain the HTTP request
19
+ return from(this.auth.LoadToken())
20
+ .pipe(switchMap((Bearer) => {
21
+ const headers = new HttpHeaders({ 'Authorization': `Bearer ${Bearer}` });
22
+ return this.http.get(src, { headers, responseType: 'blob' });
23
+ }), switchMap((blob) => {
24
+ const url = URL.createObjectURL(blob);
25
+ return from(Promise.resolve(url));
26
+ }));
27
+ }
28
+ else {
29
+ return Promise.resolve(src);
30
+ }
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SecurePipe, deps: [{ token: i1.HttpClient }, { token: i2.AuthService }, { token: i3.ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Pipe }); }
33
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SecurePipe, isStandalone: true, name: "secure" }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SecurePipe, decorators: [{
36
+ type: Pipe,
37
+ args: [{
38
+ name: 'secure',
39
+ standalone: true,
40
+ }]
41
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.AuthService }, { type: i3.ApiUrlProviderService }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYXBwaGlyZS1pb24tZnJhbWV3b3JrL3NyYy9saWIvcGlwZXMvc2VjdXJlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQWMsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBTXZELE1BQU0sT0FBTyxVQUFVO0lBRXJCLFlBQ1UsSUFBZ0IsRUFDaEIsSUFBaUIsRUFDakIscUJBQTRDO1FBRjVDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBQ25ELENBQUM7SUFFSixTQUFTLENBQUMsR0FBVztRQUNuQixJQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUM7WUFDcEQsa0VBQWtFO1lBQ2xFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7aUJBQ2pDLElBQUksQ0FDSCxTQUFTLENBQUMsQ0FBQyxNQUFjLEVBQUUsRUFBRTtnQkFDM0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxlQUFlLEVBQUUsVUFBVSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3pFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFO2dCQUN2QixNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7YUFDRyxDQUFDO1lBQ0gsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDOytHQTFCVSxVQUFVOzZHQUFWLFVBQVU7OzRGQUFWLFVBQVU7a0JBSnRCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFFBQVE7b0JBQ2QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20sIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBcGlVcmxQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy93ZWIvYXBpLXVybC1wcm92aWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzZWN1cmUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWN1cmVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBhdXRoOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgYXBpVXJsUHJvdmlkZXJTZXJ2aWNlOiBBcGlVcmxQcm92aWRlclNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIHRyYW5zZm9ybShzcmM6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB8IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBpZihzcmMuc3RhcnRzV2l0aCh0aGlzLmFwaVVybFByb3ZpZGVyU2VydmljZS5hcGlVcmwpKXtcclxuICAgICAgLy8gQ29udmVydCB0aGUgUHJvbWlzZSB0byBhbiBPYnNlcnZhYmxlIGFuZCBjaGFpbiB0aGUgSFRUUCByZXF1ZXN0XHJcbiAgICAgIHJldHVybiBmcm9tKHRoaXMuYXV0aC5Mb2FkVG9rZW4oKSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKChCZWFyZXI6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7ICdBdXRob3JpemF0aW9uJzogYEJlYXJlciAke0JlYXJlcn1gIH0pO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc3JjLCB7IGhlYWRlcnMsIHJlc3BvbnNlVHlwZTogJ2Jsb2InIH0pO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHN3aXRjaE1hcCgoYmxvYjogQmxvYikgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgICAgICAgIHJldHVybiBmcm9tKFByb21pc2UucmVzb2x2ZSh1cmwpKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgZWxzZXtcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShzcmMpO1xyXG4gICAgfVxyXG4gIH1cclxufSJdfQ==
@@ -0,0 +1,149 @@
1
+ import { firstValueFrom } from 'rxjs';
2
+ import { NavController } from '@ionic/angular';
3
+ import { Preferences } from '@capacitor/preferences';
4
+ import { HttpClient } from '@angular/common/http';
5
+ import { Injectable } from '@angular/core';
6
+ import { jwtDecode } from 'jwt-decode';
7
+ import { ApiUrlProviderService } from '../services/web/api-url-provider.service';
8
+ import { EnvironmentService } from './environment.service';
9
+ import { Utils } from './utils.service';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common/http";
12
+ import * as i2 from "@ionic/angular";
13
+ import * as i3 from "./environment.service";
14
+ import * as i4 from "../services/web/api-url-provider.service";
15
+ export class AuthService {
16
+ constructor(http, navController, coreService, apiUrlProviderService) {
17
+ this.http = http;
18
+ this.navController = navController;
19
+ this.coreService = coreService;
20
+ this.apiUrlProviderService = apiUrlProviderService;
21
+ this.localUserKey = this.coreService.environment.applicationName.toUpperCase() + "_USER_KEY";
22
+ this.localAdminKey = this.coreService.environment.applicationName.toUpperCase() + "_ADMIN_KEY";
23
+ this.currentToken = null;
24
+ this._isAdmin = false;
25
+ this.SetToken();
26
+ }
27
+ async SetToken() {
28
+ const Token = await this.LoadToken();
29
+ const TokenAdmin = await this.LoadTokenAdmin();
30
+ if (this.isTokenValid(Token)) {
31
+ this.currentToken = await this.JWToken();
32
+ }
33
+ else {
34
+ return this.Loggout();
35
+ }
36
+ if (TokenAdmin && this.isTokenValid(TokenAdmin)) {
37
+ this._isAdmin = true;
38
+ }
39
+ return;
40
+ }
41
+ async Loggout() {
42
+ await Preferences.remove({ key: this.localUserKey });
43
+ await Preferences.remove({ key: this.localAdminKey });
44
+ this.currentToken = null;
45
+ this.navController.navigateRoot("login");
46
+ }
47
+ get isAdmin() { return this._isAdmin; }
48
+ async Login(credentials) {
49
+ try {
50
+ const JWToken = await firstValueFrom(this.ApiLogin(credentials));
51
+ await this.SaveToken(JWToken);
52
+ await this.SetToken();
53
+ return (jwtDecode(JWToken));
54
+ }
55
+ catch (Error) {
56
+ throw Error;
57
+ }
58
+ }
59
+ async BypassLogin(id) {
60
+ try {
61
+ const JWToken = await firstValueFrom(this.ApiBypassLogin(id));
62
+ await this.SaveToken(JWToken);
63
+ await this.SetToken();
64
+ return (jwtDecode(JWToken));
65
+ }
66
+ catch (Error) {
67
+ throw Error;
68
+ }
69
+ }
70
+ ApiLogin(credentials) {
71
+ return this.http.post(this.apiUrlProviderService.apiUrl + 'auth', credentials);
72
+ }
73
+ ApiBypassLogin(id) {
74
+ return this.http.get(this.apiUrlProviderService.apiUrl + `auth/${id}`);
75
+ }
76
+ async SaveToken(JWToken) {
77
+ if (jwtDecode(JWToken).id == 1) {
78
+ await Preferences.set({ key: this.localAdminKey, value: JWToken });
79
+ }
80
+ await Preferences.set({ key: this.localUserKey, value: JWToken });
81
+ }
82
+ async LoadToken() {
83
+ const JWToken = (await Preferences.get({ key: this.localUserKey })).value;
84
+ if (JWToken) {
85
+ const ParsedObject = jwtDecode(JWToken);
86
+ return ParsedObject;
87
+ }
88
+ else {
89
+ return null;
90
+ }
91
+ }
92
+ async LoadTokenAdmin() {
93
+ const JWToken = (await Preferences.get({ key: this.localAdminKey })).value;
94
+ if (JWToken) {
95
+ const ParsedObject = jwtDecode(JWToken);
96
+ return ParsedObject;
97
+ }
98
+ else {
99
+ return null;
100
+ }
101
+ }
102
+ async JWToken() {
103
+ const JWToken = (await Preferences.get({ key: this.localUserKey })).value;
104
+ return JWToken;
105
+ }
106
+ async GetBearer() {
107
+ return `Bearer ${await this.JWToken()}`;
108
+ }
109
+ isTokenValid(Token) {
110
+ if (!Token) {
111
+ return false;
112
+ }
113
+ else
114
+ return !(Utils.UNIXToDate(Token.exp) < new Date());
115
+ }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: i2.NavController }, { token: i3.EnvironmentService }, { token: i4.ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
117
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthService, providedIn: 'root' }); }
118
+ }
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthService, decorators: [{
120
+ type: Injectable,
121
+ args: [{
122
+ providedIn: 'root'
123
+ }]
124
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.NavController }, { type: i3.EnvironmentService }, { type: i4.ApiUrlProviderService }] });
125
+ class Authentication {
126
+ constructor() {
127
+ this.Apelido = null;
128
+ this.Senha = null;
129
+ }
130
+ }
131
+ class Token {
132
+ constructor() {
133
+ this.Acesso = 0;
134
+ this.Apelido = "";
135
+ this.Nome = "";
136
+ this.id = 0;
137
+ this.idEmpresa = 0;
138
+ }
139
+ patch(token) {
140
+ for (let prop of Object.getOwnPropertyNames(token)) {
141
+ if (Number((token[prop]))) {
142
+ this[prop] = Number(token[prop]);
143
+ continue;
144
+ }
145
+ this[prop] = token[prop];
146
+ }
147
+ }
148
+ }
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FwcGhpcmUtaW9uLWZyYW1ld29yay9zcmMvbGliL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV2QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQUt4QyxNQUFNLE9BQU8sV0FBVztJQUV0QixZQUNVLElBQWdCLEVBQ2hCLGFBQTRCLEVBQzVCLFdBQStCLEVBQy9CLHFCQUE0QztRQUg1QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBSzlDLGlCQUFZLEdBQWlCLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxXQUFXLENBQUM7UUFDdEcsa0JBQWEsR0FBZ0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxHQUFHLFlBQVksQ0FBQztRQUN2RyxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUF5QjNDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUE5QnhCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBTUQsS0FBSyxDQUFDLFFBQVE7UUFDWixNQUFNLEtBQUssR0FBUSxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMxQyxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMvQyxJQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNDLENBQUM7YUFBSSxDQUFDO1lBQ0osT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDeEIsQ0FBQztRQUVELElBQUcsVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDO1FBRUQsT0FBTztJQUNULENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUNyRCxNQUFNLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUdELElBQUksT0FBTyxLQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFFLENBQUM7SUFFdkMsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUEyQjtRQUNyQyxJQUFHLENBQUM7WUFDRixNQUFNLE9BQU8sR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDakUsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlCLE1BQU0sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUM5QixDQUFDO1FBQ0QsT0FBTyxLQUFLLEVBQUMsQ0FBQztZQUNaLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQVU7UUFDMUIsSUFBRyxDQUFDO1lBQ0YsTUFBTSxPQUFPLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzlELE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QixNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUNELE9BQU8sS0FBSyxFQUFDLENBQUM7WUFDWixNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLFdBQTJCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sR0FBRyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUNELGNBQWMsQ0FBQyxFQUFVO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sR0FBRyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBZTtRQUM3QixJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQVcsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFDLENBQUM7WUFDeEMsTUFBTSxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELE1BQU0sV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUztRQUNiLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBTSxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3pFLElBQUcsT0FBTyxFQUFDLENBQUM7WUFDVixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEMsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQzthQUFJLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBQ0QsS0FBSyxDQUFDLGNBQWM7UUFDbEIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDMUUsSUFBRyxPQUFPLEVBQUMsQ0FBQztZQUNWLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4QyxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO2FBQUksQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sT0FBTyxHQUFXLENBQUMsTUFBTSxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2xGLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUztRQUNiLE9BQU8sVUFBVSxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFBO0lBQ3pDLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBVTtRQUM1QixJQUFHLENBQUMsS0FBSyxFQUFDLENBQUM7WUFBQyxPQUFPLEtBQUssQ0FBQztRQUFDLENBQUM7O1lBQzNCLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUNwRCxDQUFDOytHQTlHVSxXQUFXO21IQUFYLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUFrSEQsTUFBTSxjQUFjO0lBQXBCO1FBQ1MsWUFBTyxHQUFXLElBQUksQ0FBQztRQUN2QixVQUFLLEdBQWEsSUFBSSxDQUFDO0lBQ2hDLENBQUM7Q0FBQTtBQUVELE1BQU0sS0FBSztJQVFUO1FBTkEsV0FBTSxHQUFjLENBQUMsQ0FBQztRQUN0QixZQUFPLEdBQWEsRUFBRSxDQUFDO1FBQ3ZCLFNBQUksR0FBZ0IsRUFBRSxDQUFDO1FBQ3ZCLE9BQUUsR0FBa0IsQ0FBQyxDQUFDO1FBQ3RCLGNBQVMsR0FBVyxDQUFDLENBQUM7SUFFUixDQUFDO0lBRWYsS0FBSyxDQUFDLEtBQWtCO1FBQ3RCLEtBQUksSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUM7WUFDakQsSUFBRyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLFNBQVM7WUFDWCxDQUFDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgUHJlZmVyZW5jZXMgfSBmcm9tICdAY2FwYWNpdG9yL3ByZWZlcmVuY2VzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBqd3REZWNvZGUgfSBmcm9tICdqd3QtZGVjb2RlJztcclxuXHJcbmltcG9ydCB7IEFwaVVybFByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3dlYi9hcGktdXJsLXByb3ZpZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuL2Vudmlyb25tZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4vdXRpbHMuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBuYXZDb250cm9sbGVyOiBOYXZDb250cm9sbGVyLFxyXG4gICAgcHJpdmF0ZSBjb3JlU2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcGlVcmxQcm92aWRlclNlcnZpY2U6IEFwaVVybFByb3ZpZGVyU2VydmljZSBcclxuICApIHtcclxuICAgIHRoaXMuU2V0VG9rZW4oKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9jYWxVc2VyS2V5ICAgICAgOiBzdHJpbmcgPSB0aGlzLmNvcmVTZXJ2aWNlLmVudmlyb25tZW50LmFwcGxpY2F0aW9uTmFtZS50b1VwcGVyQ2FzZSgpICsgXCJfVVNFUl9LRVlcIjtcclxuICBwcml2YXRlIGxvY2FsQWRtaW5LZXkgICAgIDogc3RyaW5nID0gdGhpcy5jb3JlU2VydmljZS5lbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWUudG9VcHBlckNhc2UoKSArIFwiX0FETUlOX0tFWVwiO1xyXG4gIHB1YmxpYyAgY3VycmVudFRva2VuOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgYXN5bmMgU2V0VG9rZW4oKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBUb2tlbiAgICAgID0gYXdhaXQgdGhpcy5Mb2FkVG9rZW4oKTtcclxuICAgIGNvbnN0IFRva2VuQWRtaW4gPSBhd2FpdCB0aGlzLkxvYWRUb2tlbkFkbWluKCk7XHJcbiAgICBpZih0aGlzLmlzVG9rZW5WYWxpZChUb2tlbikpe1xyXG4gICAgICB0aGlzLmN1cnJlbnRUb2tlbiA9IGF3YWl0IHRoaXMuSldUb2tlbigpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHJldHVybiB0aGlzLkxvZ2dvdXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZihUb2tlbkFkbWluICYmIHRoaXMuaXNUb2tlblZhbGlkKFRva2VuQWRtaW4pKXtcclxuICAgICAgdGhpcy5faXNBZG1pbiA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgTG9nZ291dCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IFByZWZlcmVuY2VzLnJlbW92ZSh7IGtleTogdGhpcy5sb2NhbFVzZXJLZXkgfSk7XHJcbiAgICBhd2FpdCBQcmVmZXJlbmNlcy5yZW1vdmUoeyBrZXk6IHRoaXMubG9jYWxBZG1pbktleSB9KTtcclxuICAgIHRoaXMuY3VycmVudFRva2VuID0gbnVsbDtcclxuICAgIHRoaXMubmF2Q29udHJvbGxlci5uYXZpZ2F0ZVJvb3QoXCJsb2dpblwiKTtcclxuICB9XHJcbiAgXHJcbiAgX2lzQWRtaW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBnZXQgaXNBZG1pbigpeyByZXR1cm4gdGhpcy5faXNBZG1pbjsgIH1cclxuXHJcbiAgYXN5bmMgTG9naW4oY3JlZGVudGlhbHM6IEF1dGhlbnRpY2F0aW9uKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHRyeXtcclxuICAgICAgY29uc3QgSldUb2tlbiA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuQXBpTG9naW4oY3JlZGVudGlhbHMpKTtcclxuICAgICAgYXdhaXQgdGhpcy5TYXZlVG9rZW4oSldUb2tlbik7XHJcbiAgICAgIGF3YWl0IHRoaXMuU2V0VG9rZW4oKTtcclxuICAgICAgcmV0dXJuIChqd3REZWNvZGUoSldUb2tlbikpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKEVycm9yKXtcclxuICAgICAgdGhyb3cgRXJyb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBCeXBhc3NMb2dpbihpZDogbnVtYmVyKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHRyeXtcclxuICAgICAgY29uc3QgSldUb2tlbiA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuQXBpQnlwYXNzTG9naW4oaWQpKTtcclxuICAgICAgYXdhaXQgdGhpcy5TYXZlVG9rZW4oSldUb2tlbik7XHJcbiAgICAgIGF3YWl0IHRoaXMuU2V0VG9rZW4oKTtcclxuICAgICAgcmV0dXJuIChqd3REZWNvZGUoSldUb2tlbikpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKEVycm9yKXtcclxuICAgICAgdGhyb3cgRXJyb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBBcGlMb2dpbihjcmVkZW50aWFsczogQXV0aGVudGljYXRpb24pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHN0cmluZz4odGhpcy5hcGlVcmxQcm92aWRlclNlcnZpY2UuYXBpVXJsICsgJ2F1dGgnLCBjcmVkZW50aWFscyk7XHJcbiAgfVxyXG4gIEFwaUJ5cGFzc0xvZ2luKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8c3RyaW5nPih0aGlzLmFwaVVybFByb3ZpZGVyU2VydmljZS5hcGlVcmwgKyBgYXV0aC8ke2lkfWApO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgU2F2ZVRva2VuKEpXVG9rZW46IHN0cmluZyk6IFByb21pc2U8dm9pZD57XHJcbiAgICBpZigoand0RGVjb2RlKEpXVG9rZW4pIGFzIFRva2VuKS5pZCA9PSAxKXsgXHJcbiAgICAgIGF3YWl0IFByZWZlcmVuY2VzLnNldCh7IGtleTogdGhpcy5sb2NhbEFkbWluS2V5LCB2YWx1ZTogSldUb2tlbn0pO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgUHJlZmVyZW5jZXMuc2V0KHsga2V5OiB0aGlzLmxvY2FsVXNlcktleSwgdmFsdWU6IEpXVG9rZW4gfSlcclxuICB9XHJcblxyXG4gIGFzeW5jIExvYWRUb2tlbigpOiBQcm9taXNlPFRva2VuIHwgbnVsbCB8IGFueT4ge1xyXG4gICAgY29uc3QgSldUb2tlbiA9IChhd2FpdCBQcmVmZXJlbmNlcy5nZXQoeyBrZXk6IHRoaXMubG9jYWxVc2VyS2V5fSkpLnZhbHVlO1xyXG4gICAgaWYoSldUb2tlbil7XHJcbiAgICAgIGNvbnN0IFBhcnNlZE9iamVjdCA9IGp3dERlY29kZShKV1Rva2VuKTtcclxuICAgICAgcmV0dXJuIFBhcnNlZE9iamVjdDtcclxuICAgIH1lbHNle1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgYXN5bmMgTG9hZFRva2VuQWRtaW4oKTogUHJvbWlzZTxUb2tlbiB8IG51bGwgfCBhbnk+IHtcclxuICAgIGNvbnN0IEpXVG9rZW4gPSAoYXdhaXQgUHJlZmVyZW5jZXMuZ2V0KHsga2V5OiB0aGlzLmxvY2FsQWRtaW5LZXl9KSkudmFsdWU7XHJcbiAgICBpZihKV1Rva2VuKXtcclxuICAgICAgY29uc3QgUGFyc2VkT2JqZWN0ID0gand0RGVjb2RlKEpXVG9rZW4pO1xyXG4gICAgICByZXR1cm4gUGFyc2VkT2JqZWN0O1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgSldUb2tlbigpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgY29uc3QgSldUb2tlbjogc3RyaW5nID0gKGF3YWl0IFByZWZlcmVuY2VzLmdldCh7IGtleTogdGhpcy5sb2NhbFVzZXJLZXkgfSkpLnZhbHVlO1xyXG4gICAgcmV0dXJuIEpXVG9rZW47XHJcbiAgfVxyXG5cclxuICBhc3luYyBHZXRCZWFyZXIoKTogUHJvbWlzZTxzdHJpbmc+e1xyXG4gICAgcmV0dXJuIGBCZWFyZXIgJHthd2FpdCB0aGlzLkpXVG9rZW4oKX1gXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNUb2tlblZhbGlkKFRva2VuOiBhbnkpOiBib29sZWFue1xyXG4gICAgaWYoIVRva2VuKXsgcmV0dXJuIGZhbHNlOyB9ZWxzZVxyXG4gICAgcmV0dXJuICEoVXRpbHMuVU5JWFRvRGF0ZShUb2tlbi5leHApIDwgbmV3IERhdGUoKSlcclxuICB9XHJcbn1cclxuXHJcbmNsYXNzIEF1dGhlbnRpY2F0aW9ue1xyXG4gIHB1YmxpYyBBcGVsaWRvOiBzdHJpbmcgPSBudWxsO1xyXG4gIHB1YmxpYyBTZW5oYSAgOiBzdHJpbmcgPSBudWxsO1xyXG59XHJcblxyXG5jbGFzcyBUb2tlbiB7XHJcbiAgW3Byb3A6IHN0cmluZ106IGFueTtcclxuICBBY2Vzc28gICA6IG51bWJlciA9IDA7XHJcbiAgQXBlbGlkbyAgOiBzdHJpbmcgPSBcIlwiO1xyXG4gIE5vbWUgICAgIDogc3RyaW5nID0gXCJcIjtcclxuICBpZCAgICAgICA6IG51bWJlciA9IDA7XHJcbiAgaWRFbXByZXNhOiBudW1iZXIgPSAwO1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKCl7fVxyXG4gIFxyXG4gIHBhdGNoKHRva2VuOiBUb2tlbiB8IGFueSk6IHZvaWR7XHJcbiAgICBmb3IobGV0IHByb3Agb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModG9rZW4pKXtcclxuICAgICAgaWYoTnVtYmVyKCh0b2tlbltwcm9wXSkpKXtcclxuICAgICAgICB0aGlzW3Byb3BdID0gTnVtYmVyKHRva2VuW3Byb3BdKTsgXHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgdGhpc1twcm9wXSA9IHRva2VuW3Byb3BdO1xyXG4gICAgfVxyXG4gIH1cclxufSJdfQ==
@@ -0,0 +1,26 @@
1
+ import { Inject, Injectable } from "@angular/core";
2
+ import { EnvironmentInjectionToken } from "../core.module";
3
+ import { Environment } from "../classes/environment";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../classes/environment";
6
+ export class EnvironmentService {
7
+ constructor(config) {
8
+ this.config = config;
9
+ this._environment = this.config;
10
+ }
11
+ get environment() {
12
+ return this._environment;
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EnvironmentService, deps: [{ token: EnvironmentInjectionToken }], target: i0.ɵɵFactoryTarget.Injectable }); }
15
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EnvironmentService, providedIn: 'root' }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EnvironmentService, decorators: [{
18
+ type: Injectable,
19
+ args: [{
20
+ providedIn: 'root'
21
+ }]
22
+ }], ctorParameters: () => [{ type: i1.Environment, decorators: [{
23
+ type: Inject,
24
+ args: [EnvironmentInjectionToken]
25
+ }] }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhcHBoaXJlLWlvbi1mcmFtZXdvcmsvc3JjL2xpYi9zZXJ2aWNlcy9lbnZpcm9ubWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBS3JELE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsWUFBdUQsTUFBbUI7UUFBbkIsV0FBTSxHQUFOLE1BQU0sQ0FBYTtRQUN0RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDcEMsQ0FBQztJQUdELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDOytHQVJRLGtCQUFrQixrQkFDUCx5QkFBeUI7bUhBRHBDLGtCQUFrQixjQUZmLE1BQU07OzRGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUVnQixNQUFNOzJCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEVudmlyb25tZW50SW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiLi4vY29yZS5tb2R1bGVcIjtcclxuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vY2xhc3Nlcy9lbnZpcm9ubWVudFwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnZpcm9ubWVudFNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChFbnZpcm9ubWVudEluamVjdGlvblRva2VuKSBwcml2YXRlIGNvbmZpZzogRW52aXJvbm1lbnQpIHtcclxuICAgICAgICB0aGlzLl9lbnZpcm9ubWVudCA9IHRoaXMuY29uZmlnO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2Vudmlyb25tZW50OiBFbnZpcm9ubWVudFxyXG4gICAgZ2V0IGVudmlyb25tZW50KCk6IEVudmlyb25tZW50e1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9lbnZpcm9ubWVudDtcclxuICAgIH1cclxufSJdfQ==
@@ -0,0 +1,84 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { Title } from '@angular/platform-browser';
3
+ import { AlertController, ToastController } from "@ionic/angular";
4
+ import { EnvironmentService } from './environment.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@ionic/angular";
7
+ import * as i2 from "@angular/platform-browser";
8
+ import * as i3 from "./environment.service";
9
+ export class GenericService {
10
+ constructor(toastController, alertController, titleController, coreService) {
11
+ this.toastController = toastController;
12
+ this.alertController = alertController;
13
+ this.titleController = titleController;
14
+ this.coreService = coreService;
15
+ }
16
+ async PresentToast(message, icon = 'alert-circle') {
17
+ const toast = await this.toastController.create({
18
+ message: message,
19
+ duration: 1750,
20
+ icon: icon,
21
+ position: 'bottom',
22
+ translucent: false,
23
+ });
24
+ await toast.present();
25
+ }
26
+ async PresentToastSuccess(message = "Salvo com sucesso!") {
27
+ const toast = await this.toastController.create({
28
+ message: message,
29
+ duration: 1750,
30
+ icon: 'checkmark-circle',
31
+ position: 'bottom',
32
+ translucent: false,
33
+ });
34
+ await toast.present();
35
+ return toast.onDidDismiss();
36
+ }
37
+ static { this.CancelButton = {
38
+ text: 'Cancelar',
39
+ role: 'cancel',
40
+ }; }
41
+ static { this.ConfirmButton = {
42
+ text: 'OK',
43
+ role: 'confirm',
44
+ }; }
45
+ static { this.defaultAlertButtons = [GenericService.ConfirmButton]; }
46
+ async PresentAlert(header, message, buttons = GenericService.defaultAlertButtons) {
47
+ const alert = await this.alertController.create({
48
+ header: header,
49
+ message: message,
50
+ buttons: buttons,
51
+ });
52
+ await alert.present();
53
+ return alert.onDidDismiss();
54
+ }
55
+ SetTitle(title) {
56
+ this.titleController.setTitle(this.coreService.environment.applicationName + " | " + title);
57
+ }
58
+ GetId(activatedRoute, depth = 2) {
59
+ try {
60
+ var Route = activatedRoute;
61
+ for (let i = 0; i < depth; i++) {
62
+ Route = Route.parent;
63
+ }
64
+ if (Route.snapshot.paramMap.has('id')) {
65
+ return Number(Route.snapshot.paramMap.get('id'));
66
+ }
67
+ else {
68
+ return 0;
69
+ }
70
+ }
71
+ catch {
72
+ return null;
73
+ }
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GenericService, deps: [{ token: i1.ToastController }, { token: i1.AlertController }, { token: i2.Title }, { token: i3.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable }); }
76
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GenericService, providedIn: 'root' }); }
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GenericService, decorators: [{
79
+ type: Injectable,
80
+ args: [{
81
+ providedIn: 'root'
82
+ }]
83
+ }], ctorParameters: () => [{ type: i1.ToastController }, { type: i1.AlertController }, { type: i2.Title }, { type: i3.EnvironmentService }] });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpY3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhcHBoaXJlLWlvbi1mcmFtZXdvcmsvc3JjL2xpYi9zZXJ2aWNlcy9nZW5lcmljcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sRUFBZSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBTTNELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQ1UsZUFBZ0MsRUFDaEMsZUFBZ0MsRUFDaEMsZUFBc0IsRUFDdEIsV0FBK0I7UUFIL0Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBTztRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7SUFDdkMsQ0FBQztJQUVJLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBZSxFQUFFLElBQUksR0FBRyxjQUFjO1FBQzlELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDOUMsT0FBTyxFQUFFLE9BQU87WUFDaEIsUUFBUSxFQUFFLElBQUk7WUFDZCxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSxLQUFLLENBQUMsbUJBQW1CLENBQUMsVUFBa0Isb0JBQW9CO1FBQ3JFLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDOUMsT0FBTyxFQUFFLE9BQU87WUFDaEIsUUFBUSxFQUFFLElBQUk7WUFDZCxJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLE9BQU8sS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlCLENBQUM7YUFFYSxpQkFBWSxHQUFnQjtRQUN4QyxJQUFJLEVBQUUsVUFBVTtRQUNoQixJQUFJLEVBQUUsUUFBUTtLQUNmLEFBSHlCLENBR3pCO2FBQ2Esa0JBQWEsR0FBaUI7UUFDMUMsSUFBSSxFQUFFLElBQUk7UUFDVixJQUFJLEVBQUUsU0FBUztLQUNoQixBQUgwQixDQUcxQjthQUNNLHdCQUFtQixHQUFrQixDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQUFBaEQsQ0FBaUQ7SUFFcEUsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFjLEVBQUUsT0FBZSxFQUFFLFVBQXlCLGNBQWMsQ0FBQyxtQkFBbUI7UUFDcEgsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUM5QyxNQUFNLEVBQUcsTUFBTTtZQUNmLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE9BQU8sRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQztRQUNILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLE9BQU8sS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxlQUFlLEdBQUcsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFBO0lBQzdGLENBQUM7SUFFTSxLQUFLLENBQUMsY0FBOEIsRUFBRSxRQUFnQixDQUFDO1FBQzVELElBQUcsQ0FBQztZQUNGLElBQUksS0FBSyxHQUFHLGNBQWMsQ0FBQztZQUMzQixLQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFDLENBQUM7Z0JBQzdCLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxJQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDO2dCQUNwQyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNuRCxDQUFDO2lCQUNHLENBQUM7Z0JBQ0gsT0FBTyxDQUFDLENBQUM7WUFDWCxDQUFDO1FBQ0gsQ0FBQztRQUFBLE1BQUssQ0FBQztZQUNMLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7K0dBeEVVLGNBQWM7bUhBQWQsY0FBYyxjQUhiLE1BQU07OzRGQUdQLGNBQWM7a0JBSjFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBBbGVydEJ1dHRvbiwgQWxlcnRDb250cm9sbGVyLCBUb2FzdENvbnRyb2xsZXIgfSBmcm9tIFwiQGlvbmljL2FuZ3VsYXJcIjtcclxuXHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4vZW52aXJvbm1lbnQuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgR2VuZXJpY1NlcnZpY2V7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRvYXN0Q29udHJvbGxlcjogVG9hc3RDb250cm9sbGVyLFxyXG4gICAgcHJpdmF0ZSBhbGVydENvbnRyb2xsZXI6IEFsZXJ0Q29udHJvbGxlcixcclxuICAgIHByaXZhdGUgdGl0bGVDb250cm9sbGVyOiBUaXRsZSxcclxuICAgIHByaXZhdGUgY29yZVNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSxcclxuICApe31cclxuXHJcbiAgcHVibGljIGFzeW5jIFByZXNlbnRUb2FzdChtZXNzYWdlOiBzdHJpbmcsIGljb24gPSAnYWxlcnQtY2lyY2xlJykge1xyXG4gICAgY29uc3QgdG9hc3QgPSBhd2FpdCB0aGlzLnRvYXN0Q29udHJvbGxlci5jcmVhdGUoe1xyXG4gICAgICBtZXNzYWdlOiBtZXNzYWdlLFxyXG4gICAgICBkdXJhdGlvbjogMTc1MCxcclxuICAgICAgaWNvbjogaWNvbixcclxuICAgICAgcG9zaXRpb246ICdib3R0b20nLFxyXG4gICAgICB0cmFuc2x1Y2VudDogZmFsc2UsIFxyXG4gICAgfSk7XHJcblxyXG4gICAgYXdhaXQgdG9hc3QucHJlc2VudCgpO1xyXG4gIH1cclxuICBcclxuICBwdWJsaWMgYXN5bmMgUHJlc2VudFRvYXN0U3VjY2VzcyhtZXNzYWdlOiBzdHJpbmcgPSBcIlNhbHZvIGNvbSBzdWNlc3NvIVwiKSB7XHJcbiAgICBjb25zdCB0b2FzdCA9IGF3YWl0IHRoaXMudG9hc3RDb250cm9sbGVyLmNyZWF0ZSh7XHJcbiAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXHJcbiAgICAgIGR1cmF0aW9uOiAxNzUwLFxyXG4gICAgICBpY29uOiAnY2hlY2ttYXJrLWNpcmNsZScsXHJcbiAgICAgIHBvc2l0aW9uOiAnYm90dG9tJyxcclxuICAgICAgdHJhbnNsdWNlbnQ6IGZhbHNlLFxyXG4gICAgfSk7XHJcblxyXG4gICAgYXdhaXQgdG9hc3QucHJlc2VudCgpO1xyXG4gICAgcmV0dXJuIHRvYXN0Lm9uRGlkRGlzbWlzcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBDYW5jZWxCdXR0b246IEFsZXJ0QnV0dG9uID0ge1xyXG4gICAgdGV4dDogJ0NhbmNlbGFyJyxcclxuICAgIHJvbGU6ICdjYW5jZWwnLFxyXG4gIH1cclxuICBwdWJsaWMgc3RhdGljIENvbmZpcm1CdXR0b24gOiBBbGVydEJ1dHRvbiA9IHtcclxuICAgIHRleHQ6ICdPSycsXHJcbiAgICByb2xlOiAnY29uZmlybScsXHJcbiAgfVxyXG4gIHN0YXRpYyBkZWZhdWx0QWxlcnRCdXR0b25zOiBBbGVydEJ1dHRvbltdID0gW0dlbmVyaWNTZXJ2aWNlLkNvbmZpcm1CdXR0b25dO1xyXG5cclxuICBwdWJsaWMgYXN5bmMgUHJlc2VudEFsZXJ0KGhlYWRlcjogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcsIGJ1dHRvbnM6IEFsZXJ0QnV0dG9uW10gPSBHZW5lcmljU2VydmljZS5kZWZhdWx0QWxlcnRCdXR0b25zKSB7XHJcbiAgICBjb25zdCBhbGVydCA9IGF3YWl0IHRoaXMuYWxlcnRDb250cm9sbGVyLmNyZWF0ZSh7XHJcbiAgICAgIGhlYWRlcjogIGhlYWRlcixcclxuICAgICAgbWVzc2FnZTogbWVzc2FnZSxcclxuICAgICAgYnV0dG9uczogYnV0dG9ucyxcclxuICAgIH0pO1xyXG4gICAgYXdhaXQgYWxlcnQucHJlc2VudCgpO1xyXG4gICAgcmV0dXJuIGFsZXJ0Lm9uRGlkRGlzbWlzcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNldFRpdGxlKHRpdGxlOiBzdHJpbmcpe1xyXG4gICAgdGhpcy50aXRsZUNvbnRyb2xsZXIuc2V0VGl0bGUodGhpcy5jb3JlU2VydmljZS5lbnZpcm9ubWVudC5hcHBsaWNhdGlvbk5hbWUgKyBcIiB8IFwiICsgdGl0bGUpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0SWQoYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBkZXB0aDogbnVtYmVyID0gMik6IG51bWJlciB8IG51bGx7XHJcbiAgICB0cnl7XHJcbiAgICAgIHZhciBSb3V0ZSA9IGFjdGl2YXRlZFJvdXRlO1xyXG4gICAgICBmb3IobGV0IGkgPSAwOyBpIDwgZGVwdGg7IGkrKyl7XHJcbiAgICAgICAgUm91dGUgPSBSb3V0ZS5wYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYoUm91dGUuc25hcHNob3QucGFyYW1NYXAuaGFzKCdpZCcpKXtcclxuICAgICAgICByZXR1cm4gTnVtYmVyKFJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnaWQnKSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZXtcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgfVxyXG4gICAgfWNhdGNoe1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbn0iXX0=
@@ -0,0 +1,15 @@
1
+ export class RouteCacheService {
2
+ constructor() {
3
+ this.cachedData = null;
4
+ }
5
+ getCachedData() {
6
+ return this.cachedData;
7
+ }
8
+ setCachedData(data) {
9
+ this.cachedData = data;
10
+ }
11
+ isDataCached() {
12
+ return this.cachedData != null;
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhcHBoaXJlLWlvbi1mcmFtZXdvcmsvc3JjL2xpYi9zZXJ2aWNlcy9yb3V0ZS9yb3V0ZS5jYWNoZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFDVSxlQUFVLEdBQWtCLElBQUksQ0FBQztJQWEzQyxDQUFDO0lBWEMsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVk7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDO0lBQ2pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lbnUgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9kcmF3ZXIvbWVudVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFJvdXRlQ2FjaGVTZXJ2aWNlIHtcclxuICBwcml2YXRlIGNhY2hlZERhdGE6IE1lbnVbXSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBnZXRDYWNoZWREYXRhKCk6IE1lbnVbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5jYWNoZWREYXRhO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2FjaGVkRGF0YShkYXRhOiBNZW51W10pOiB2b2lkIHtcclxuICAgIHRoaXMuY2FjaGVkRGF0YSA9IGRhdGE7XHJcbiAgfVxyXG5cclxuICBpc0RhdGFDYWNoZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYWNoZWREYXRhICE9IG51bGw7XHJcbiAgfVxyXG59Il19
@@ -0,0 +1,42 @@
1
+ import { Observable, tap, share, finalize } from 'rxjs';
2
+ import { Injectable } from '@angular/core';
3
+ import { RouteCacheService } from './route.cache.service';
4
+ import * as i0 from "@angular/core";
5
+ export class RouteProviderService {
6
+ constructor() {
7
+ this.loadFrom = [];
8
+ this.routeCacheService = new RouteCacheService();
9
+ this.loading$ = null;
10
+ }
11
+ GetData() {
12
+ // If a request is already in progress, return that Observable
13
+ if (this.loading$) {
14
+ return this.loading$;
15
+ }
16
+ if (Array.isArray(this.loadFrom)) {
17
+ this.routeCacheService.setCachedData(this.loadFrom);
18
+ }
19
+ const cachedData = this.routeCacheService.getCachedData();
20
+ if (cachedData) {
21
+ return new Observable(observer => {
22
+ observer.next(cachedData);
23
+ observer.complete();
24
+ });
25
+ }
26
+ else {
27
+ // Store the loading Observable and make sure to reset it when it completes
28
+ this.loading$ = this.loadFrom.pipe(tap(data => this.routeCacheService.setCachedData(data)), finalize(() => this.loading$ = null), share() // Share the same subscription with multiple subscribers
29
+ );
30
+ return this.loading$;
31
+ }
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouteProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
34
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouteProviderService, providedIn: 'root' }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouteProviderService, decorators: [{
37
+ type: Injectable,
38
+ args: [{
39
+ providedIn: 'root'
40
+ }]
41
+ }], ctorParameters: () => [] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUucHJvdmlkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhcHBoaXJlLWlvbi1mcmFtZXdvcmsvc3JjL2xpYi9zZXJ2aWNlcy9yb3V0ZS9yb3V0ZS5wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFNMUQsTUFBTSxPQUFPLG9CQUFvQjtJQU0vQjtRQUpBLGFBQVEsR0FBZ0MsRUFBRSxDQUFDO1FBQ25DLHNCQUFpQixHQUFzQixJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDL0QsYUFBUSxHQUE4QixJQUFJLENBQUM7SUFHL0MsQ0FBQztJQUlMLE9BQU87UUFDTCw4REFBOEQ7UUFDOUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxJQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUUxRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDL0IsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDMUIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTiwyRUFBMkU7WUFDM0UsSUFBSSxDQUFDLFFBQVEsR0FBSSxJQUFJLENBQUMsUUFBK0IsQ0FBQyxJQUFJLENBQ3hELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDdkQsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQ3BDLEtBQUssRUFBRSxDQUFDLHdEQUF3RDthQUNqRSxDQUFDO1lBRUYsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDOytHQXRDVSxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQUZuQixNQUFNOzs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFwLCBzaGFyZSwgZmluYWxpemUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgUm91dGVDYWNoZVNlcnZpY2UgfSBmcm9tICcuL3JvdXRlLmNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9kcmF3ZXIvbWVudSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb3V0ZVByb3ZpZGVyU2VydmljZSAge1xyXG5cclxuICBsb2FkRnJvbTogT2JzZXJ2YWJsZTxNZW51W10+IHwgTWVudVtdID0gW107XHJcbiAgcHJpdmF0ZSByb3V0ZUNhY2hlU2VydmljZTogUm91dGVDYWNoZVNlcnZpY2UgPSBuZXcgUm91dGVDYWNoZVNlcnZpY2UoKTtcclxuICBwcml2YXRlIGxvYWRpbmckOiBPYnNlcnZhYmxlPE1lbnVbXT4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgKSB7IH1cclxuXHJcbiAgcmVzb2x2ZXI6IFByb21pc2U8TWVudVtdPlxyXG5cclxuICBHZXREYXRhKCk6IE9ic2VydmFibGU8TWVudVtdPiB7XHJcbiAgICAvLyBJZiBhIHJlcXVlc3QgaXMgYWxyZWFkeSBpbiBwcm9ncmVzcywgcmV0dXJuIHRoYXQgT2JzZXJ2YWJsZVxyXG4gICAgaWYgKHRoaXMubG9hZGluZyQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9hZGluZyQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYoQXJyYXkuaXNBcnJheSh0aGlzLmxvYWRGcm9tKSl7XHJcbiAgICAgIHRoaXMucm91dGVDYWNoZVNlcnZpY2Uuc2V0Q2FjaGVkRGF0YSh0aGlzLmxvYWRGcm9tKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjYWNoZWREYXRhID0gdGhpcy5yb3V0ZUNhY2hlU2VydmljZS5nZXRDYWNoZWREYXRhKCk7XHJcblxyXG4gICAgaWYgKGNhY2hlZERhdGEpIHtcclxuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcclxuICAgICAgICBvYnNlcnZlci5uZXh0KGNhY2hlZERhdGEpO1xyXG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gU3RvcmUgdGhlIGxvYWRpbmcgT2JzZXJ2YWJsZSBhbmQgbWFrZSBzdXJlIHRvIHJlc2V0IGl0IHdoZW4gaXQgY29tcGxldGVzXHJcbiAgICAgIHRoaXMubG9hZGluZyQgPSAodGhpcy5sb2FkRnJvbSBhcyBPYnNlcnZhYmxlPE1lbnVbXT4pLnBpcGUoXHJcbiAgICAgICAgdGFwKGRhdGEgPT4gdGhpcy5yb3V0ZUNhY2hlU2VydmljZS5zZXRDYWNoZWREYXRhKGRhdGEpKSxcclxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmckID0gbnVsbCksXHJcbiAgICAgICAgc2hhcmUoKSAvLyBTaGFyZSB0aGUgc2FtZSBzdWJzY3JpcHRpb24gd2l0aCBtdWx0aXBsZSBzdWJzY3JpYmVyc1xyXG4gICAgICApO1xyXG4gICAgICBcclxuICAgICAgcmV0dXJuIHRoaXMubG9hZGluZyQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,49 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import { FormBuilder, Validators } from '@angular/forms';
4
+ import { NavController } from '@ionic/angular';
5
+ import { InputStringConfiguration, InputStringType } from '../components/inputs/input-string/input-string.configuration';
6
+ import { ApiUrlProviderService } from '../services/web/api-url-provider.service';
7
+ import { HttpServiceAtivo } from '../services/web/http.ativo.service';
8
+ import { GenericService } from './generics.service';
9
+ import { TableField } from '../classes/inputs/table-field';
10
+ import { InputType } from '../components/inputs/input-type';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@angular/common/http";
13
+ import * as i2 from "@angular/forms";
14
+ import * as i3 from "./generics.service";
15
+ import * as i4 from "@ionic/angular";
16
+ import * as i5 from "../services/web/api-url-provider.service";
17
+ export class UsuarioService extends HttpServiceAtivo {
18
+ constructor(http, fb, genericService, navController, apiUrlProviderService) {
19
+ super(http, fb, genericService, navController, apiUrlProviderService);
20
+ this.http = http;
21
+ this.fb = fb;
22
+ this.genericService = genericService;
23
+ this.navController = navController;
24
+ this.apiUrlProviderService = apiUrlProviderService;
25
+ this.route = "usuario";
26
+ this.title = "Usuario";
27
+ }
28
+ get lstTableFields() {
29
+ var lst = [];
30
+ lst[0] = this.defaultId;
31
+ lst[1] = new TableField("Nome", "nome", this.fb.control(null, Validators.required), InputType.String);
32
+ lst[2] = new TableField("Apelido", "apelido", this.fb.control(null, Validators.required), InputType.String);
33
+ lst[3] = new TableField("Senha", "senha", this.fb.control(null, Validators.required), InputType.String);
34
+ lst[3].hiddenView = true;
35
+ lst[3].configuration = new InputStringConfiguration(InputStringType.Password);
36
+ lst[4] = this.defaultAtivo;
37
+ return lst;
38
+ }
39
+ ;
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UsuarioService, deps: [{ token: i1.HttpClient }, { token: i2.FormBuilder }, { token: i3.GenericService }, { token: i4.NavController }, { token: i5.ApiUrlProviderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UsuarioService, providedIn: 'root' }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UsuarioService, decorators: [{
44
+ type: Injectable,
45
+ args: [{
46
+ providedIn: 'root'
47
+ }]
48
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.FormBuilder }, { type: i3.GenericService }, { type: i4.NavController }, { type: i5.ApiUrlProviderService }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXN1YXJpby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FwcGhpcmUtaW9uLWZyYW1ld29yay9zcmMvbGliL3NlcnZpY2VzL3VzdWFyaW8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sOERBQThELENBQUM7QUFDekgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7QUFLNUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxnQkFBZ0I7SUFLbEQsWUFDcUIsSUFBZ0IsRUFDaEIsRUFBZSxFQUNmLGNBQThCLEVBQzlCLGFBQTZCLEVBQzdCLHFCQUE2QztRQUVoRSxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFObkQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUM3QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXdCO1FBUmxELFVBQUssR0FBVyxTQUFTLENBQUM7UUFDMUIsVUFBSyxHQUFXLFNBQVMsQ0FBQztJQVUxQyxDQUFDO0lBRUQsSUFBYSxjQUFjO1FBQ3pCLElBQUksR0FBRyxHQUFpQixFQUFFLENBQUM7UUFFM0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDeEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBSyxNQUFNLEVBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDM0csR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDM0csR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBSSxPQUFPLEVBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDM0csR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDekIsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxJQUFJLHdCQUF3QixDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5RSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUUzQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFBQSxDQUFDOytHQTNCUyxjQUFjO21IQUFkLGNBQWMsY0FGYixNQUFNOzs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcblxyXG5pbXBvcnQgeyBJbnB1dFN0cmluZ0NvbmZpZ3VyYXRpb24sIElucHV0U3RyaW5nVHlwZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LXN0cmluZy9pbnB1dC1zdHJpbmcuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IEFwaVVybFByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3dlYi9hcGktdXJsLXByb3ZpZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZUF0aXZvIH0gZnJvbSAnLi4vc2VydmljZXMvd2ViL2h0dHAuYXRpdm8uc2VydmljZSc7XHJcbmltcG9ydCB7IEdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi9nZW5lcmljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGFibGVGaWVsZCB9IGZyb20gJy4uL2NsYXNzZXMvaW5wdXRzL3RhYmxlLWZpZWxkJztcclxuaW1wb3J0IHsgSW5wdXRUeXBlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9pbnB1dHMvaW5wdXQtdHlwZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc3VhcmlvU2VydmljZSBleHRlbmRzIEh0dHBTZXJ2aWNlQXRpdm8ge1xyXG5cclxuICBwdWJsaWMgb3ZlcnJpZGUgcm91dGU6IHN0cmluZyA9IFwidXN1YXJpb1wiOyBcclxuICBwdWJsaWMgb3ZlcnJpZGUgdGl0bGU6IHN0cmluZyA9IFwiVXN1YXJpb1wiOyBcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2VuZXJpY1NlcnZpY2U6IEdlbmVyaWNTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIG5hdkNvbnRyb2xsZXIgOiBOYXZDb250cm9sbGVyLFxyXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGFwaVVybFByb3ZpZGVyU2VydmljZSA6IEFwaVVybFByb3ZpZGVyU2VydmljZSxcclxuICApIHsgXHJcbiAgICBzdXBlcihodHRwLCBmYiwgZ2VuZXJpY1NlcnZpY2UsIG5hdkNvbnRyb2xsZXIsIGFwaVVybFByb3ZpZGVyU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBnZXQgbHN0VGFibGVGaWVsZHMoKXtcclxuICAgIHZhciBsc3Q6IFRhYmxlRmllbGRbXSA9IFtdO1xyXG5cclxuICAgIGxzdFswXSA9IHRoaXMuZGVmYXVsdElkO1xyXG4gICAgbHN0WzFdID0gbmV3IFRhYmxlRmllbGQoXCJOb21lXCIgICAsIFwibm9tZVwiICAgLCB0aGlzLmZiLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksIElucHV0VHlwZS5TdHJpbmcpXHJcbiAgICBsc3RbMl0gPSBuZXcgVGFibGVGaWVsZChcIkFwZWxpZG9cIiwgXCJhcGVsaWRvXCIsIHRoaXMuZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSwgSW5wdXRUeXBlLlN0cmluZylcclxuICAgIGxzdFszXSA9IG5ldyBUYWJsZUZpZWxkKFwiU2VuaGFcIiAgLCBcInNlbmhhXCIgICwgdGhpcy5mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLCBJbnB1dFR5cGUuU3RyaW5nKVxyXG4gICAgbHN0WzNdLmhpZGRlblZpZXcgPSB0cnVlO1xyXG4gICAgbHN0WzNdLmNvbmZpZ3VyYXRpb24gPSBuZXcgSW5wdXRTdHJpbmdDb25maWd1cmF0aW9uKElucHV0U3RyaW5nVHlwZS5QYXNzd29yZCk7XHJcbiAgICBsc3RbNF0gPSB0aGlzLmRlZmF1bHRBdGl2bztcclxuXHJcbiAgICByZXR1cm4gbHN0O1xyXG4gIH07XHJcbn1cclxuIl19