@dereekb/dbx-firebase 12.6.21 → 13.0.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 (440) hide show
  1. package/LICENSE +1 -1
  2. package/fesm2022/dereekb-dbx-firebase.mjs +910 -1396
  3. package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
  4. package/package.json +21 -23
  5. package/types/dereekb-dbx-firebase.d.ts +4304 -0
  6. package/esm2022/dereekb-dbx-firebase.mjs +0 -5
  7. package/esm2022/index.mjs +0 -2
  8. package/esm2022/lib/analytics/analytics.user.events.providers.mjs +0 -25
  9. package/esm2022/lib/analytics/analytics.user.events.service.mjs +0 -37
  10. package/esm2022/lib/analytics/analytics.user.source.mjs +0 -48
  11. package/esm2022/lib/analytics/index.mjs +0 -4
  12. package/esm2022/lib/auth/appcheck/appcheck.interceptor.mjs +0 -76
  13. package/esm2022/lib/auth/appcheck/appcheck.mjs +0 -11
  14. package/esm2022/lib/auth/appcheck/index.mjs +0 -3
  15. package/esm2022/lib/auth/auth.mjs +0 -22
  16. package/esm2022/lib/auth/firebase.auth.module.mjs +0 -22
  17. package/esm2022/lib/auth/firebase.auth.providers.mjs +0 -27
  18. package/esm2022/lib/auth/index.mjs +0 -7
  19. package/esm2022/lib/auth/login/firebase.login.module.mjs +0 -124
  20. package/esm2022/lib/auth/login/firebase.login.providers.default.mjs +0 -109
  21. package/esm2022/lib/auth/login/firebase.login.providers.mjs +0 -59
  22. package/esm2022/lib/auth/login/index.mjs +0 -27
  23. package/esm2022/lib/auth/login/login.anonymous.component.mjs +0 -23
  24. package/esm2022/lib/auth/login/login.apple.component.mjs +0 -23
  25. package/esm2022/lib/auth/login/login.button.component.mjs +0 -148
  26. package/esm2022/lib/auth/login/login.component.mjs +0 -39
  27. package/esm2022/lib/auth/login/login.context.back.component.mjs +0 -26
  28. package/esm2022/lib/auth/login/login.context.directive.mjs +0 -30
  29. package/esm2022/lib/auth/login/login.context.mjs +0 -7
  30. package/esm2022/lib/auth/login/login.email.component.mjs +0 -24
  31. package/esm2022/lib/auth/login/login.email.content.component.mjs +0 -102
  32. package/esm2022/lib/auth/login/login.email.form.component.mjs +0 -27
  33. package/esm2022/lib/auth/login/login.email.recovery.form.component.mjs +0 -21
  34. package/esm2022/lib/auth/login/login.facebook.component.mjs +0 -23
  35. package/esm2022/lib/auth/login/login.github.component.mjs +0 -23
  36. package/esm2022/lib/auth/login/login.google.component.mjs +0 -23
  37. package/esm2022/lib/auth/login/login.list.component.mjs +0 -71
  38. package/esm2022/lib/auth/login/login.microsoft.component.mjs +0 -23
  39. package/esm2022/lib/auth/login/login.mjs +0 -3
  40. package/esm2022/lib/auth/login/login.password.mjs +0 -4
  41. package/esm2022/lib/auth/login/login.service.mjs +0 -127
  42. package/esm2022/lib/auth/login/login.terms.component.mjs +0 -29
  43. package/esm2022/lib/auth/login/login.terms.mjs +0 -6
  44. package/esm2022/lib/auth/login/login.terms.simple.component.mjs +0 -38
  45. package/esm2022/lib/auth/login/login.twitter.component.mjs +0 -23
  46. package/esm2022/lib/auth/login/register.component.mjs +0 -27
  47. package/esm2022/lib/auth/login/register.email.component.mjs +0 -23
  48. package/esm2022/lib/auth/service/firebase.auth.rxjs.mjs +0 -46
  49. package/esm2022/lib/auth/service/firebase.auth.service.delegate.mjs +0 -28
  50. package/esm2022/lib/auth/service/firebase.auth.service.mjs +0 -193
  51. package/esm2022/lib/auth/service/index.mjs +0 -4
  52. package/esm2022/lib/development/development.directive.mjs +0 -78
  53. package/esm2022/lib/development/development.module.mjs +0 -61
  54. package/esm2022/lib/development/development.popup.component.mjs +0 -44
  55. package/esm2022/lib/development/development.popup.content.component.mjs +0 -79
  56. package/esm2022/lib/development/development.popup.content.form.component.mjs +0 -39
  57. package/esm2022/lib/development/development.providers.mjs +0 -47
  58. package/esm2022/lib/development/development.scheduler.list.component.mjs +0 -79
  59. package/esm2022/lib/development/development.scheduler.service.mjs +0 -78
  60. package/esm2022/lib/development/development.scheduler.widget.component.mjs +0 -40
  61. package/esm2022/lib/development/development.service.mjs +0 -20
  62. package/esm2022/lib/development/development.widget.mjs +0 -2
  63. package/esm2022/lib/development/development.widget.service.mjs +0 -56
  64. package/esm2022/lib/development/index.mjs +0 -14
  65. package/esm2022/lib/firebase/appcheck.mjs +0 -2
  66. package/esm2022/lib/firebase/emulators.mjs +0 -14
  67. package/esm2022/lib/firebase/firebase.emulator.module.mjs +0 -23
  68. package/esm2022/lib/firebase/firebase.emulator.providers.mjs +0 -33
  69. package/esm2022/lib/firebase/firebase.emulator.service.mjs +0 -29
  70. package/esm2022/lib/firebase/firebase.module.mjs +0 -26
  71. package/esm2022/lib/firebase/firebase.options.environment.mjs +0 -2
  72. package/esm2022/lib/firebase/firebase.options.mjs +0 -3
  73. package/esm2022/lib/firebase/firebase.providers.mjs +0 -149
  74. package/esm2022/lib/firebase/index.mjs +0 -10
  75. package/esm2022/lib/firestore/firebase.firestore.context.service.mjs +0 -18
  76. package/esm2022/lib/firestore/firebase.firestore.mjs +0 -6
  77. package/esm2022/lib/firestore/firebase.firestore.module.mjs +0 -23
  78. package/esm2022/lib/firestore/firebase.firestore.providers.mjs +0 -86
  79. package/esm2022/lib/firestore/index.mjs +0 -5
  80. package/esm2022/lib/function/firebase.function.module.mjs +0 -23
  81. package/esm2022/lib/function/firebase.function.providers.mjs +0 -54
  82. package/esm2022/lib/function/index.mjs +0 -3
  83. package/esm2022/lib/index.mjs +0 -14
  84. package/esm2022/lib/model/error.mjs +0 -6
  85. package/esm2022/lib/model/index.mjs +0 -7
  86. package/esm2022/lib/model/loader/collection.change.trigger.mjs +0 -80
  87. package/esm2022/lib/model/loader/collection.change.watcher.mjs +0 -35
  88. package/esm2022/lib/model/loader/collection.loader.instance.mjs +0 -227
  89. package/esm2022/lib/model/loader/collection.loader.mjs +0 -2
  90. package/esm2022/lib/model/loader/document.loader.instance.mjs +0 -68
  91. package/esm2022/lib/model/loader/document.loader.mjs +0 -2
  92. package/esm2022/lib/model/loader/index.mjs +0 -7
  93. package/esm2022/lib/model/model.module.mjs +0 -17
  94. package/esm2022/lib/model/modules/index.mjs +0 -3
  95. package/esm2022/lib/model/modules/model/entities/index.mjs +0 -11
  96. package/esm2022/lib/model/modules/model/entities/model.entities.component.mjs +0 -122
  97. package/esm2022/lib/model/modules/model/entities/model.entities.entity.component.mjs +0 -79
  98. package/esm2022/lib/model/modules/model/entities/model.entities.mjs +0 -15
  99. package/esm2022/lib/model/modules/model/entities/model.entities.popover.button.component.mjs +0 -49
  100. package/esm2022/lib/model/modules/model/entities/model.entities.popover.component.mjs +0 -42
  101. package/esm2022/lib/model/modules/model/entities/model.entities.providers.mjs +0 -20
  102. package/esm2022/lib/model/modules/model/entities/model.entities.source.directive.mjs +0 -38
  103. package/esm2022/lib/model/modules/model/entities/model.entities.widget.entity.abstract.directive.mjs +0 -18
  104. package/esm2022/lib/model/modules/model/entities/model.entities.widget.entity.debug.component.mjs +0 -41
  105. package/esm2022/lib/model/modules/model/entities/model.entities.widget.mjs +0 -51
  106. package/esm2022/lib/model/modules/model/entities/model.entities.widget.service.mjs +0 -91
  107. package/esm2022/lib/model/modules/model/history/index.mjs +0 -7
  108. package/esm2022/lib/model/modules/model/history/model.history.component.mjs +0 -36
  109. package/esm2022/lib/model/modules/model/history/model.history.module.mjs +0 -26
  110. package/esm2022/lib/model/modules/model/history/model.history.popover.button.component.mjs +0 -40
  111. package/esm2022/lib/model/modules/model/history/model.history.popover.component.mjs +0 -36
  112. package/esm2022/lib/model/modules/model/history/model.sourceselect.history.mjs +0 -18
  113. package/esm2022/lib/model/modules/model/history/model.tracker.service.mjs +0 -58
  114. package/esm2022/lib/model/modules/model/index.mjs +0 -8
  115. package/esm2022/lib/model/modules/model/model.key.component.mjs +0 -51
  116. package/esm2022/lib/model/modules/model/model.types.list.component.mjs +0 -67
  117. package/esm2022/lib/model/modules/model/model.types.module.mjs +0 -26
  118. package/esm2022/lib/model/modules/model/model.types.providers.mjs +0 -20
  119. package/esm2022/lib/model/modules/model/model.types.service.mjs +0 -122
  120. package/esm2022/lib/model/modules/model/model.types.view.directive.mjs +0 -45
  121. package/esm2022/lib/model/modules/store/index.mjs +0 -22
  122. package/esm2022/lib/model/modules/store/model.store.module.mjs +0 -21
  123. package/esm2022/lib/model/modules/store/store.collection.change.directive.mjs +0 -45
  124. package/esm2022/lib/model/modules/store/store.collection.change.if.directive.mjs +0 -42
  125. package/esm2022/lib/model/modules/store/store.collection.crud.mjs +0 -28
  126. package/esm2022/lib/model/modules/store/store.collection.directive.mjs +0 -99
  127. package/esm2022/lib/model/modules/store/store.collection.list.directive.mjs +0 -31
  128. package/esm2022/lib/model/modules/store/store.collection.mjs +0 -79
  129. package/esm2022/lib/model/modules/store/store.document.context.store.directive.mjs +0 -19
  130. package/esm2022/lib/model/modules/store/store.document.context.store.link.mjs +0 -45
  131. package/esm2022/lib/model/modules/store/store.document.context.store.mjs +0 -86
  132. package/esm2022/lib/model/modules/store/store.document.crud.mjs +0 -80
  133. package/esm2022/lib/model/modules/store/store.document.directive.mjs +0 -114
  134. package/esm2022/lib/model/modules/store/store.document.mjs +0 -193
  135. package/esm2022/lib/model/modules/store/store.document.twoway.key.directive.mjs +0 -26
  136. package/esm2022/lib/model/modules/store/store.document.twoway.key.source.directive.mjs +0 -22
  137. package/esm2022/lib/model/modules/store/store.document.twoway.key.source.mjs +0 -16
  138. package/esm2022/lib/model/modules/store/store.mjs +0 -2
  139. package/esm2022/lib/model/modules/store/store.subcollection.directive.mjs +0 -44
  140. package/esm2022/lib/model/modules/store/store.subcollection.document.mjs +0 -99
  141. package/esm2022/lib/model/modules/store/store.subcollection.mjs +0 -80
  142. package/esm2022/lib/model/modules/store/store.subcollection.rxjs.mjs +0 -23
  143. package/esm2022/lib/model/service/index.mjs +0 -5
  144. package/esm2022/lib/model/service/model.context.instance.mjs +0 -73
  145. package/esm2022/lib/model/service/model.context.mjs +0 -2
  146. package/esm2022/lib/model/service/model.context.providers.mjs +0 -32
  147. package/esm2022/lib/model/service/model.context.service.mjs +0 -38
  148. package/esm2022/lib/model/system/index.mjs +0 -6
  149. package/esm2022/lib/model/system/systemstate.collection.store.directive.mjs +0 -20
  150. package/esm2022/lib/model/system/systemstate.collection.store.mjs +0 -16
  151. package/esm2022/lib/model/system/systemstate.document.store.accessor.mjs +0 -35
  152. package/esm2022/lib/model/system/systemstate.document.store.directive.mjs +0 -19
  153. package/esm2022/lib/model/system/systemstate.document.store.mjs +0 -16
  154. package/esm2022/lib/module.mjs +0 -15
  155. package/esm2022/lib/modules/index.mjs +0 -3
  156. package/esm2022/lib/modules/notification/component/index.mjs +0 -6
  157. package/esm2022/lib/modules/notification/component/notificationitem.content.component.mjs +0 -15
  158. package/esm2022/lib/modules/notification/component/notificationitem.list.component.mjs +0 -90
  159. package/esm2022/lib/modules/notification/component/notificationitem.view.component.mjs +0 -37
  160. package/esm2022/lib/modules/notification/component/notificationitem.view.default.component.mjs +0 -27
  161. package/esm2022/lib/modules/notification/component/notificationitem.view.directive.mjs +0 -14
  162. package/esm2022/lib/modules/notification/container/index.mjs +0 -3
  163. package/esm2022/lib/modules/notification/container/notification.item.store.popover.button.component.mjs +0 -48
  164. package/esm2022/lib/modules/notification/container/notification.item.store.popover.component.mjs +0 -35
  165. package/esm2022/lib/modules/notification/index.mjs +0 -7
  166. package/esm2022/lib/modules/notification/notification.module.mjs +0 -103
  167. package/esm2022/lib/modules/notification/notification.providers.mjs +0 -47
  168. package/esm2022/lib/modules/notification/service/index.mjs +0 -4
  169. package/esm2022/lib/modules/notification/service/notification.template.service.mjs +0 -28
  170. package/esm2022/lib/modules/notification/service/notificationitem.widget.mjs +0 -11
  171. package/esm2022/lib/modules/notification/service/notificationitem.widget.service.mjs +0 -55
  172. package/esm2022/lib/modules/notification/store/index.mjs +0 -18
  173. package/esm2022/lib/modules/notification/store/notification.collection.store.directive.mjs +0 -21
  174. package/esm2022/lib/modules/notification/store/notification.collection.store.mjs +0 -23
  175. package/esm2022/lib/modules/notification/store/notification.document.store.directive.mjs +0 -21
  176. package/esm2022/lib/modules/notification/store/notification.document.store.mjs +0 -33
  177. package/esm2022/lib/modules/notification/store/notification.item.store.mjs +0 -30
  178. package/esm2022/lib/modules/notification/store/notificationbox.collection.store.directive.mjs +0 -21
  179. package/esm2022/lib/modules/notification/store/notificationbox.collection.store.mjs +0 -16
  180. package/esm2022/lib/modules/notification/store/notificationbox.document.store.directive.mjs +0 -21
  181. package/esm2022/lib/modules/notification/store/notificationbox.document.store.mjs +0 -22
  182. package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.directive.mjs +0 -21
  183. package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.mjs +0 -16
  184. package/esm2022/lib/modules/notification/store/notificationsummary.document.store.directive.mjs +0 -21
  185. package/esm2022/lib/modules/notification/store/notificationsummary.document.store.mjs +0 -34
  186. package/esm2022/lib/modules/notification/store/notificationuser.collection.store.directive.mjs +0 -21
  187. package/esm2022/lib/modules/notification/store/notificationuser.collection.store.mjs +0 -16
  188. package/esm2022/lib/modules/notification/store/notificationuser.document.store.directive.mjs +0 -21
  189. package/esm2022/lib/modules/notification/store/notificationuser.document.store.mjs +0 -18
  190. package/esm2022/lib/modules/storagefile/container/index.mjs +0 -8
  191. package/esm2022/lib/modules/storagefile/container/storagefile.download.button.component.mjs +0 -278
  192. package/esm2022/lib/modules/storagefile/container/storagefile.upload.action.handler.directive.mjs +0 -118
  193. package/esm2022/lib/modules/storagefile/container/storagefile.upload.error.mjs +0 -12
  194. package/esm2022/lib/modules/storagefile/container/storagefile.upload.handler.mjs +0 -260
  195. package/esm2022/lib/modules/storagefile/container/storagefile.upload.initialize.document.directive.mjs +0 -51
  196. package/esm2022/lib/modules/storagefile/container/storagefile.upload.store.directive.mjs +0 -38
  197. package/esm2022/lib/modules/storagefile/container/storagefile.upload.sync.directive.mjs +0 -36
  198. package/esm2022/lib/modules/storagefile/index.mjs +0 -6
  199. package/esm2022/lib/modules/storagefile/service/index.mjs +0 -3
  200. package/esm2022/lib/modules/storagefile/service/storagefile.download.service.mjs +0 -158
  201. package/esm2022/lib/modules/storagefile/service/storagefile.download.storage.service.mjs +0 -91
  202. package/esm2022/lib/modules/storagefile/storagefile.providers.mjs +0 -33
  203. package/esm2022/lib/modules/storagefile/storagefile.upload.module.mjs +0 -83
  204. package/esm2022/lib/modules/storagefile/store/index.mjs +0 -8
  205. package/esm2022/lib/modules/storagefile/store/storagefile.collection.store.directive.mjs +0 -22
  206. package/esm2022/lib/modules/storagefile/store/storagefile.collection.store.mjs +0 -18
  207. package/esm2022/lib/modules/storagefile/store/storagefile.document.store.directive.mjs +0 -21
  208. package/esm2022/lib/modules/storagefile/store/storagefile.document.store.mjs +0 -23
  209. package/esm2022/lib/modules/storagefile/store/storagefile.upload.store.mjs +0 -63
  210. package/esm2022/lib/modules/storagefile/store/storagefilegroup.document.store.directive.mjs +0 -21
  211. package/esm2022/lib/modules/storagefile/store/storagefilegroup.document.store.mjs +0 -18
  212. package/esm2022/lib/pipe/index.mjs +0 -4
  213. package/esm2022/lib/pipe/key.flat.pipe.mjs +0 -20
  214. package/esm2022/lib/pipe/key.twoway.pipe.mjs +0 -20
  215. package/esm2022/lib/pipe/pipe.module.mjs +0 -23
  216. package/esm2022/lib/providers.mjs +0 -48
  217. package/esm2022/lib/router/id.param.redirect.mjs +0 -64
  218. package/esm2022/lib/router/index.mjs +0 -2
  219. package/esm2022/lib/storage/firebase.storage.mjs +0 -10
  220. package/esm2022/lib/storage/firebase.storage.module.mjs +0 -22
  221. package/esm2022/lib/storage/firebase.storage.providers.mjs +0 -44
  222. package/esm2022/lib/storage/firebase.storage.service.mjs +0 -27
  223. package/esm2022/lib/storage/index.mjs +0 -5
  224. package/index.d.ts +0 -1
  225. package/lib/analytics/analytics.user.events.providers.d.ts +0 -6
  226. package/lib/analytics/analytics.user.events.service.d.ts +0 -19
  227. package/lib/analytics/analytics.user.source.d.ts +0 -21
  228. package/lib/analytics/index.d.ts +0 -3
  229. package/lib/auth/appcheck/appcheck.d.ts +0 -8
  230. package/lib/auth/appcheck/appcheck.interceptor.d.ts +0 -15
  231. package/lib/auth/appcheck/index.d.ts +0 -2
  232. package/lib/auth/auth.d.ts +0 -15
  233. package/lib/auth/firebase.auth.module.d.ts +0 -13
  234. package/lib/auth/firebase.auth.providers.d.ts +0 -21
  235. package/lib/auth/index.d.ts +0 -6
  236. package/lib/auth/login/firebase.login.module.d.ts +0 -36
  237. package/lib/auth/login/firebase.login.providers.d.ts +0 -32
  238. package/lib/auth/login/firebase.login.providers.default.d.ts +0 -7
  239. package/lib/auth/login/index.d.ts +0 -26
  240. package/lib/auth/login/login.anonymous.component.d.ts +0 -8
  241. package/lib/auth/login/login.apple.component.d.ts +0 -8
  242. package/lib/auth/login/login.button.component.d.ts +0 -53
  243. package/lib/auth/login/login.component.d.ts +0 -14
  244. package/lib/auth/login/login.context.back.component.d.ts +0 -8
  245. package/lib/auth/login/login.context.d.ts +0 -6
  246. package/lib/auth/login/login.context.directive.d.ts +0 -10
  247. package/lib/auth/login/login.d.ts +0 -7
  248. package/lib/auth/login/login.email.component.d.ts +0 -8
  249. package/lib/auth/login/login.email.content.component.d.ts +0 -41
  250. package/lib/auth/login/login.email.form.component.d.ts +0 -17
  251. package/lib/auth/login/login.email.recovery.form.component.d.ts +0 -11
  252. package/lib/auth/login/login.facebook.component.d.ts +0 -8
  253. package/lib/auth/login/login.github.component.d.ts +0 -8
  254. package/lib/auth/login/login.google.component.d.ts +0 -8
  255. package/lib/auth/login/login.list.component.d.ts +0 -21
  256. package/lib/auth/login/login.microsoft.component.d.ts +0 -8
  257. package/lib/auth/login/login.password.d.ts +0 -3
  258. package/lib/auth/login/login.service.d.ts +0 -115
  259. package/lib/auth/login/login.terms.component.d.ts +0 -9
  260. package/lib/auth/login/login.terms.d.ts +0 -18
  261. package/lib/auth/login/login.terms.simple.component.d.ts +0 -9
  262. package/lib/auth/login/login.twitter.component.d.ts +0 -8
  263. package/lib/auth/login/register.component.d.ts +0 -12
  264. package/lib/auth/login/register.email.component.d.ts +0 -8
  265. package/lib/auth/service/firebase.auth.rxjs.d.ts +0 -23
  266. package/lib/auth/service/firebase.auth.service.d.ts +0 -95
  267. package/lib/auth/service/firebase.auth.service.delegate.d.ts +0 -25
  268. package/lib/auth/service/index.d.ts +0 -3
  269. package/lib/development/development.directive.d.ts +0 -24
  270. package/lib/development/development.module.d.ts +0 -15
  271. package/lib/development/development.popup.component.d.ts +0 -14
  272. package/lib/development/development.popup.content.component.d.ts +0 -49
  273. package/lib/development/development.popup.content.form.component.d.ts +0 -17
  274. package/lib/development/development.providers.d.ts +0 -32
  275. package/lib/development/development.scheduler.list.component.d.ts +0 -23
  276. package/lib/development/development.scheduler.service.d.ts +0 -31
  277. package/lib/development/development.scheduler.widget.component.d.ts +0 -12
  278. package/lib/development/development.service.d.ts +0 -16
  279. package/lib/development/development.widget.d.ts +0 -8
  280. package/lib/development/development.widget.service.d.ts +0 -29
  281. package/lib/development/index.d.ts +0 -13
  282. package/lib/firebase/appcheck.d.ts +0 -21
  283. package/lib/firebase/emulators.d.ts +0 -60
  284. package/lib/firebase/firebase.emulator.module.d.ts +0 -14
  285. package/lib/firebase/firebase.emulator.providers.d.ts +0 -13
  286. package/lib/firebase/firebase.emulator.service.d.ts +0 -11
  287. package/lib/firebase/firebase.module.d.ts +0 -14
  288. package/lib/firebase/firebase.options.d.ts +0 -36
  289. package/lib/firebase/firebase.options.environment.d.ts +0 -10
  290. package/lib/firebase/firebase.providers.d.ts +0 -51
  291. package/lib/firebase/index.d.ts +0 -9
  292. package/lib/firestore/firebase.firestore.context.service.d.ts +0 -10
  293. package/lib/firestore/firebase.firestore.d.ts +0 -5
  294. package/lib/firestore/firebase.firestore.module.d.ts +0 -15
  295. package/lib/firestore/firebase.firestore.providers.d.ts +0 -62
  296. package/lib/firestore/index.d.ts +0 -4
  297. package/lib/function/firebase.function.module.d.ts +0 -16
  298. package/lib/function/firebase.function.providers.d.ts +0 -43
  299. package/lib/function/index.d.ts +0 -2
  300. package/lib/index.d.ts +0 -13
  301. package/lib/model/error.d.ts +0 -2
  302. package/lib/model/index.d.ts +0 -6
  303. package/lib/model/loader/collection.change.trigger.d.ts +0 -57
  304. package/lib/model/loader/collection.change.watcher.d.ts +0 -44
  305. package/lib/model/loader/collection.loader.d.ts +0 -61
  306. package/lib/model/loader/collection.loader.instance.d.ts +0 -110
  307. package/lib/model/loader/document.loader.d.ts +0 -75
  308. package/lib/model/loader/document.loader.instance.d.ts +0 -46
  309. package/lib/model/loader/index.d.ts +0 -6
  310. package/lib/model/model.module.d.ts +0 -9
  311. package/lib/model/modules/index.d.ts +0 -2
  312. package/lib/model/modules/model/entities/index.d.ts +0 -10
  313. package/lib/model/modules/model/entities/model.entities.component.d.ts +0 -47
  314. package/lib/model/modules/model/entities/model.entities.d.ts +0 -60
  315. package/lib/model/modules/model/entities/model.entities.entity.component.d.ts +0 -43
  316. package/lib/model/modules/model/entities/model.entities.popover.button.component.d.ts +0 -30
  317. package/lib/model/modules/model/entities/model.entities.popover.component.d.ts +0 -59
  318. package/lib/model/modules/model/entities/model.entities.providers.d.ts +0 -22
  319. package/lib/model/modules/model/entities/model.entities.source.directive.d.ts +0 -8
  320. package/lib/model/modules/model/entities/model.entities.widget.d.ts +0 -30
  321. package/lib/model/modules/model/entities/model.entities.widget.entity.abstract.directive.d.ts +0 -13
  322. package/lib/model/modules/model/entities/model.entities.widget.entity.debug.component.d.ts +0 -17
  323. package/lib/model/modules/model/entities/model.entities.widget.service.d.ts +0 -74
  324. package/lib/model/modules/model/history/index.d.ts +0 -6
  325. package/lib/model/modules/model/history/model.history.component.d.ts +0 -16
  326. package/lib/model/modules/model/history/model.history.module.d.ts +0 -16
  327. package/lib/model/modules/model/history/model.history.popover.button.component.d.ts +0 -16
  328. package/lib/model/modules/model/history/model.history.popover.component.d.ts +0 -50
  329. package/lib/model/modules/model/history/model.sourceselect.history.d.ts +0 -32
  330. package/lib/model/modules/model/history/model.tracker.service.d.ts +0 -43
  331. package/lib/model/modules/model/index.d.ts +0 -7
  332. package/lib/model/modules/model/model.key.component.d.ts +0 -25
  333. package/lib/model/modules/model/model.types.list.component.d.ts +0 -22
  334. package/lib/model/modules/model/model.types.module.d.ts +0 -16
  335. package/lib/model/modules/model/model.types.providers.d.ts +0 -22
  336. package/lib/model/modules/model/model.types.service.d.ts +0 -90
  337. package/lib/model/modules/model/model.types.view.directive.d.ts +0 -19
  338. package/lib/model/modules/store/index.d.ts +0 -21
  339. package/lib/model/modules/store/model.store.module.d.ts +0 -11
  340. package/lib/model/modules/store/store.collection.change.directive.d.ts +0 -28
  341. package/lib/model/modules/store/store.collection.change.if.directive.d.ts +0 -18
  342. package/lib/model/modules/store/store.collection.crud.d.ts +0 -21
  343. package/lib/model/modules/store/store.collection.d.ts +0 -97
  344. package/lib/model/modules/store/store.collection.directive.d.ts +0 -56
  345. package/lib/model/modules/store/store.collection.list.directive.d.ts +0 -16
  346. package/lib/model/modules/store/store.d.ts +0 -87
  347. package/lib/model/modules/store/store.document.context.store.d.ts +0 -59
  348. package/lib/model/modules/store/store.document.context.store.directive.d.ts +0 -8
  349. package/lib/model/modules/store/store.document.context.store.link.d.ts +0 -17
  350. package/lib/model/modules/store/store.document.crud.d.ts +0 -63
  351. package/lib/model/modules/store/store.document.d.ts +0 -101
  352. package/lib/model/modules/store/store.document.directive.d.ts +0 -66
  353. package/lib/model/modules/store/store.document.twoway.key.directive.d.ts +0 -14
  354. package/lib/model/modules/store/store.document.twoway.key.source.d.ts +0 -10
  355. package/lib/model/modules/store/store.document.twoway.key.source.directive.d.ts +0 -13
  356. package/lib/model/modules/store/store.subcollection.d.ts +0 -51
  357. package/lib/model/modules/store/store.subcollection.directive.d.ts +0 -28
  358. package/lib/model/modules/store/store.subcollection.document.d.ts +0 -67
  359. package/lib/model/modules/store/store.subcollection.rxjs.d.ts +0 -24
  360. package/lib/model/service/index.d.ts +0 -4
  361. package/lib/model/service/model.context.d.ts +0 -33
  362. package/lib/model/service/model.context.instance.d.ts +0 -17
  363. package/lib/model/service/model.context.providers.d.ts +0 -18
  364. package/lib/model/service/model.context.service.d.ts +0 -31
  365. package/lib/model/system/index.d.ts +0 -5
  366. package/lib/model/system/systemstate.collection.store.d.ts +0 -8
  367. package/lib/model/system/systemstate.collection.store.directive.d.ts +0 -9
  368. package/lib/model/system/systemstate.document.store.accessor.d.ts +0 -22
  369. package/lib/model/system/systemstate.document.store.d.ts +0 -8
  370. package/lib/model/system/systemstate.document.store.directive.d.ts +0 -9
  371. package/lib/module.d.ts +0 -7
  372. package/lib/modules/index.d.ts +0 -2
  373. package/lib/modules/notification/component/index.d.ts +0 -5
  374. package/lib/modules/notification/component/notificationitem.content.component.d.ts +0 -9
  375. package/lib/modules/notification/component/notificationitem.list.component.d.ts +0 -24
  376. package/lib/modules/notification/component/notificationitem.view.component.d.ts +0 -10
  377. package/lib/modules/notification/component/notificationitem.view.default.component.d.ts +0 -9
  378. package/lib/modules/notification/component/notificationitem.view.directive.d.ts +0 -8
  379. package/lib/modules/notification/container/index.d.ts +0 -2
  380. package/lib/modules/notification/container/notification.item.store.popover.button.component.d.ts +0 -17
  381. package/lib/modules/notification/container/notification.item.store.popover.component.d.ts +0 -50
  382. package/lib/modules/notification/index.d.ts +0 -6
  383. package/lib/modules/notification/notification.module.d.ts +0 -38
  384. package/lib/modules/notification/notification.providers.d.ts +0 -24
  385. package/lib/modules/notification/service/index.d.ts +0 -3
  386. package/lib/modules/notification/service/notification.template.service.d.ts +0 -11
  387. package/lib/modules/notification/service/notificationitem.widget.d.ts +0 -26
  388. package/lib/modules/notification/service/notificationitem.widget.service.d.ts +0 -22
  389. package/lib/modules/notification/store/index.d.ts +0 -17
  390. package/lib/modules/notification/store/notification.collection.store.d.ts +0 -9
  391. package/lib/modules/notification/store/notification.collection.store.directive.d.ts +0 -9
  392. package/lib/modules/notification/store/notification.document.store.d.ts +0 -16
  393. package/lib/modules/notification/store/notification.document.store.directive.d.ts +0 -9
  394. package/lib/modules/notification/store/notification.item.store.d.ts +0 -28
  395. package/lib/modules/notification/store/notificationbox.collection.store.d.ts +0 -8
  396. package/lib/modules/notification/store/notificationbox.collection.store.directive.d.ts +0 -9
  397. package/lib/modules/notification/store/notificationbox.document.store.d.ts +0 -13
  398. package/lib/modules/notification/store/notificationbox.document.store.directive.d.ts +0 -9
  399. package/lib/modules/notification/store/notificationsummary.collection.store.d.ts +0 -8
  400. package/lib/modules/notification/store/notificationsummary.collection.store.directive.d.ts +0 -9
  401. package/lib/modules/notification/store/notificationsummary.document.store.d.ts +0 -21
  402. package/lib/modules/notification/store/notificationsummary.document.store.directive.d.ts +0 -9
  403. package/lib/modules/notification/store/notificationuser.collection.store.d.ts +0 -8
  404. package/lib/modules/notification/store/notificationuser.collection.store.directive.d.ts +0 -9
  405. package/lib/modules/notification/store/notificationuser.document.store.d.ts +0 -11
  406. package/lib/modules/notification/store/notificationuser.document.store.directive.d.ts +0 -9
  407. package/lib/modules/storagefile/container/index.d.ts +0 -7
  408. package/lib/modules/storagefile/container/storagefile.download.button.component.d.ts +0 -160
  409. package/lib/modules/storagefile/container/storagefile.upload.action.handler.directive.d.ts +0 -47
  410. package/lib/modules/storagefile/container/storagefile.upload.error.d.ts +0 -9
  411. package/lib/modules/storagefile/container/storagefile.upload.handler.d.ts +0 -183
  412. package/lib/modules/storagefile/container/storagefile.upload.initialize.document.directive.d.ts +0 -21
  413. package/lib/modules/storagefile/container/storagefile.upload.store.directive.d.ts +0 -20
  414. package/lib/modules/storagefile/container/storagefile.upload.sync.directive.d.ts +0 -18
  415. package/lib/modules/storagefile/index.d.ts +0 -5
  416. package/lib/modules/storagefile/service/index.d.ts +0 -2
  417. package/lib/modules/storagefile/service/storagefile.download.service.d.ts +0 -79
  418. package/lib/modules/storagefile/service/storagefile.download.storage.service.d.ts +0 -56
  419. package/lib/modules/storagefile/storagefile.providers.d.ts +0 -13
  420. package/lib/modules/storagefile/storagefile.upload.module.d.ts +0 -29
  421. package/lib/modules/storagefile/store/index.d.ts +0 -7
  422. package/lib/modules/storagefile/store/storagefile.collection.store.d.ts +0 -10
  423. package/lib/modules/storagefile/store/storagefile.collection.store.directive.d.ts +0 -9
  424. package/lib/modules/storagefile/store/storagefile.document.store.d.ts +0 -16
  425. package/lib/modules/storagefile/store/storagefile.document.store.directive.d.ts +0 -9
  426. package/lib/modules/storagefile/store/storagefile.upload.store.d.ts +0 -166
  427. package/lib/modules/storagefile/store/storagefilegroup.document.store.d.ts +0 -11
  428. package/lib/modules/storagefile/store/storagefilegroup.document.store.directive.d.ts +0 -9
  429. package/lib/pipe/index.d.ts +0 -3
  430. package/lib/pipe/key.flat.pipe.d.ts +0 -9
  431. package/lib/pipe/key.twoway.pipe.d.ts +0 -9
  432. package/lib/pipe/pipe.module.d.ts +0 -13
  433. package/lib/providers.d.ts +0 -64
  434. package/lib/router/id.param.redirect.d.ts +0 -41
  435. package/lib/router/index.d.ts +0 -1
  436. package/lib/storage/firebase.storage.d.ts +0 -9
  437. package/lib/storage/firebase.storage.module.d.ts +0 -13
  438. package/lib/storage/firebase.storage.providers.d.ts +0 -31
  439. package/lib/storage/firebase.storage.service.d.ts +0 -13
  440. package/lib/storage/index.d.ts +0 -4
@@ -1,158 +0,0 @@
1
- import { inject, Injectable } from '@angular/core';
2
- import { StorageFileFunctions, firestoreModelId, firestoreModelKey, storageFileIdentity } from '@dereekb/firebase';
3
- import { addMilliseconds, MS_IN_DAY, MS_IN_HOUR, MS_IN_MINUTE, SECONDS_IN_MINUTE, unixDateTimeSecondsNumberForNow, unixDateTimeSecondsNumberFromDate } from '@dereekb/util';
4
- import { DbxFirebaseStorageFileDownloadStorage } from './storagefile.download.storage.service';
5
- import { first, firstValueFrom, from, interval, map, of, shareReplay, startWith, switchMap, tap } from 'rxjs';
6
- import { throwErrorFromLoadingStateError, valueFromFinishedLoadingState } from '@dereekb/rxjs';
7
- import * as i0 from "@angular/core";
8
- export function dbxFirebaseStorageFileDownloadServiceCustomSourceFromObs(obsForInput) {
9
- return {
10
- downloadStorageFileResult: (params, storageFileId) => firstValueFrom(obsForInput(params, storageFileId).pipe(throwErrorFromLoadingStateError(), valueFromFinishedLoadingState()))
11
- };
12
- }
13
- /**
14
- * Service used for retrieving download links for StorageFiles.
15
- */
16
- export class DbxFirebaseStorageFileDownloadService {
17
- /**
18
- * Expiration duration for cached download URLs.
19
- */
20
- _expiresAfterTime = MS_IN_HOUR * 12;
21
- /**
22
- * When reading cached values, this buffer is added to the expiration time to prevent the URL from expiring while it is being used.
23
- */
24
- _expiresAfterTimeBuffer = SECONDS_IN_MINUTE * 10;
25
- storageFileFunctions = inject(StorageFileFunctions);
26
- storageFileDownloadStorage = inject(DbxFirebaseStorageFileDownloadStorage);
27
- // MARK: Config
28
- getExpiresAfterTime() {
29
- return this._expiresAfterTime;
30
- }
31
- setExpiresAfterTime(expiresAfter) {
32
- const maxAllowed = MS_IN_DAY * 20;
33
- if (expiresAfter > maxAllowed) {
34
- throw new Error(`Expires after time cannot be greater than 20 days.`);
35
- }
36
- else if (expiresAfter < MS_IN_HOUR) {
37
- throw new Error(`Expires after time cannot be less than 1 hour.`);
38
- }
39
- this._expiresAfterTime = expiresAfter;
40
- }
41
- // MARK: Download
42
- /**
43
- * Returns an observable that returns the cached download URL pair for the StorageFile, and emits null once it expires.
44
- *
45
- * @param storageFileIdOrKey
46
- * @returns
47
- */
48
- getCachedDownloadPairForStorageFile(storageFileIdOrKey) {
49
- const storageFileId = firestoreModelId(storageFileIdOrKey);
50
- return this.storageFileDownloadStorage.getDownloadUrlPair(storageFileId).pipe(switchMap((pair) => {
51
- let result;
52
- if (pair) {
53
- const expiresAt = pair.expiresAt - this._expiresAfterTimeBuffer;
54
- function pairIfNotExpired() {
55
- const now = unixDateTimeSecondsNumberForNow();
56
- const isExpired = now > expiresAt;
57
- return isExpired ? null : pair;
58
- }
59
- const initialPair = pairIfNotExpired();
60
- if (initialPair) {
61
- // every minute emit the result again
62
- result = interval(MS_IN_MINUTE).pipe(map(pairIfNotExpired), first((x) => x == null), // only emit the first null value
63
- startWith(initialPair), // send the initial value first
64
- shareReplay(1));
65
- }
66
- else {
67
- result = of(null);
68
- }
69
- }
70
- else {
71
- result = of(null);
72
- }
73
- return result;
74
- }));
75
- }
76
- /**
77
- * Retrieves the download URL for the StorageFile using the default parameters.
78
- *
79
- * These URLs are cached locally to prevent extra/redundant calls to the server.
80
- *
81
- * @param storageFileIdOrKey
82
- * @returns
83
- */
84
- downloadPairForStorageFile(storageFileIdOrKey) {
85
- return this.downloadPairForStorageFileUsingSource(storageFileIdOrKey, undefined);
86
- }
87
- /**
88
- * Retrieves the download URL for the StorageFile using the default parameters and pulled from the input source, if applicable.
89
- *
90
- * If no source is provided, uses the default internal source.
91
- *
92
- * These URLs are cached locally to prevent extra/redundant calls to the server.
93
- *
94
- * @param storageFileIdOrKey
95
- * @returns
96
- */
97
- downloadPairForStorageFileUsingSource(storageFileIdOrKey, source) {
98
- const storageFileId = firestoreModelId(storageFileIdOrKey);
99
- const obs = this.getCachedDownloadPairForStorageFile(storageFileId).pipe(switchMap((cachedPair) => {
100
- let result;
101
- const downloadAndCacheResult = () => {
102
- return from(this._createDownloadPairForStorageFileUsingSource(source, storageFileIdOrKey)).pipe(tap((downloadUrlPair) => {
103
- this.addPairForStorageFileToCache(downloadUrlPair);
104
- }));
105
- };
106
- if (cachedPair) {
107
- result = of(cachedPair);
108
- }
109
- else {
110
- result = downloadAndCacheResult();
111
- }
112
- return result;
113
- }), first(), shareReplay(1));
114
- return obs;
115
- }
116
- /**
117
- * Adds the given download URL pair to the cache.
118
- */
119
- addPairForStorageFileToCache(downloadUrlPair) {
120
- this.storageFileDownloadStorage.addDownloadUrl(downloadUrlPair).pipe(first()).subscribe();
121
- }
122
- /**
123
- * Creates a new download URL for the StorageFile.
124
- *
125
- * @param storageFileIdOrKey
126
- * @param inputParams
127
- * @returns
128
- */
129
- createDownloadPairForStorageFile(storageFileIdOrKey, inputParams) {
130
- return this._createDownloadPairForStorageFileUsingSource(undefined, storageFileIdOrKey, inputParams);
131
- }
132
- _createDownloadPairForStorageFileUsingSource(inputSource, storageFileIdOrKey, inputParams) {
133
- const source = inputSource ?? {
134
- downloadStorageFileResult: (params) => this.storageFileFunctions.storageFile.readStorageFile.download(params)
135
- };
136
- const storageFileId = firestoreModelId(storageFileIdOrKey);
137
- const expiresAt = inputParams?.expiresAt ?? addMilliseconds(new Date(), this._expiresAfterTime);
138
- const params = {
139
- ...inputParams,
140
- expiresAt,
141
- key: firestoreModelKey(storageFileIdentity, storageFileId)
142
- };
143
- return source.downloadStorageFileResult(params, storageFileId).then((x) => {
144
- return {
145
- id: storageFileId,
146
- downloadUrl: x.url,
147
- mimeType: x.mimeType,
148
- expiresAt: x.expiresAt ?? unixDateTimeSecondsNumberFromDate(expiresAt)
149
- };
150
- });
151
- }
152
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseStorageFileDownloadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
153
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseStorageFileDownloadService });
154
- }
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseStorageFileDownloadService, decorators: [{
156
- type: Injectable
157
- }] });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZWZpbGUuZG93bmxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZHVsZXMvc3RvcmFnZWZpbGUvc2VydmljZS9zdG9yYWdlZmlsZS5kb3dubG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBNEQsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQTZCLE1BQU0sbUJBQW1CLENBQUM7QUFDeE0sT0FBTyxFQUFFLGVBQWUsRUFBdUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQVcsaUJBQWlCLEVBQUUsK0JBQStCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMU0sT0FBTyxFQUFFLHFDQUFxQyxFQUF5QyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RJLE9BQU8sRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUgsT0FBTyxFQUFnQiwrQkFBK0IsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFpQjdHLE1BQU0sVUFBVSx3REFBd0QsQ0FBQyxXQUFxSTtJQUM1TSxPQUFPO1FBQ0wseUJBQXlCLEVBQUUsQ0FBQyxNQUFpQyxFQUFFLGFBQTRCLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxFQUFFLDZCQUE2QixFQUFFLENBQUMsQ0FBdUM7S0FDbFEsQ0FB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QUFxRSxFQUFFLGtCQUFrRCxFQUFFLFdBQW9EO1FBQ2xPLE1BQU0sTUFBTSxHQUFHLFdBQVcsSUFBSTtZQUM1Qix5QkFBeUIsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztTQUM5RyxDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMzRCxNQUFNLFNBQVMsR0FBRyxXQUFXLEVBQUUsU0FBUyxJQUFJLGVBQWUsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRWhHLE1BQU0sTUFBTSxHQUE4QjtZQUN4QyxHQUFHLFdBQVc7WUFDZCxTQUFTO1lBQ1QsR0FBRyxFQUFFLGlCQUFpQixDQUFDLG1CQUFtQixFQUFFLGFBQWEsQ0FBQztTQUMzRCxDQUFDO1FBRUYsT0FBTyxNQUFNLENBQUMseUJBQXlCLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3hFLE9BQU87Z0JBQ0wsRUFBRSxFQUFFLGFBQWE7Z0JBQ2pCLFdBQVcsRUFBRSxDQUFDLENBQUMsR0FBRztnQkFDbEIsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRO2dCQUNwQixTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVMsSUFBSSxpQ0FBaUMsQ0FBQyxTQUFTLENBQUM7YUFDdkUsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0F0S1UscUNBQXFDOzRHQUFyQyxxQ0FBcUM7OzRGQUFyQyxxQ0FBcUM7a0JBRGpELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JhZ2VGaWxlRnVuY3Rpb25zLCBEb3dubG9hZFN0b3JhZ2VGaWxlUGFyYW1zLCBTdG9yYWdlRmlsZUtleSwgU3RvcmFnZUZpbGVJZCwgZmlyZXN0b3JlTW9kZWxJZCwgZmlyZXN0b3JlTW9kZWxLZXksIHN0b3JhZ2VGaWxlSWRlbnRpdHksIERvd25sb2FkU3RvcmFnZUZpbGVSZXN1bHQgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5pbXBvcnQgeyBhZGRNaWxsaXNlY29uZHMsIE1heWJlLCBNaWxsaXNlY29uZHMsIE1TX0lOX0RBWSwgTVNfSU5fSE9VUiwgTVNfSU5fTUlOVVRFLCBTZWNvbmRzLCBTRUNPTkRTX0lOX01JTlVURSwgdW5peERhdGVUaW1lU2Vjb25kc051bWJlckZvck5vdywgdW5peERhdGVUaW1lU2Vjb25kc051bWJlckZyb21EYXRlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRTdG9yYWdlLCBEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRVcmxQYWlyIH0gZnJvbSAnLi9zdG9yYWdlZmlsZS5kb3dubG9hZC5zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgZmlyc3QsIGZpcnN0VmFsdWVGcm9tLCBmcm9tLCBpbnRlcnZhbCwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvYWRpbmdTdGF0ZSwgdGhyb3dFcnJvckZyb21Mb2FkaW5nU3RhdGVFcnJvciwgdmFsdWVGcm9tRmluaXNoZWRMb2FkaW5nU3RhdGUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuZXhwb3J0IHR5cGUgRGJ4RmlyZWJhc2VTdG9yYWdlRmlsZURvd25sb2FkU2VydmljZUN1c3RvbVNvdXJjZURvd25sb2FkRnVuY3Rpb24gPSAocGFyYW1zOiBEb3dubG9hZFN0b3JhZ2VGaWxlUGFyYW1zLCBzdG9yYWdlRmlsZUlkOiBTdG9yYWdlRmlsZUlkKSA9PiBQcm9taXNlPERvd25sb2FkU3RvcmFnZUZpbGVSZXN1bHQ+O1xuXG4vKipcbiAqIFVzZWQgYXMgYSBjdXN0b20gc291cmNlIGZvciBkb3dubG9hZGluZyBTdG9yYWdlRmlsZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VTdG9yYWdlRmlsZURvd25sb2FkU2VydmljZUN1c3RvbVNvdXJjZSB7XG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGRvd25sb2FkIHJlc3VsdCBmb3IgdGhlIFN0b3JhZ2VGaWxlIHVzaW5nIHRoZSBpbnB1dCBwYXJhbWV0ZXJzLlxuICAgKlxuICAgKiBAcGFyYW0gc3RvcmFnZUZpbGVJZFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZG93bmxvYWRTdG9yYWdlRmlsZVJlc3VsdDogRGJ4RmlyZWJhc2VTdG9yYWdlRmlsZURvd25sb2FkU2VydmljZUN1c3RvbVNvdXJjZURvd25sb2FkRnVuY3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRTZXJ2aWNlQ3VzdG9tU291cmNlRnJvbU9icyhvYnNGb3JJbnB1dDogKHBhcmFtczogRG93bmxvYWRTdG9yYWdlRmlsZVBhcmFtcywgc3RvcmFnZUZpbGVJZDogU3RvcmFnZUZpbGVJZCkgPT4gT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8RG93bmxvYWRTdG9yYWdlRmlsZVJlc3VsdD4+KTogRGJ4RmlyZWJhc2VTdG9yYWdlRmlsZURvd25sb2FkU2VydmljZUN1c3RvbVNvdXJjZSB7XG4gIHJldHVybiB7XG4gICAgZG93bmxvYWRTdG9yYWdlRmlsZVJlc3VsdDogKHBhcmFtczogRG93bmxvYWRTdG9yYWdlRmlsZVBhcmFtcywgc3RvcmFnZUZpbGVJZDogU3RvcmFnZUZpbGVJZCkgPT4gZmlyc3RWYWx1ZUZyb20ob2JzRm9ySW5wdXQocGFyYW1zLCBzdG9yYWdlRmlsZUlkKS5waXBlKHRocm93RXJyb3JGcm9tTG9hZGluZ1N0YXRlRXJyb3IoKSwgdmFsdWVGcm9tRmluaXNoZWRMb2FkaW5nU3RhdGUoKSkpIGFzIFByb21pc2U8RG93bmxvYWRTdG9yYWdlRmlsZVJlc3VsdD5cbiAgfTtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHVzZWQgZm9yIHJldHJpZXZpbmcgZG93bmxvYWQgbGlua3MgZm9yIFN0b3JhZ2VGaWxlcy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlU3RvcmFnZUZpbGVEb3dubG9hZFNlcnZpY2Uge1xuICAvKipcbiAgICogRXhwaXJhdGlvbiBkdXJhdGlvbiBmb3IgY2FjaGVkIGRvd25sb2FkIFVSTHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgX2V4cGlyZXNBZnRlclRpbWU6IE1pbGxpc2Vjb25kcyA9IE1TX0lOX0hPVVIgKiAxMjtcblxuICAvKipcbiAgICogV2hlbiByZWFkaW5nIGNhY2hlZCB2YWx1ZXMsIHRoaXMgYnVmZmVyIGlzIGFkZGVkIHRvIHRoZSBleHBpcmF0aW9uIHRpbWUgdG8gcHJldmVudCB0aGUgVVJMIGZyb20gZXhwaXJpbmcgd2hpbGUgaXQgaXMgYmVpbmcgdXNlZC5cbiAgICovXG4gIHByb3RlY3RlZCBfZXhwaXJlc0FmdGVyVGltZUJ1ZmZlcjogU2Vjb25kcyA9IFNFQ09ORFNfSU5fTUlOVVRFICogMTA7XG5cbiAgcmVhZG9ubHkgc3RvcmFnZUZpbGVGdW5jdGlvbnMgPSBpbmplY3QoU3RvcmFnZUZpbGVGdW5jdGlvbnMpO1xuICByZWFkb25seSBzdG9yYWdlRmlsZURvd25sb2FkU3RvcmFnZSA9IGluamVjdChEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRTdG9yYWdlKTtcblxuICAvLyBNQVJLOiBDb25maWdcbiAgZ2V0RXhwaXJlc0FmdGVyVGltZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9leHBpcmVzQWZ0ZXJUaW1lO1xuICB9XG5cbiAgc2V0RXhwaXJlc0FmdGVyVGltZShleHBpcmVzQWZ0ZXI6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IG1heEFsbG93ZWQgPSBNU19JTl9EQVkgKiAyMDtcblxuICAgIGlmIChleHBpcmVzQWZ0ZXIgPiBtYXhBbGxvd2VkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGlyZXMgYWZ0ZXIgdGltZSBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuIDIwIGRheXMuYCk7XG4gICAgfSBlbHNlIGlmIChleHBpcmVzQWZ0ZXIgPCBNU19JTl9IT1VSKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGlyZXMgYWZ0ZXIgdGltZSBjYW5ub3QgYmUgbGVzcyB0aGFuIDEgaG91ci5gKTtcbiAgICB9XG5cbiAgICB0aGlzLl9leHBpcmVzQWZ0ZXJUaW1lID0gZXhwaXJlc0FmdGVyO1xuICB9XG5cbiAgLy8gTUFSSzogRG93bmxvYWRcbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSB0aGF0IHJldHVybnMgdGhlIGNhY2hlZCBkb3dubG9hZCBVUkwgcGFpciBmb3IgdGhlIFN0b3JhZ2VGaWxlLCBhbmQgZW1pdHMgbnVsbCBvbmNlIGl0IGV4cGlyZXMuXG4gICAqXG4gICAqIEBwYXJhbSBzdG9yYWdlRmlsZUlkT3JLZXlcbiAgICogQHJldHVybnNcbiAgICovXG4gIGdldENhY2hlZERvd25sb2FkUGFpckZvclN0b3JhZ2VGaWxlKHN0b3JhZ2VGaWxlSWRPcktleTogU3RvcmFnZUZpbGVJZCB8IFN0b3JhZ2VGaWxlS2V5KTogT2JzZXJ2YWJsZTxNYXliZTxEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRVcmxQYWlyPj4ge1xuICAgIGNvbnN0IHN0b3JhZ2VGaWxlSWQgPSBmaXJlc3RvcmVNb2RlbElkKHN0b3JhZ2VGaWxlSWRPcktleSk7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZUZpbGVEb3dubG9hZFN0b3JhZ2UuZ2V0RG93bmxvYWRVcmxQYWlyKHN0b3JhZ2VGaWxlSWQpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHBhaXIpID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdDogT2JzZXJ2YWJsZTxNYXliZTxEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRVcmxQYWlyPj47XG5cbiAgICAgICAgaWYgKHBhaXIpIHtcbiAgICAgICAgICBjb25zdCBleHBpcmVzQXQgPSBwYWlyLmV4cGlyZXNBdCAtIHRoaXMuX2V4cGlyZXNBZnRlclRpbWVCdWZmZXI7XG5cbiAgICAgICAgICBmdW5jdGlvbiBwYWlySWZOb3RFeHBpcmVkKCk6IE1heWJlPERieEZpcmViYXNlU3RvcmFnZUZpbGVEb3dubG9hZFVybFBhaXI+IHtcbiAgICAgICAgICAgIGNvbnN0IG5vdyA9IHVuaXhEYXRlVGltZVNlY29uZHNOdW1iZXJGb3JOb3coKTtcbiAgICAgICAgICAgIGNvbnN0IGlzRXhwaXJlZCA9IG5vdyA+IGV4cGlyZXNBdDtcbiAgICAgICAgICAgIHJldHVybiBpc0V4cGlyZWQgPyBudWxsIDogcGFpcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBpbml0aWFsUGFpciA9IHBhaXJJZk5vdEV4cGlyZWQoKTtcblxuICAgICAgICAgIGlmIChpbml0aWFsUGFpcikge1xuICAgICAgICAgICAgLy8gZXZlcnkgbWludXRlIGVtaXQgdGhlIHJlc3VsdCBhZ2FpblxuICAgICAgICAgICAgcmVzdWx0ID0gaW50ZXJ2YWwoTVNfSU5fTUlOVVRFKS5waXBlKFxuICAgICAgICAgICAgICBtYXAocGFpcklmTm90RXhwaXJlZCksXG4gICAgICAgICAgICAgIGZpcnN0KCh4KSA9PiB4ID09IG51bGwpLCAvLyBvbmx5IGVtaXQgdGhlIGZpcnN0IG51bGwgdmFsdWVcbiAgICAgICAgICAgICAgc3RhcnRXaXRoKGluaXRpYWxQYWlyKSwgLy8gc2VuZCB0aGUgaW5pdGlhbCB2YWx1ZSBmaXJzdFxuICAgICAgICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0ID0gb2YobnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9IG9mKG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGRvd25sb2FkIFVSTCBmb3IgdGhlIFN0b3JhZ2VGaWxlIHVzaW5nIHRoZSBkZWZhdWx0IHBhcmFtZXRlcnMuXG4gICAqXG4gICAqIFRoZXNlIFVSTHMgYXJlIGNhY2hlZCBsb2NhbGx5IHRvIHByZXZlbnQgZXh0cmEvcmVkdW5kYW50IGNhbGxzIHRvIHRoZSBzZXJ2ZXIuXG4gICAqXG4gICAqIEBwYXJhbSBzdG9yYWdlRmlsZUlkT3JLZXlcbiAgICogQHJldHVybnNcbiAgICovXG4gIGRvd25sb2FkUGFpckZvclN0b3JhZ2VGaWxlKHN0b3JhZ2VGaWxlSWRPcktleTogU3RvcmFnZUZpbGVJZCB8IFN0b3JhZ2VGaWxlS2V5KTogT2JzZXJ2YWJsZTxEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRVcmxQYWlyPiB7XG4gICAgcmV0dXJuIHRoaXMuZG93bmxvYWRQYWlyRm9yU3RvcmFnZUZpbGVVc2luZ1NvdXJjZShzdG9yYWdlRmlsZUlkT3JLZXksIHVuZGVmaW5lZCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBkb3dubG9hZCBVUkwgZm9yIHRoZSBTdG9yYWdlRmlsZSB1c2luZyB0aGUgZGVmYXVsdCBwYXJhbWV0ZXJzIGFuZCBwdWxsZWQgZnJvbSB0aGUgaW5wdXQgc291cmNlLCBpZiBhcHBsaWNhYmxlLlxuICAgKlxuICAgKiBJZiBubyBzb3VyY2UgaXMgcHJvdmlkZWQsIHVzZXMgdGhlIGRlZmF1bHQgaW50ZXJuYWwgc291cmNlLlxuICAgKlxuICAgKiBUaGVzZSBVUkxzIGFyZSBjYWNoZWQgbG9jYWxseSB0byBwcmV2ZW50IGV4dHJhL3JlZHVuZGFudCBjYWxscyB0byB0aGUgc2VydmVyLlxuICAgKlxuICAgKiBAcGFyYW0gc3RvcmFnZUZpbGVJZE9yS2V5XG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBkb3dubG9hZFBhaXJGb3JTdG9yYWdlRmlsZVVzaW5nU291cmNlKHN0b3JhZ2VGaWxlSWRPcktleTogU3RvcmFnZUZpbGVJZCB8IFN0b3JhZ2VGaWxlS2V5LCBzb3VyY2U6IE1heWJlPERieEZpcmViYXNlU3RvcmFnZUZpbGVEb3dubG9hZFNlcnZpY2VDdXN0b21Tb3VyY2U+KTogT2JzZXJ2YWJsZTxEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRVcmxQYWlyPiB7XG4gICAgY29uc3Qgc3RvcmFnZUZpbGVJZCA9IGZpcmVzdG9yZU1vZGVsSWQoc3RvcmFnZUZpbGVJZE9yS2V5KTtcbiAgICBjb25zdCBvYnM6IE9ic2VydmFibGU8RGJ4RmlyZWJhc2VTdG9yYWdlRmlsZURvd25sb2FkVXJsUGFpcj4gPSB0aGlzLmdldENhY2hlZERvd25sb2FkUGFpckZvclN0b3JhZ2VGaWxlKHN0b3JhZ2VGaWxlSWQpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGNhY2hlZFBhaXIpID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdDogT2JzZXJ2YWJsZTxEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRVcmxQYWlyPjtcblxuICAgICAgICBjb25zdCBkb3dubG9hZEFuZENhY2hlUmVzdWx0ID0gKCkgPT4ge1xuICAgICAgICAgIHJldHVybiBmcm9tKHRoaXMuX2NyZWF0ZURvd25sb2FkUGFpckZvclN0b3JhZ2VGaWxlVXNpbmdTb3VyY2Uoc291cmNlLCBzdG9yYWdlRmlsZUlkT3JLZXkpKS5waXBlKFxuICAgICAgICAgICAgdGFwKChkb3dubG9hZFVybFBhaXIpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5hZGRQYWlyRm9yU3RvcmFnZUZpbGVUb0NhY2hlKGRvd25sb2FkVXJsUGFpcik7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKGNhY2hlZFBhaXIpIHtcbiAgICAgICAgICByZXN1bHQgPSBvZihjYWNoZWRQYWlyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXN1bHQgPSBkb3dubG9hZEFuZENhY2hlUmVzdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSksXG4gICAgICBmaXJzdCgpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuXG4gICAgcmV0dXJuIG9icztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoZSBnaXZlbiBkb3dubG9hZCBVUkwgcGFpciB0byB0aGUgY2FjaGUuXG4gICAqL1xuICBhZGRQYWlyRm9yU3RvcmFnZUZpbGVUb0NhY2hlKGRvd25sb2FkVXJsUGFpcjogRGJ4RmlyZWJhc2VTdG9yYWdlRmlsZURvd25sb2FkVXJsUGFpcik6IHZvaWQge1xuICAgIHRoaXMuc3RvcmFnZUZpbGVEb3dubG9hZFN0b3JhZ2UuYWRkRG93bmxvYWRVcmwoZG93bmxvYWRVcmxQYWlyKS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZG93bmxvYWQgVVJMIGZvciB0aGUgU3RvcmFnZUZpbGUuXG4gICAqXG4gICAqIEBwYXJhbSBzdG9yYWdlRmlsZUlkT3JLZXlcbiAgICogQHBhcmFtIGlucHV0UGFyYW1zXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBjcmVhdGVEb3dubG9hZFBhaXJGb3JTdG9yYWdlRmlsZShzdG9yYWdlRmlsZUlkT3JLZXk6IFN0b3JhZ2VGaWxlSWQgfCBTdG9yYWdlRmlsZUtleSwgaW5wdXRQYXJhbXM/OiBPbWl0PERvd25sb2FkU3RvcmFnZUZpbGVQYXJhbXMsICdrZXknPik6IFByb21pc2U8RGJ4RmlyZWJhc2VTdG9yYWdlRmlsZURvd25sb2FkVXJsUGFpcj4ge1xuICAgIHJldHVybiB0aGlzLl9jcmVhdGVEb3dubG9hZFBhaXJGb3JTdG9yYWdlRmlsZVVzaW5nU291cmNlKHVuZGVmaW5lZCwgc3RvcmFnZUZpbGVJZE9yS2V5LCBpbnB1dFBhcmFtcyk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVEb3dubG9hZFBhaXJGb3JTdG9yYWdlRmlsZVVzaW5nU291cmNlKGlucHV0U291cmNlOiBNYXliZTxEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRTZXJ2aWNlQ3VzdG9tU291cmNlPiwgc3RvcmFnZUZpbGVJZE9yS2V5OiBTdG9yYWdlRmlsZUlkIHwgU3RvcmFnZUZpbGVLZXksIGlucHV0UGFyYW1zPzogT21pdDxEb3dubG9hZFN0b3JhZ2VGaWxlUGFyYW1zLCAna2V5Jz4pOiBQcm9taXNlPERieEZpcmViYXNlU3RvcmFnZUZpbGVEb3dubG9hZFVybFBhaXI+IHtcbiAgICBjb25zdCBzb3VyY2UgPSBpbnB1dFNvdXJjZSA/PyB7XG4gICAgICBkb3dubG9hZFN0b3JhZ2VGaWxlUmVzdWx0OiAocGFyYW1zKSA9PiB0aGlzLnN0b3JhZ2VGaWxlRnVuY3Rpb25zLnN0b3JhZ2VGaWxlLnJlYWRTdG9yYWdlRmlsZS5kb3dubG9hZChwYXJhbXMpXG4gICAgfTtcblxuICAgIGNvbnN0IHN0b3JhZ2VGaWxlSWQgPSBmaXJlc3RvcmVNb2RlbElkKHN0b3JhZ2VGaWxlSWRPcktleSk7XG4gICAgY29uc3QgZXhwaXJlc0F0ID0gaW5wdXRQYXJhbXM/LmV4cGlyZXNBdCA/PyBhZGRNaWxsaXNlY29uZHMobmV3IERhdGUoKSwgdGhpcy5fZXhwaXJlc0FmdGVyVGltZSk7XG5cbiAgICBjb25zdCBwYXJhbXM6IERvd25sb2FkU3RvcmFnZUZpbGVQYXJhbXMgPSB7XG4gICAgICAuLi5pbnB1dFBhcmFtcyxcbiAgICAgIGV4cGlyZXNBdCxcbiAgICAgIGtleTogZmlyZXN0b3JlTW9kZWxLZXkoc3RvcmFnZUZpbGVJZGVudGl0eSwgc3RvcmFnZUZpbGVJZClcbiAgICB9O1xuXG4gICAgcmV0dXJuIHNvdXJjZS5kb3dubG9hZFN0b3JhZ2VGaWxlUmVzdWx0KHBhcmFtcywgc3RvcmFnZUZpbGVJZCkudGhlbigoeCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IHN0b3JhZ2VGaWxlSWQsXG4gICAgICAgIGRvd25sb2FkVXJsOiB4LnVybCxcbiAgICAgICAgbWltZVR5cGU6IHgubWltZVR5cGUsXG4gICAgICAgIGV4cGlyZXNBdDogeC5leHBpcmVzQXQgPz8gdW5peERhdGVUaW1lU2Vjb25kc051bWJlckZyb21EYXRlKGV4cGlyZXNBdClcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,91 +0,0 @@
1
- import { Injectable, InjectionToken, inject } from '@angular/core';
2
- import { map, mergeMap, catchError, of, switchMap, first } from 'rxjs';
3
- import { firestoreModelId } from '@dereekb/firebase';
4
- import { DbxFirebaseAuthService } from '../../../auth/service/firebase.auth.service';
5
- import { splitJoinRemainder } from '@dereekb/util';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Token that corresponds to a StorageAccessor<DbxFirebaseStorageFileDownloadUserCache> that is used by DbxModelViewTrackerStorage.
9
- */
10
- export const DBX_FIREBASE_STORAGEFILE_DOWNLOAD_STORAGE_ACCESSOR_TOKEN = new InjectionToken('DbxFirebaseStorageFileDownloadStorageAccessor');
11
- /**
12
- * Used for managing DbxModelViewTrackerEvent storage.
13
- */
14
- export class DbxFirebaseStorageFileDownloadStorage {
15
- static DEFAULT_MAX_DOWNLOAD_URLS = 100;
16
- authService = inject(DbxFirebaseAuthService);
17
- storageAccessor = inject(DBX_FIREBASE_STORAGEFILE_DOWNLOAD_STORAGE_ACCESSOR_TOKEN);
18
- addDownloadUrl({ id, downloadUrl, expiresAt, mimeType }) {
19
- return this.getCurrentUserDownloadCache().pipe(mergeMap((cache) => {
20
- const { uid, pairs: currentPairs } = cache;
21
- const storageKey = this.getStorageKeyForUid(uid);
22
- const pairs = {
23
- ...currentPairs,
24
- [id]: `${expiresAt}_${mimeType}_${downloadUrl}`
25
- };
26
- return this.storageAccessor.set(storageKey, {
27
- uid,
28
- pairs
29
- });
30
- }), first());
31
- }
32
- /**
33
- * Returns the cached download URL pair for the given key.
34
- *
35
- * The pair may be expired.
36
- *
37
- * @param key
38
- * @returns
39
- */
40
- getDownloadUrlPair(input) {
41
- const id = firestoreModelId(input);
42
- return this.authService.uid$.pipe(switchMap((uid) => {
43
- return this.getUserDownloadCache(uid).pipe(map((cache) => {
44
- const pair = cache?.pairs[id];
45
- let result;
46
- if (pair) {
47
- const [expiresAt, mimeType, downloadUrl] = splitJoinRemainder(pair, '_', 3);
48
- result = {
49
- id,
50
- downloadUrl,
51
- expiresAt: Number(expiresAt),
52
- mimeType
53
- };
54
- }
55
- return result;
56
- }));
57
- }), first());
58
- }
59
- getAllDownloadUrlPairsRecord(uid) {
60
- return this.getUserDownloadCache(uid).pipe(map((x) => x.pairs));
61
- }
62
- getCurrentUserDownloadCache() {
63
- return this.authService.uid$.pipe(switchMap((uid) => this.getUserDownloadCache(uid)));
64
- }
65
- getUserDownloadCache(uid) {
66
- const storageKey = this.getStorageKeyForUid(uid);
67
- return this._getUserDownloadCacheForStorageKey(storageKey, uid);
68
- }
69
- clearCurrentUserDownloadCache() {
70
- return this.authService.uid$.pipe(switchMap((uid) => this.clearUserDownloadCache(uid)));
71
- }
72
- clearUserDownloadCache(uid) {
73
- const storageKey = this.getStorageKeyForUid(uid);
74
- return this.storageAccessor.remove(storageKey);
75
- }
76
- _getUserDownloadCacheForStorageKey(storageKey, uid) {
77
- return this.storageAccessor.get(storageKey).pipe(catchError((e) => {
78
- return of(undefined);
79
- }), map((result) => result ?? { uid, pairs: {} }));
80
- }
81
- getStorageKeyForUid(uid) {
82
- const storageKey = `sf_dl_cache_${uid}`;
83
- return storageKey;
84
- }
85
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseStorageFileDownloadStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
86
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseStorageFileDownloadStorage });
87
- }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseStorageFileDownloadStorage, decorators: [{
89
- type: Injectable
90
- }] });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZWZpbGUuZG93bmxvYWQuc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kdWxlcy9zdG9yYWdlZmlsZS9zZXJ2aWNlL3N0b3JhZ2VmaWxlLmRvd25sb2FkLnN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkUsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25GLE9BQU8sRUFBc0IsZ0JBQWdCLEVBQXNFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0ksT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUE4QixrQkFBa0IsRUFBNkIsTUFBTSxlQUFlLENBQUM7O0FBd0IxRzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdEQUF3RCxHQUFHLElBQUksY0FBYyxDQUFDLCtDQUErQyxDQUFDLENBQUM7QUFFNUk7O0dBRUc7QUFFSCxNQUFNLE9BQU8scUNBQXFDO0lBQ2hELE1BQU0sQ0FBVSx5QkFBeUIsR0FBRyxHQUFHLENBQUM7SUFFdkMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzdDLGVBQWUsR0FBRyxNQUFNLENBQTJELHdEQUF3RCxDQUFDLENBQUM7SUFFdEosY0FBYyxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUF5QztRQUM1RixPQUFPLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDLElBQUksQ0FDNUMsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLEVB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LENBQUM7SUFFTyxrQ0FBa0MsQ0FBQyxVQUFrQixFQUFFLEdBQXVCO1FBQ3BGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUM5QyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNmLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUM5QyxDQUFDO0lBQ0osQ0FBQztJQUVELG1CQUFtQixDQUFDLEdBQXVCO1FBQ3pDLE1BQU0sVUFBVSxHQUFHLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDeEMsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzt3R0FqR1UscUNBQXFDOzRHQUFyQyxxQ0FBcUM7OzRGQUFyQyxxQ0FBcUM7a0JBRGpELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yYWdlQWNjZXNzb3IgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBtYXAsIG1lcmdlTWFwLCBjYXRjaEVycm9yLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwLCBmaXJzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmlyZWJhc2VBdXRoVXNlcklkLCBmaXJlc3RvcmVNb2RlbElkLCBGaXJlc3RvcmVNb2RlbElkSW5wdXQsIFN0b3JhZ2VGaWxlSWQsIFN0b3JhZ2VGaWxlU2lnbmVkRG93bmxvYWRVcmwgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXV0aC9zZXJ2aWNlL2ZpcmViYXNlLmF1dGguc2VydmljZSc7XG5pbXBvcnQgeyBDb250ZW50VHlwZU1pbWVUeXBlLCBNYXliZSwgc3BsaXRKb2luUmVtYWluZGVyLCBVbml4RGF0ZVRpbWVTZWNvbmRzTnVtYmVyIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VTdG9yYWdlRmlsZURvd25sb2FkVXJsUGFpciB7XG4gIHJlYWRvbmx5IGlkOiBTdG9yYWdlRmlsZUlkO1xuICByZWFkb25seSBkb3dubG9hZFVybDogU3RvcmFnZUZpbGVTaWduZWREb3dubG9hZFVybDtcbiAgLyoqXG4gICAqIE1pbWUgdHlwZSwgaWYgYXZhaWxhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgbWltZVR5cGU/OiBNYXliZTxDb250ZW50VHlwZU1pbWVUeXBlPjtcbiAgLyoqXG4gICAqIEV4cGlyYXRpb24gaW4gc2Vjb25kcyBzaW5jZSBlcG9jaC5cbiAgICovXG4gIHJlYWRvbmx5IGV4cGlyZXNBdDogVW5peERhdGVUaW1lU2Vjb25kc051bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgRGJ4RmlyZWJhc2VTdG9yYWdlRmlsZURvd25sb2FkVXJsUGFpclN0cmluZyA9IGAke1VuaXhEYXRlVGltZVNlY29uZHNOdW1iZXJ9XyR7U3RvcmFnZUZpbGVTaWduZWREb3dubG9hZFVybH1gO1xuXG5leHBvcnQgdHlwZSBEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRVcmxQYWlyc1JlY29yZCA9IFJlY29yZDxTdG9yYWdlRmlsZUlkLCBEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRVcmxQYWlyU3RyaW5nPjtcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRVc2VyQ2FjaGUge1xuICByZWFkb25seSB1aWQ6IEZpcmViYXNlQXV0aFVzZXJJZDtcbiAgcmVhZG9ubHkgcGFpcnM6IERieEZpcmViYXNlU3RvcmFnZUZpbGVEb3dubG9hZFVybFBhaXJzUmVjb3JkO1xufVxuXG4vKipcbiAqIFRva2VuIHRoYXQgY29ycmVzcG9uZHMgdG8gYSBTdG9yYWdlQWNjZXNzb3I8RGJ4RmlyZWJhc2VTdG9yYWdlRmlsZURvd25sb2FkVXNlckNhY2hlPiB0aGF0IGlzIHVzZWQgYnkgRGJ4TW9kZWxWaWV3VHJhY2tlclN0b3JhZ2UuXG4gKi9cbmV4cG9ydCBjb25zdCBEQlhfRklSRUJBU0VfU1RPUkFHRUZJTEVfRE9XTkxPQURfU1RPUkFHRV9BQ0NFU1NPUl9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbignRGJ4RmlyZWJhc2VTdG9yYWdlRmlsZURvd25sb2FkU3RvcmFnZUFjY2Vzc29yJyk7XG5cbi8qKlxuICogVXNlZCBmb3IgbWFuYWdpbmcgRGJ4TW9kZWxWaWV3VHJhY2tlckV2ZW50IHN0b3JhZ2UuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRTdG9yYWdlIHtcbiAgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfTUFYX0RPV05MT0FEX1VSTFMgPSAxMDA7XG5cbiAgcmVhZG9ubHkgYXV0aFNlcnZpY2UgPSBpbmplY3QoRGJ4RmlyZWJhc2VBdXRoU2VydmljZSk7XG4gIHJlYWRvbmx5IHN0b3JhZ2VBY2Nlc3NvciA9IGluamVjdDxTdG9yYWdlQWNjZXNzb3I8RGJ4RmlyZWJhc2VTdG9yYWdlRmlsZURvd25sb2FkVXNlckNhY2hlPj4oREJYX0ZJUkVCQVNFX1NUT1JBR0VGSUxFX0RPV05MT0FEX1NUT1JBR0VfQUNDRVNTT1JfVE9LRU4pO1xuXG4gIGFkZERvd25sb2FkVXJsKHsgaWQsIGRvd25sb2FkVXJsLCBleHBpcmVzQXQsIG1pbWVUeXBlIH06IERieEZpcmViYXNlU3RvcmFnZUZpbGVEb3dubG9hZFVybFBhaXIpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRDdXJyZW50VXNlckRvd25sb2FkQ2FjaGUoKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKGNhY2hlKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgdWlkLCBwYWlyczogY3VycmVudFBhaXJzIH0gPSBjYWNoZTtcblxuICAgICAgICBjb25zdCBzdG9yYWdlS2V5ID0gdGhpcy5nZXRTdG9yYWdlS2V5Rm9yVWlkKHVpZCk7XG4gICAgICAgIGNvbnN0IHBhaXJzOiBEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRVcmxQYWlyc1JlY29yZCA9IHtcbiAgICAgICAgICAuLi5jdXJyZW50UGFpcnMsXG4gICAgICAgICAgW2lkXTogYCR7ZXhwaXJlc0F0fV8ke21pbWVUeXBlfV8ke2Rvd25sb2FkVXJsfWBcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlQWNjZXNzb3Iuc2V0KHN0b3JhZ2VLZXksIHtcbiAgICAgICAgICB1aWQsXG4gICAgICAgICAgcGFpcnNcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICAgIGZpcnN0KClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGNhY2hlZCBkb3dubG9hZCBVUkwgcGFpciBmb3IgdGhlIGdpdmVuIGtleS5cbiAgICpcbiAgICogVGhlIHBhaXIgbWF5IGJlIGV4cGlyZWQuXG4gICAqXG4gICAqIEBwYXJhbSBrZXlcbiAgICogQHJldHVybnNcbiAgICovXG4gIGdldERvd25sb2FkVXJsUGFpcihpbnB1dDogRmlyZXN0b3JlTW9kZWxJZElucHV0KTogT2JzZXJ2YWJsZTxEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRVcmxQYWlyIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgaWQgPSBmaXJlc3RvcmVNb2RlbElkKGlucHV0KTtcbiAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS51aWQkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHVpZCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRVc2VyRG93bmxvYWRDYWNoZSh1aWQpLnBpcGUoXG4gICAgICAgICAgbWFwKChjYWNoZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFpciA9IGNhY2hlPy5wYWlyc1tpZF07XG5cbiAgICAgICAgICAgIGxldCByZXN1bHQ6IERieEZpcmViYXNlU3RvcmFnZUZpbGVEb3dubG9hZFVybFBhaXIgfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIGlmIChwYWlyKSB7XG4gICAgICAgICAgICAgIGNvbnN0IFtleHBpcmVzQXQsIG1pbWVUeXBlLCBkb3dubG9hZFVybF0gPSBzcGxpdEpvaW5SZW1haW5kZXIocGFpciwgJ18nLCAzKTtcblxuICAgICAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgZG93bmxvYWRVcmwsXG4gICAgICAgICAgICAgICAgZXhwaXJlc0F0OiBOdW1iZXIoZXhwaXJlc0F0KSxcbiAgICAgICAgICAgICAgICBtaW1lVHlwZVxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICAgIGZpcnN0KClcbiAgICApO1xuICB9XG5cbiAgZ2V0QWxsRG93bmxvYWRVcmxQYWlyc1JlY29yZCh1aWQ6IEZpcmViYXNlQXV0aFVzZXJJZCk6IE9ic2VydmFibGU8RGJ4RmlyZWJhc2VTdG9yYWdlRmlsZURvd25sb2FkVXJsUGFpcnNSZWNvcmQ+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyRG93bmxvYWRDYWNoZSh1aWQpLnBpcGUobWFwKCh4KSA9PiB4LnBhaXJzKSk7XG4gIH1cblxuICBnZXRDdXJyZW50VXNlckRvd25sb2FkQ2FjaGUoKTogT2JzZXJ2YWJsZTxEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRVc2VyQ2FjaGU+IHtcbiAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS51aWQkLnBpcGUoc3dpdGNoTWFwKCh1aWQpID0+IHRoaXMuZ2V0VXNlckRvd25sb2FkQ2FjaGUodWlkKSkpO1xuICB9XG5cbiAgZ2V0VXNlckRvd25sb2FkQ2FjaGUodWlkOiBGaXJlYmFzZUF1dGhVc2VySWQpOiBPYnNlcnZhYmxlPERieEZpcmViYXNlU3RvcmFnZUZpbGVEb3dubG9hZFVzZXJDYWNoZT4ge1xuICAgIGNvbnN0IHN0b3JhZ2VLZXkgPSB0aGlzLmdldFN0b3JhZ2VLZXlGb3JVaWQodWlkKTtcbiAgICByZXR1cm4gdGhpcy5fZ2V0VXNlckRvd25sb2FkQ2FjaGVGb3JTdG9yYWdlS2V5KHN0b3JhZ2VLZXksIHVpZCk7XG4gIH1cblxuICBjbGVhckN1cnJlbnRVc2VyRG93bmxvYWRDYWNoZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS51aWQkLnBpcGUoc3dpdGNoTWFwKCh1aWQpID0+IHRoaXMuY2xlYXJVc2VyRG93bmxvYWRDYWNoZSh1aWQpKSk7XG4gIH1cblxuICBjbGVhclVzZXJEb3dubG9hZENhY2hlKHVpZDogRmlyZWJhc2VBdXRoVXNlcklkKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3Qgc3RvcmFnZUtleSA9IHRoaXMuZ2V0U3RvcmFnZUtleUZvclVpZCh1aWQpO1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2VBY2Nlc3Nvci5yZW1vdmUoc3RvcmFnZUtleSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRVc2VyRG93bmxvYWRDYWNoZUZvclN0b3JhZ2VLZXkoc3RvcmFnZUtleTogc3RyaW5nLCB1aWQ6IEZpcmViYXNlQXV0aFVzZXJJZCk6IE9ic2VydmFibGU8RGJ4RmlyZWJhc2VTdG9yYWdlRmlsZURvd25sb2FkVXNlckNhY2hlPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZUFjY2Vzc29yLmdldChzdG9yYWdlS2V5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xuICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgIH0pLFxuICAgICAgbWFwKChyZXN1bHQpID0+IHJlc3VsdCA/PyB7IHVpZCwgcGFpcnM6IHt9IH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldFN0b3JhZ2VLZXlGb3JVaWQodWlkOiBGaXJlYmFzZUF1dGhVc2VySWQpOiBzdHJpbmcge1xuICAgIGNvbnN0IHN0b3JhZ2VLZXkgPSBgc2ZfZGxfY2FjaGVfJHt1aWR9YDtcbiAgICByZXR1cm4gc3RvcmFnZUtleTtcbiAgfVxufVxuIl19
@@ -1,33 +0,0 @@
1
- import { makeEnvironmentProviders } from '@angular/core';
2
- import { SimpleStorageAccessorFactory } from '@dereekb/dbx-core';
3
- import { DBX_FIREBASE_STORAGEFILE_DOWNLOAD_STORAGE_ACCESSOR_TOKEN, DbxFirebaseStorageFileDownloadStorage } from './service/storagefile.download.storage.service';
4
- import { DbxFirebaseStorageFileDownloadService } from './service/storagefile.download.service';
5
- /**
6
- * Factory function for creating a StorageAccessor for the model view tracker.
7
- */
8
- export function defaultDbxFirebaseStorageFileDownloadStorageAccessorFactory(storageAccessorFactory) {
9
- const accessor = storageAccessorFactory.createStorageAccessor({
10
- prefix: 'sfds'
11
- });
12
- return accessor;
13
- }
14
- /**
15
- * Creates EnvironmentProviders for providing DbxModelTrackerService, DbxModelObjectStateService and sets up the NgRx store for DbxModelTrackerEffects.
16
- *
17
- * @returns EnvironmentProviders
18
- */
19
- export function provideDbxFirebaseStorageFileService() {
20
- const providers = [
21
- // Storage accessor
22
- {
23
- provide: DBX_FIREBASE_STORAGEFILE_DOWNLOAD_STORAGE_ACCESSOR_TOKEN,
24
- useFactory: defaultDbxFirebaseStorageFileDownloadStorageAccessorFactory,
25
- deps: [SimpleStorageAccessorFactory]
26
- },
27
- // Service
28
- DbxFirebaseStorageFileDownloadStorage,
29
- DbxFirebaseStorageFileDownloadService
30
- ];
31
- return makeEnvironmentProviders(providers);
32
- }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZWZpbGUucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kdWxlcy9zdG9yYWdlZmlsZS9zdG9yYWdlZmlsZS5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0Qyx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsNEJBQTRCLEVBQXdCLE1BQU0sbUJBQW1CLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdEQUF3RCxFQUFFLHFDQUFxQyxFQUFnRCxNQUFNLGdEQUFnRCxDQUFDO0FBQy9NLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRS9GOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDJEQUEyRCxDQUFDLHNCQUFvRDtJQUM5SCxNQUFNLFFBQVEsR0FBRyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBMEM7UUFDckcsTUFBTSxFQUFFLE1BQU07S0FDZixDQUFDLENBQUM7SUFFSCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxvQ0FBb0M7SUFDbEQsTUFBTSxTQUFTLEdBQXdDO1FBQ3JELG1CQUFtQjtRQUNuQjtZQUNFLE9BQU8sRUFBRSx3REFBd0Q7WUFDakUsVUFBVSxFQUFFLDJEQUEyRDtZQUN2RSxJQUFJLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztTQUNyQztRQUNELFVBQVU7UUFDVixxQ0FBcUM7UUFDckMscUNBQXFDO0tBQ3RDLENBQUM7SUFFRixPQUFPLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEVudmlyb25tZW50UHJvdmlkZXJzLCB0eXBlIFByb3ZpZGVyLCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckZhY3RvcnksIHR5cGUgU3RvcmFnZUFjY2Vzc29yIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgREJYX0ZJUkVCQVNFX1NUT1JBR0VGSUxFX0RPV05MT0FEX1NUT1JBR0VfQUNDRVNTT1JfVE9LRU4sIERieEZpcmViYXNlU3RvcmFnZUZpbGVEb3dubG9hZFN0b3JhZ2UsIHR5cGUgRGJ4RmlyZWJhc2VTdG9yYWdlRmlsZURvd25sb2FkVXNlckNhY2hlIH0gZnJvbSAnLi9zZXJ2aWNlL3N0b3JhZ2VmaWxlLmRvd25sb2FkLnN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlL3N0b3JhZ2VmaWxlLmRvd25sb2FkLnNlcnZpY2UnO1xuXG4vKipcbiAqIEZhY3RvcnkgZnVuY3Rpb24gZm9yIGNyZWF0aW5nIGEgU3RvcmFnZUFjY2Vzc29yIGZvciB0aGUgbW9kZWwgdmlldyB0cmFja2VyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdERieEZpcmViYXNlU3RvcmFnZUZpbGVEb3dubG9hZFN0b3JhZ2VBY2Nlc3NvckZhY3Rvcnkoc3RvcmFnZUFjY2Vzc29yRmFjdG9yeTogU2ltcGxlU3RvcmFnZUFjY2Vzc29yRmFjdG9yeSk6IFN0b3JhZ2VBY2Nlc3NvcjxEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRVc2VyQ2FjaGU+IHtcbiAgY29uc3QgYWNjZXNzb3IgPSBzdG9yYWdlQWNjZXNzb3JGYWN0b3J5LmNyZWF0ZVN0b3JhZ2VBY2Nlc3NvcjxEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRVc2VyQ2FjaGU+KHtcbiAgICBwcmVmaXg6ICdzZmRzJ1xuICB9KTtcblxuICByZXR1cm4gYWNjZXNzb3I7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBFbnZpcm9ubWVudFByb3ZpZGVycyBmb3IgcHJvdmlkaW5nIERieE1vZGVsVHJhY2tlclNlcnZpY2UsIERieE1vZGVsT2JqZWN0U3RhdGVTZXJ2aWNlIGFuZCBzZXRzIHVwIHRoZSBOZ1J4IHN0b3JlIGZvciBEYnhNb2RlbFRyYWNrZXJFZmZlY3RzLlxuICpcbiAqIEByZXR1cm5zIEVudmlyb25tZW50UHJvdmlkZXJzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRGJ4RmlyZWJhc2VTdG9yYWdlRmlsZVNlcnZpY2UoKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICBjb25zdCBwcm92aWRlcnM6IChQcm92aWRlciB8IEVudmlyb25tZW50UHJvdmlkZXJzKVtdID0gW1xuICAgIC8vIFN0b3JhZ2UgYWNjZXNzb3JcbiAgICB7XG4gICAgICBwcm92aWRlOiBEQlhfRklSRUJBU0VfU1RPUkFHRUZJTEVfRE9XTkxPQURfU1RPUkFHRV9BQ0NFU1NPUl9UT0tFTixcbiAgICAgIHVzZUZhY3Rvcnk6IGRlZmF1bHREYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRTdG9yYWdlQWNjZXNzb3JGYWN0b3J5LFxuICAgICAgZGVwczogW1NpbXBsZVN0b3JhZ2VBY2Nlc3NvckZhY3RvcnldXG4gICAgfSxcbiAgICAvLyBTZXJ2aWNlXG4gICAgRGJ4RmlyZWJhc2VTdG9yYWdlRmlsZURvd25sb2FkU3RvcmFnZSxcbiAgICBEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG93bmxvYWRTZXJ2aWNlXG4gIF07XG5cbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhwcm92aWRlcnMpO1xufVxuIl19
@@ -1,83 +0,0 @@
1
- import { DbxActionLoadingContextDirective, DbxActionModule, DbxActionSnackbarErrorDirective, DbxFileUploadComponent, DbxFileUploadActionSyncDirective, DbxLoadingComponent } from '@dereekb/dbx-web';
2
- import { DbxFirebaseStorageFileUploadActionHandlerDirective, DbxFirebaseStorageFileUploadStoreDirective, DbxFirebaseStorageFileUploadSyncDirective, DbxFirebaseStorageFileUploadInitializeDocumentDirective } from './container';
3
- import { NgModule } from '@angular/core';
4
- import { DbxFirebaseStorageFileDocumentStoreDirective } from './store/storagefile.document.store.directive';
5
- import { DbxFirebaseStorageFileCollectionStoreDirective } from './store';
6
- import * as i0 from "@angular/core";
7
- export const importsAndExports = [
8
- // dbx-core/dbx-web modules/components
9
- DbxActionModule,
10
- DbxLoadingComponent,
11
- DbxActionLoadingContextDirective,
12
- DbxActionSnackbarErrorDirective,
13
- DbxFileUploadComponent,
14
- DbxFileUploadActionSyncDirective,
15
- // containers
16
- DbxFirebaseStorageFileUploadActionHandlerDirective,
17
- DbxFirebaseStorageFileUploadStoreDirective,
18
- DbxFirebaseStorageFileUploadSyncDirective,
19
- DbxFirebaseStorageFileUploadInitializeDocumentDirective,
20
- // stores
21
- DbxFirebaseStorageFileCollectionStoreDirective,
22
- DbxFirebaseStorageFileDocumentStoreDirective
23
- ];
24
- /**
25
- * Convenience module for importing various modules/components that are relevant to the storage file upload feature.
26
- *
27
- * - DbxActionModule
28
- * - DbxFileUploadComponent
29
- * - DbxFirebaseStorageFileUploadActionHandlerDirective
30
- * - DbxFirebaseStorageFileUploadStoreDirective
31
- * - DbxFirebaseStorageFileUploadSyncDirective
32
- * - DbxFirebaseStorageFileUploadInitializeDocumentDirective
33
- * - DbxFirebaseStorageFileUploadStore
34
- */
35
- export class DbxFirebaseStorageFileUploadModule {
36
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseStorageFileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
37
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseStorageFileUploadModule, imports: [
38
- // dbx-core/dbx-web modules/components
39
- DbxActionModule,
40
- DbxLoadingComponent,
41
- DbxActionLoadingContextDirective,
42
- DbxActionSnackbarErrorDirective,
43
- DbxFileUploadComponent,
44
- DbxFileUploadActionSyncDirective,
45
- // containers
46
- DbxFirebaseStorageFileUploadActionHandlerDirective,
47
- DbxFirebaseStorageFileUploadStoreDirective,
48
- DbxFirebaseStorageFileUploadSyncDirective,
49
- DbxFirebaseStorageFileUploadInitializeDocumentDirective,
50
- // stores
51
- DbxFirebaseStorageFileCollectionStoreDirective,
52
- DbxFirebaseStorageFileDocumentStoreDirective], exports: [
53
- // dbx-core/dbx-web modules/components
54
- DbxActionModule,
55
- DbxLoadingComponent,
56
- DbxActionLoadingContextDirective,
57
- DbxActionSnackbarErrorDirective,
58
- DbxFileUploadComponent,
59
- DbxFileUploadActionSyncDirective,
60
- // containers
61
- DbxFirebaseStorageFileUploadActionHandlerDirective,
62
- DbxFirebaseStorageFileUploadStoreDirective,
63
- DbxFirebaseStorageFileUploadSyncDirective,
64
- DbxFirebaseStorageFileUploadInitializeDocumentDirective,
65
- // stores
66
- DbxFirebaseStorageFileCollectionStoreDirective,
67
- DbxFirebaseStorageFileDocumentStoreDirective] });
68
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseStorageFileUploadModule, imports: [
69
- // dbx-core/dbx-web modules/components
70
- DbxActionModule,
71
- DbxLoadingComponent,
72
- DbxFileUploadComponent,
73
- // dbx-core/dbx-web modules/components
74
- DbxActionModule] });
75
- }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseStorageFileUploadModule, decorators: [{
77
- type: NgModule,
78
- args: [{
79
- imports: importsAndExports,
80
- exports: importsAndExports
81
- }]
82
- }] });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZWZpbGUudXBsb2FkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZHVsZXMvc3RvcmFnZWZpbGUvc3RvcmFnZWZpbGUudXBsb2FkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsZUFBZSxFQUFFLCtCQUErQixFQUFFLHNCQUFzQixFQUFFLGdDQUFnQyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDck0sT0FBTyxFQUFFLGtEQUFrRCxFQUFFLDBDQUEwQyxFQUFFLHlDQUF5QyxFQUFFLHVEQUF1RCxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pPLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDNUcsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUV6RSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUMvQixzQ0FBc0M7SUFDdEMsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixnQ0FBZ0M7SUFDaEMsK0JBQStCO0lBQy9CLHNCQUFzQjtJQUN0QixnQ0FBZ0M7SUFDaEMsYUFBYTtJQUNiLGtEQUFrRDtJQUNsRCwwQ0FBMEM7SUFDMUMseUNBQXlDO0lBQ3pDLHVEQUF1RDtJQUN2RCxTQUFTO0lBQ1QsOENBQThDO0lBQzlDLDRDQUE0QztDQUM3QyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUtILE1BQU0sT0FBTyxrQ0FBa0M7d0dBQWxDLGtDQUFrQzt5R0FBbEMsa0NBQWtDO1lBaEM3QyxzQ0FBc0M7WUFDdEMsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixnQ0FBZ0M7WUFDaEMsK0JBQStCO1lBQy9CLHNCQUFzQjtZQUN0QixnQ0FBZ0M7WUFDaEMsYUFBYTtZQUNiLGtEQUFrRDtZQUNsRCwwQ0FBMEM7WUFDMUMseUNBQXlDO1lBQ3pDLHVEQUF1RDtZQUN2RCxTQUFTO1lBQ1QsOENBQThDO1lBQzlDLDRDQUE0QztZQWQ1QyxzQ0FBc0M7WUFDdEMsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixnQ0FBZ0M7WUFDaEMsK0JBQStCO1lBQy9CLHNCQUFzQjtZQUN0QixnQ0FBZ0M7WUFDaEMsYUFBYTtZQUNiLGtEQUFrRDtZQUNsRCwwQ0FBMEM7WUFDMUMseUNBQXlDO1lBQ3pDLHVEQUF1RDtZQUN2RCxTQUFTO1lBQ1QsOENBQThDO1lBQzlDLDRDQUE0Qzt5R0FrQmpDLGtDQUFrQztZQWhDN0Msc0NBQXNDO1lBQ3RDLGVBQWU7WUFDZixtQkFBbUI7WUFHbkIsc0JBQXNCO1lBTHRCLHNDQUFzQztZQUN0QyxlQUFlOzs0RkErQkosa0NBQWtDO2tCQUo5QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLE9BQU8sRUFBRSxpQkFBaUI7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGJ4QWN0aW9uTG9hZGluZ0NvbnRleHREaXJlY3RpdmUsIERieEFjdGlvbk1vZHVsZSwgRGJ4QWN0aW9uU25hY2tiYXJFcnJvckRpcmVjdGl2ZSwgRGJ4RmlsZVVwbG9hZENvbXBvbmVudCwgRGJ4RmlsZVVwbG9hZEFjdGlvblN5bmNEaXJlY3RpdmUsIERieExvYWRpbmdDb21wb25lbnQgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViJztcbmltcG9ydCB7IERieEZpcmViYXNlU3RvcmFnZUZpbGVVcGxvYWRBY3Rpb25IYW5kbGVyRGlyZWN0aXZlLCBEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlVXBsb2FkU3RvcmVEaXJlY3RpdmUsIERieEZpcmViYXNlU3RvcmFnZUZpbGVVcGxvYWRTeW5jRGlyZWN0aXZlLCBEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlVXBsb2FkSW5pdGlhbGl6ZURvY3VtZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9jb250YWluZXInO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieEZpcmViYXNlU3RvcmFnZUZpbGVEb2N1bWVudFN0b3JlRGlyZWN0aXZlIH0gZnJvbSAnLi9zdG9yZS9zdG9yYWdlZmlsZS5kb2N1bWVudC5zdG9yZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VTdG9yYWdlRmlsZUNvbGxlY3Rpb25TdG9yZURpcmVjdGl2ZSB9IGZyb20gJy4vc3RvcmUnO1xuXG5leHBvcnQgY29uc3QgaW1wb3J0c0FuZEV4cG9ydHMgPSBbXG4gIC8vIGRieC1jb3JlL2RieC13ZWIgbW9kdWxlcy9jb21wb25lbnRzXG4gIERieEFjdGlvbk1vZHVsZSxcbiAgRGJ4TG9hZGluZ0NvbXBvbmVudCxcbiAgRGJ4QWN0aW9uTG9hZGluZ0NvbnRleHREaXJlY3RpdmUsXG4gIERieEFjdGlvblNuYWNrYmFyRXJyb3JEaXJlY3RpdmUsXG4gIERieEZpbGVVcGxvYWRDb21wb25lbnQsXG4gIERieEZpbGVVcGxvYWRBY3Rpb25TeW5jRGlyZWN0aXZlLFxuICAvLyBjb250YWluZXJzXG4gIERieEZpcmViYXNlU3RvcmFnZUZpbGVVcGxvYWRBY3Rpb25IYW5kbGVyRGlyZWN0aXZlLFxuICBEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlVXBsb2FkU3RvcmVEaXJlY3RpdmUsXG4gIERieEZpcmViYXNlU3RvcmFnZUZpbGVVcGxvYWRTeW5jRGlyZWN0aXZlLFxuICBEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlVXBsb2FkSW5pdGlhbGl6ZURvY3VtZW50RGlyZWN0aXZlLFxuICAvLyBzdG9yZXNcbiAgRGJ4RmlyZWJhc2VTdG9yYWdlRmlsZUNvbGxlY3Rpb25TdG9yZURpcmVjdGl2ZSxcbiAgRGJ4RmlyZWJhc2VTdG9yYWdlRmlsZURvY3VtZW50U3RvcmVEaXJlY3RpdmVcbl07XG5cbi8qKlxuICogQ29udmVuaWVuY2UgbW9kdWxlIGZvciBpbXBvcnRpbmcgdmFyaW91cyBtb2R1bGVzL2NvbXBvbmVudHMgdGhhdCBhcmUgcmVsZXZhbnQgdG8gdGhlIHN0b3JhZ2UgZmlsZSB1cGxvYWQgZmVhdHVyZS5cbiAqXG4gKiAtIERieEFjdGlvbk1vZHVsZVxuICogLSBEYnhGaWxlVXBsb2FkQ29tcG9uZW50XG4gKiAtIERieEZpcmViYXNlU3RvcmFnZUZpbGVVcGxvYWRBY3Rpb25IYW5kbGVyRGlyZWN0aXZlXG4gKiAtIERieEZpcmViYXNlU3RvcmFnZUZpbGVVcGxvYWRTdG9yZURpcmVjdGl2ZVxuICogLSBEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlVXBsb2FkU3luY0RpcmVjdGl2ZVxuICogLSBEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlVXBsb2FkSW5pdGlhbGl6ZURvY3VtZW50RGlyZWN0aXZlXG4gKiAtIERieEZpcmViYXNlU3RvcmFnZUZpbGVVcGxvYWRTdG9yZVxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBpbXBvcnRzQW5kRXhwb3J0cyxcbiAgZXhwb3J0czogaW1wb3J0c0FuZEV4cG9ydHNcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VTdG9yYWdlRmlsZVVwbG9hZE1vZHVsZSB7fVxuIl19
@@ -1,8 +0,0 @@
1
- export * from './storagefile.collection.store';
2
- export * from './storagefile.collection.store.directive';
3
- export * from './storagefile.document.store';
4
- export * from './storagefile.document.store.directive';
5
- export * from './storagefile.upload.store';
6
- export * from './storagefilegroup.document.store';
7
- export * from './storagefilegroup.document.store.directive';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2R1bGVzL3N0b3JhZ2VmaWxlL3N0b3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNkNBQTZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3N0b3JhZ2VmaWxlLmNvbGxlY3Rpb24uc3RvcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yYWdlZmlsZS5jb2xsZWN0aW9uLnN0b3JlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JhZ2VmaWxlLmRvY3VtZW50LnN0b3JlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZWZpbGUuZG9jdW1lbnQuc3RvcmUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZWZpbGUudXBsb2FkLnN0b3JlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZWZpbGVncm91cC5kb2N1bWVudC5zdG9yZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JhZ2VmaWxlZ3JvdXAuZG9jdW1lbnQuc3RvcmUuZGlyZWN0aXZlJztcbiJdfQ==
@@ -1,22 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { DbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionStoreDirective } from '../../../model/modules/store';
3
- import { StorageFileCollectionStore } from './storagefile.collection.store';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./storagefile.collection.store";
6
- export class DbxFirebaseStorageFileCollectionStoreDirective extends DbxFirebaseCollectionStoreDirective {
7
- constructor(store) {
8
- super(store);
9
- this.setConstraints([]);
10
- }
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseStorageFileCollectionStoreDirective, deps: [{ token: i1.StorageFileCollectionStore }], target: i0.ɵɵFactoryTarget.Directive });
12
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseStorageFileCollectionStoreDirective, isStandalone: true, selector: "[dbxFirebaseStorageFileCollection]", providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseStorageFileCollectionStoreDirective, StorageFileCollectionStore), usesInheritance: true, ngImport: i0 });
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseStorageFileCollectionStoreDirective, decorators: [{
15
- type: Directive,
16
- args: [{
17
- selector: '[dbxFirebaseStorageFileCollection]',
18
- providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseStorageFileCollectionStoreDirective, StorageFileCollectionStore),
19
- standalone: true
20
- }]
21
- }], ctorParameters: () => [{ type: i1.StorageFileCollectionStore }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZWZpbGUuY29sbGVjdGlvbi5zdG9yZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2R1bGVzL3N0b3JhZ2VmaWxlL3N0b3JlL3N0b3JhZ2VmaWxlLmNvbGxlY3Rpb24uc3RvcmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0gsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQVE1RSxNQUFNLE9BQU8sOENBQStDLFNBQVEsbUNBQWlHO0lBQ25LLFlBQVksS0FBaUM7UUFDM0MsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMxQixDQUFDO3dHQUpVLDhDQUE4Qzs0RkFBOUMsOENBQThDLGlGQUg5QywwQ0FBMEMsQ0FBQyw4Q0FBOEMsRUFBRSwwQkFBMEIsQ0FBQzs7NEZBR3RILDhDQUE4QztrQkFMMUQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0NBQW9DO29CQUM5QyxTQUFTLEVBQUUsMENBQTBDLGlEQUFpRCwwQkFBMEIsQ0FBQztvQkFDakksVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZURpcmVjdGl2ZSwgcHJvdmlkZURieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvbW9kdWxlcy9zdG9yZSc7XG5pbXBvcnQgeyBTdG9yYWdlRmlsZUNvbGxlY3Rpb25TdG9yZSB9IGZyb20gJy4vc3RvcmFnZWZpbGUuY29sbGVjdGlvbi5zdG9yZSc7XG5pbXBvcnQgeyBTdG9yYWdlRmlsZSwgU3RvcmFnZUZpbGVEb2N1bWVudCB9IGZyb20gJ0BkZXJlZWtiL2ZpcmViYXNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEZpcmViYXNlU3RvcmFnZUZpbGVDb2xsZWN0aW9uXScsXG4gIHByb3ZpZGVyczogcHJvdmlkZURieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlRGlyZWN0aXZlKERieEZpcmViYXNlU3RvcmFnZUZpbGVDb2xsZWN0aW9uU3RvcmVEaXJlY3RpdmUsIFN0b3JhZ2VGaWxlQ29sbGVjdGlvblN0b3JlKSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZVN0b3JhZ2VGaWxlQ29sbGVjdGlvblN0b3JlRGlyZWN0aXZlIGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmVEaXJlY3RpdmU8U3RvcmFnZUZpbGUsIFN0b3JhZ2VGaWxlRG9jdW1lbnQsIFN0b3JhZ2VGaWxlQ29sbGVjdGlvblN0b3JlPiB7XG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yYWdlRmlsZUNvbGxlY3Rpb25TdG9yZSkge1xuICAgIHN1cGVyKHN0b3JlKTtcbiAgICB0aGlzLnNldENvbnN0cmFpbnRzKFtdKTtcbiAgfVxufVxuIl19
@@ -1,18 +0,0 @@
1
- import { Injectable, inject } from '@angular/core';
2
- import { AbstractDbxFirebaseCollectionStore, firebaseCollectionStoreCreateFunction } from '../../../model/modules/store';
3
- import { StorageFileFirestoreCollections, StorageFileFunctions } from '@dereekb/firebase';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@dereekb/firebase";
6
- export class StorageFileCollectionStore extends AbstractDbxFirebaseCollectionStore {
7
- storageFileFunctions = inject(StorageFileFunctions);
8
- constructor(collections) {
9
- super({ firestoreCollection: collections.storageFileCollection });
10
- }
11
- initializeAllStorageFilesFromUpload = firebaseCollectionStoreCreateFunction(this, this.storageFileFunctions.storageFile.createStorageFile.allFromUpload);
12
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageFileCollectionStore, deps: [{ token: i1.StorageFileFirestoreCollections }], target: i0.ɵɵFactoryTarget.Injectable });
13
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageFileCollectionStore });
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageFileCollectionStore, decorators: [{
16
- type: Injectable
17
- }], ctorParameters: () => [{ type: i1.StorageFileFirestoreCollections }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZWZpbGUuY29sbGVjdGlvbi5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZHVsZXMvc3RvcmFnZWZpbGUvc3RvcmUvc3RvcmFnZWZpbGUuY29sbGVjdGlvbi5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6SCxPQUFPLEVBQUUsK0JBQStCLEVBQW9DLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUc1SCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsa0NBQW9FO0lBQ3pHLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTdELFlBQVksV0FBNEM7UUFDdEQsS0FBSyxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRVEsbUNBQW1DLEdBQUcscUNBQXFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7d0dBUHZKLDBCQUEwQjs0R0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlLCBmaXJlYmFzZUNvbGxlY3Rpb25TdG9yZUNyZWF0ZUZ1bmN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvbW9kdWxlcy9zdG9yZSc7XG5pbXBvcnQgeyBTdG9yYWdlRmlsZUZpcmVzdG9yZUNvbGxlY3Rpb25zLCBTdG9yYWdlRmlsZSwgU3RvcmFnZUZpbGVEb2N1bWVudCwgU3RvcmFnZUZpbGVGdW5jdGlvbnMgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTdG9yYWdlRmlsZUNvbGxlY3Rpb25TdG9yZSBleHRlbmRzIEFic3RyYWN0RGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmU8U3RvcmFnZUZpbGUsIFN0b3JhZ2VGaWxlRG9jdW1lbnQ+IHtcbiAgcmVhZG9ubHkgc3RvcmFnZUZpbGVGdW5jdGlvbnMgPSBpbmplY3QoU3RvcmFnZUZpbGVGdW5jdGlvbnMpO1xuXG4gIGNvbnN0cnVjdG9yKGNvbGxlY3Rpb25zOiBTdG9yYWdlRmlsZUZpcmVzdG9yZUNvbGxlY3Rpb25zKSB7XG4gICAgc3VwZXIoeyBmaXJlc3RvcmVDb2xsZWN0aW9uOiBjb2xsZWN0aW9ucy5zdG9yYWdlRmlsZUNvbGxlY3Rpb24gfSk7XG4gIH1cblxuICByZWFkb25seSBpbml0aWFsaXplQWxsU3RvcmFnZUZpbGVzRnJvbVVwbG9hZCA9IGZpcmViYXNlQ29sbGVjdGlvblN0b3JlQ3JlYXRlRnVuY3Rpb24odGhpcywgdGhpcy5zdG9yYWdlRmlsZUZ1bmN0aW9ucy5zdG9yYWdlRmlsZS5jcmVhdGVTdG9yYWdlRmlsZS5hbGxGcm9tVXBsb2FkKTtcbn1cbiJdfQ==
@@ -1,21 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { DbxFirebaseDocumentStoreDirective, provideDbxFirebaseDocumentStoreDirective } from '../../../model/modules/store';
3
- import { StorageFileDocumentStore } from './storagefile.document.store';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./storagefile.document.store";
6
- export class DbxFirebaseStorageFileDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective {
7
- constructor(store) {
8
- super(store);
9
- }
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseStorageFileDocumentStoreDirective, deps: [{ token: i1.StorageFileDocumentStore }], target: i0.ɵɵFactoryTarget.Directive });
11
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseStorageFileDocumentStoreDirective, isStandalone: true, selector: "[dbxFirebaseStorageFileDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseStorageFileDocumentStoreDirective, StorageFileDocumentStore), usesInheritance: true, ngImport: i0 });
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseStorageFileDocumentStoreDirective, decorators: [{
14
- type: Directive,
15
- args: [{
16
- selector: '[dbxFirebaseStorageFileDocument]',
17
- providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseStorageFileDocumentStoreDirective, StorageFileDocumentStore),
18
- standalone: true
19
- }]
20
- }], ctorParameters: () => [{ type: i1.StorageFileDocumentStore }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZWZpbGUuZG9jdW1lbnQuc3RvcmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kdWxlcy9zdG9yYWdlZmlsZS9zdG9yZS9zdG9yYWdlZmlsZS5kb2N1bWVudC5zdG9yZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzSCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBUXhFLE1BQU0sT0FBTyw0Q0FBNkMsU0FBUSxpQ0FBNkY7SUFDN0osWUFBWSxLQUErQjtRQUN6QyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZixDQUFDO3dHQUhVLDRDQUE0Qzs0RkFBNUMsNENBQTRDLCtFQUg1Qyx3Q0FBd0MsQ0FBQyw0Q0FBNEMsRUFBRSx3QkFBd0IsQ0FBQzs7NEZBR2hILDRDQUE0QztrQkFMeEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxTQUFTLEVBQUUsd0NBQXdDLCtDQUErQyx3QkFBd0IsQ0FBQztvQkFDM0gsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmUsIHByb3ZpZGVEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9tb2R1bGVzL3N0b3JlJztcbmltcG9ydCB7IFN0b3JhZ2VGaWxlRG9jdW1lbnRTdG9yZSB9IGZyb20gJy4vc3RvcmFnZWZpbGUuZG9jdW1lbnQuc3RvcmUnO1xuaW1wb3J0IHsgU3RvcmFnZUZpbGUsIFN0b3JhZ2VGaWxlRG9jdW1lbnQgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhGaXJlYmFzZVN0b3JhZ2VGaWxlRG9jdW1lbnRdJyxcbiAgcHJvdmlkZXJzOiBwcm92aWRlRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlKERieEZpcmViYXNlU3RvcmFnZUZpbGVEb2N1bWVudFN0b3JlRGlyZWN0aXZlLCBTdG9yYWdlRmlsZURvY3VtZW50U3RvcmUpLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlU3RvcmFnZUZpbGVEb2N1bWVudFN0b3JlRGlyZWN0aXZlIGV4dGVuZHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlPFN0b3JhZ2VGaWxlLCBTdG9yYWdlRmlsZURvY3VtZW50LCBTdG9yYWdlRmlsZURvY3VtZW50U3RvcmU+IHtcbiAgY29uc3RydWN0b3Ioc3RvcmU6IFN0b3JhZ2VGaWxlRG9jdW1lbnRTdG9yZSkge1xuICAgIHN1cGVyKHN0b3JlKTtcbiAgfVxufVxuIl19
@@ -1,23 +0,0 @@
1
- import { Injectable, inject } from '@angular/core';
2
- import { AbstractDbxFirebaseDocumentStore, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreCrudFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreReadFunction, firebaseDocumentStoreUpdateFunction } from '../../../model/modules/store';
3
- import { StorageFileFirestoreCollections, StorageFileFunctions } from '@dereekb/firebase';
4
- import * as i0 from "@angular/core";
5
- export class StorageFileDocumentStore extends AbstractDbxFirebaseDocumentStore {
6
- storageFileFunctions = inject(StorageFileFunctions);
7
- constructor() {
8
- super({ firestoreCollection: inject(StorageFileFirestoreCollections).storageFileCollection });
9
- }
10
- createStorageFileFromUpload = firebaseDocumentStoreCreateFunction(this, this.storageFileFunctions.storageFile.createStorageFile.create);
11
- initializeStorageFileFromUpload = firebaseDocumentStoreCreateFunction(this, this.storageFileFunctions.storageFile.createStorageFile.fromUpload);
12
- initializeAllStorageFilesFromUpload = firebaseDocumentStoreCrudFunction(this.storageFileFunctions.storageFile.createStorageFile.allFromUpload);
13
- updateStorageFile = firebaseDocumentStoreUpdateFunction(this, this.storageFileFunctions.storageFile.updateStorageFile.update);
14
- processStorageFile = firebaseDocumentStoreUpdateFunction(this, this.storageFileFunctions.storageFile.updateStorageFile.process);
15
- deleteStorageFile = firebaseDocumentStoreDeleteFunction(this, this.storageFileFunctions.storageFile.deleteStorageFile.delete);
16
- downloadStorageFile = firebaseDocumentStoreReadFunction(this, this.storageFileFunctions.storageFile.readStorageFile.download);
17
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageFileDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageFileDocumentStore });
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageFileDocumentStore, decorators: [{
21
- type: Injectable
22
- }], ctorParameters: () => [] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZWZpbGUuZG9jdW1lbnQuc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2R1bGVzL3N0b3JhZ2VmaWxlL3N0b3JlL3N0b3JhZ2VmaWxlLmRvY3VtZW50LnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxtQ0FBbUMsRUFBRSxpQ0FBaUMsRUFBRSxtQ0FBbUMsRUFBRSxpQ0FBaUMsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JRLE9BQU8sRUFBb0MsK0JBQStCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFHNUgsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGdDQUFrRTtJQUNyRyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUU3RDtRQUNFLEtBQUssQ0FBQyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRVEsMkJBQTJCLEdBQUcsbUNBQW1DLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEksK0JBQStCLEdBQUcsbUNBQW1DLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEosbUNBQW1DLEdBQUcsaUNBQWlDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUUvSSxpQkFBaUIsR0FBRyxtQ0FBbUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5SCxrQkFBa0IsR0FBRyxtQ0FBbUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVoSSxpQkFBaUIsR0FBRyxtQ0FBbUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU5SCxtQkFBbUIsR0FBRyxpQ0FBaUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7d0dBaEI1SCx3QkFBd0I7NEdBQXhCLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhGaXJlYmFzZURvY3VtZW50U3RvcmUsIGZpcmViYXNlRG9jdW1lbnRTdG9yZUNyZWF0ZUZ1bmN0aW9uLCBmaXJlYmFzZURvY3VtZW50U3RvcmVDcnVkRnVuY3Rpb24sIGZpcmViYXNlRG9jdW1lbnRTdG9yZURlbGV0ZUZ1bmN0aW9uLCBmaXJlYmFzZURvY3VtZW50U3RvcmVSZWFkRnVuY3Rpb24sIGZpcmViYXNlRG9jdW1lbnRTdG9yZVVwZGF0ZUZ1bmN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvbW9kdWxlcy9zdG9yZSc7XG5pbXBvcnQgeyBTdG9yYWdlRmlsZSwgU3RvcmFnZUZpbGVEb2N1bWVudCwgU3RvcmFnZUZpbGVGaXJlc3RvcmVDb2xsZWN0aW9ucywgU3RvcmFnZUZpbGVGdW5jdGlvbnMgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTdG9yYWdlRmlsZURvY3VtZW50U3RvcmUgZXh0ZW5kcyBBYnN0cmFjdERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTxTdG9yYWdlRmlsZSwgU3RvcmFnZUZpbGVEb2N1bWVudD4ge1xuICByZWFkb25seSBzdG9yYWdlRmlsZUZ1bmN0aW9ucyA9IGluamVjdChTdG9yYWdlRmlsZUZ1bmN0aW9ucyk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoeyBmaXJlc3RvcmVDb2xsZWN0aW9uOiBpbmplY3QoU3RvcmFnZUZpbGVGaXJlc3RvcmVDb2xsZWN0aW9ucykuc3RvcmFnZUZpbGVDb2xsZWN0aW9uIH0pO1xuICB9XG5cbiAgcmVhZG9ubHkgY3JlYXRlU3RvcmFnZUZpbGVGcm9tVXBsb2FkID0gZmlyZWJhc2VEb2N1bWVudFN0b3JlQ3JlYXRlRnVuY3Rpb24odGhpcywgdGhpcy5zdG9yYWdlRmlsZUZ1bmN0aW9ucy5zdG9yYWdlRmlsZS5jcmVhdGVTdG9yYWdlRmlsZS5jcmVhdGUpO1xuICByZWFkb25seSBpbml0aWFsaXplU3RvcmFnZUZpbGVGcm9tVXBsb2FkID0gZmlyZWJhc2VEb2N1bWVudFN0b3JlQ3JlYXRlRnVuY3Rpb24odGhpcywgdGhpcy5zdG9yYWdlRmlsZUZ1bmN0aW9ucy5zdG9yYWdlRmlsZS5jcmVhdGVTdG9yYWdlRmlsZS5mcm9tVXBsb2FkKTtcbiAgcmVhZG9ubHkgaW5pdGlhbGl6ZUFsbFN0b3JhZ2VGaWxlc0Zyb21VcGxvYWQgPSBmaXJlYmFzZURvY3VtZW50U3RvcmVDcnVkRnVuY3Rpb24odGhpcy5zdG9yYWdlRmlsZUZ1bmN0aW9ucy5zdG9yYWdlRmlsZS5jcmVhdGVTdG9yYWdlRmlsZS5hbGxGcm9tVXBsb2FkKTtcblxuICByZWFkb25seSB1cGRhdGVTdG9yYWdlRmlsZSA9IGZpcmViYXNlRG9jdW1lbnRTdG9yZVVwZGF0ZUZ1bmN0aW9uKHRoaXMsIHRoaXMuc3RvcmFnZUZpbGVGdW5jdGlvbnMuc3RvcmFnZUZpbGUudXBkYXRlU3RvcmFnZUZpbGUudXBkYXRlKTtcbiAgcmVhZG9ubHkgcHJvY2Vzc1N0b3JhZ2VGaWxlID0gZmlyZWJhc2VEb2N1bWVudFN0b3JlVXBkYXRlRnVuY3Rpb24odGhpcywgdGhpcy5zdG9yYWdlRmlsZUZ1bmN0aW9ucy5zdG9yYWdlRmlsZS51cGRhdGVTdG9yYWdlRmlsZS5wcm9jZXNzKTtcblxuICByZWFkb25seSBkZWxldGVTdG9yYWdlRmlsZSA9IGZpcmViYXNlRG9jdW1lbnRTdG9yZURlbGV0ZUZ1bmN0aW9uKHRoaXMsIHRoaXMuc3RvcmFnZUZpbGVGdW5jdGlvbnMuc3RvcmFnZUZpbGUuZGVsZXRlU3RvcmFnZUZpbGUuZGVsZXRlKTtcblxuICByZWFkb25seSBkb3dubG9hZFN0b3JhZ2VGaWxlID0gZmlyZWJhc2VEb2N1bWVudFN0b3JlUmVhZEZ1bmN0aW9uKHRoaXMsIHRoaXMuc3RvcmFnZUZpbGVGdW5jdGlvbnMuc3RvcmFnZUZpbGUucmVhZFN0b3JhZ2VGaWxlLmRvd25sb2FkKTtcbn1cbiJdfQ==