@haiilo/catalyst 0.5.1 → 0.5.3

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 (469) hide show
  1. package/package.json +5 -6
  2. package/dist/catalyst/app-globals-23d8c4a8.js +0 -948
  3. package/dist/catalyst/app-globals-23d8c4a8.js.map +0 -1
  4. package/dist/catalyst/app-globals-3dd6a26b.js +0 -948
  5. package/dist/catalyst/app-globals-3dd6a26b.js.map +0 -1
  6. package/dist/catalyst/app-globals-42ce39cc.js +0 -948
  7. package/dist/catalyst/app-globals-42ce39cc.js.map +0 -1
  8. package/dist/catalyst/app-globals-5cf43b57.js +0 -949
  9. package/dist/catalyst/app-globals-5cf43b57.js.map +0 -1
  10. package/dist/catalyst/app-globals-8598c768.js +0 -948
  11. package/dist/catalyst/app-globals-8598c768.js.map +0 -1
  12. package/dist/catalyst/app-globals-a41af143.js +0 -948
  13. package/dist/catalyst/app-globals-a41af143.js.map +0 -1
  14. package/dist/catalyst/app-globals-c6a8b994.js +0 -949
  15. package/dist/catalyst/app-globals-c6a8b994.js.map +0 -1
  16. package/dist/catalyst/assets/fonts/AzeretMono-Regular.woff2 +0 -0
  17. package/dist/catalyst/assets/fonts/DMSans-Bold.woff2 +0 -0
  18. package/dist/catalyst/assets/fonts/DMSans-BoldItalic.woff2 +0 -0
  19. package/dist/catalyst/assets/fonts/DMSans-Italic.woff2 +0 -0
  20. package/dist/catalyst/assets/fonts/DMSans-Medium.woff2 +0 -0
  21. package/dist/catalyst/assets/fonts/DMSans-MediumItalic.woff2 +0 -0
  22. package/dist/catalyst/assets/fonts/DMSans-Regular.woff2 +0 -0
  23. package/dist/catalyst/assets/fonts/Lato-Black.woff +0 -0
  24. package/dist/catalyst/assets/fonts/Lato-Black.woff2 +0 -0
  25. package/dist/catalyst/assets/fonts/Lato-BlackItalic.woff +0 -0
  26. package/dist/catalyst/assets/fonts/Lato-BlackItalic.woff2 +0 -0
  27. package/dist/catalyst/assets/fonts/Lato-Bold.woff +0 -0
  28. package/dist/catalyst/assets/fonts/Lato-Bold.woff2 +0 -0
  29. package/dist/catalyst/assets/fonts/Lato-BoldItalic.woff +0 -0
  30. package/dist/catalyst/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  31. package/dist/catalyst/assets/fonts/Lato-Hairline.woff +0 -0
  32. package/dist/catalyst/assets/fonts/Lato-Hairline.woff2 +0 -0
  33. package/dist/catalyst/assets/fonts/Lato-HairlineItalic.woff +0 -0
  34. package/dist/catalyst/assets/fonts/Lato-HairlineItalic.woff2 +0 -0
  35. package/dist/catalyst/assets/fonts/Lato-Heavy.woff +0 -0
  36. package/dist/catalyst/assets/fonts/Lato-Heavy.woff2 +0 -0
  37. package/dist/catalyst/assets/fonts/Lato-HeavyItalic.woff +0 -0
  38. package/dist/catalyst/assets/fonts/Lato-HeavyItalic.woff2 +0 -0
  39. package/dist/catalyst/assets/fonts/Lato-Italic.woff +0 -0
  40. package/dist/catalyst/assets/fonts/Lato-Italic.woff2 +0 -0
  41. package/dist/catalyst/assets/fonts/Lato-Light.woff +0 -0
  42. package/dist/catalyst/assets/fonts/Lato-Light.woff2 +0 -0
  43. package/dist/catalyst/assets/fonts/Lato-LightItalic.woff +0 -0
  44. package/dist/catalyst/assets/fonts/Lato-LightItalic.woff2 +0 -0
  45. package/dist/catalyst/assets/fonts/Lato-Medium.woff +0 -0
  46. package/dist/catalyst/assets/fonts/Lato-Medium.woff2 +0 -0
  47. package/dist/catalyst/assets/fonts/Lato-MediumItalic.woff +0 -0
  48. package/dist/catalyst/assets/fonts/Lato-MediumItalic.woff2 +0 -0
  49. package/dist/catalyst/assets/fonts/Lato-Regular.woff +0 -0
  50. package/dist/catalyst/assets/fonts/Lato-Regular.woff2 +0 -0
  51. package/dist/catalyst/assets/fonts/Lato-Semibold.woff +0 -0
  52. package/dist/catalyst/assets/fonts/Lato-Semibold.woff2 +0 -0
  53. package/dist/catalyst/assets/fonts/Lato-SemiboldItalic.woff +0 -0
  54. package/dist/catalyst/assets/fonts/Lato-SemiboldItalic.woff2 +0 -0
  55. package/dist/catalyst/assets/fonts/Lato-Thin.woff +0 -0
  56. package/dist/catalyst/assets/fonts/Lato-Thin.woff2 +0 -0
  57. package/dist/catalyst/assets/fonts/Lato-ThinItalic.woff +0 -0
  58. package/dist/catalyst/assets/fonts/Lato-ThinItalic.woff2 +0 -0
  59. package/dist/catalyst/cat-alert.entry.js +0 -33
  60. package/dist/catalyst/cat-alert.entry.js.map +0 -1
  61. package/dist/catalyst/cat-badge.entry.js +0 -44
  62. package/dist/catalyst/cat-badge.entry.js.map +0 -1
  63. package/dist/catalyst/cat-button.entry.js +0 -298
  64. package/dist/catalyst/cat-button.entry.js.map +0 -1
  65. package/dist/catalyst/cat-card.entry.js +0 -17
  66. package/dist/catalyst/cat-card.entry.js.map +0 -1
  67. package/dist/catalyst/cat-checkbox.entry.js +0 -75
  68. package/dist/catalyst/cat-checkbox.entry.js.map +0 -1
  69. package/dist/catalyst/cat-i18n-registry-2a6187c9.js +0 -75
  70. package/dist/catalyst/cat-i18n-registry-2a6187c9.js.map +0 -1
  71. package/dist/catalyst/cat-i18n-registry-330db605.js +0 -74
  72. package/dist/catalyst/cat-i18n-registry-330db605.js.map +0 -1
  73. package/dist/catalyst/cat-i18n-registry-83d20604.js +0 -74
  74. package/dist/catalyst/cat-i18n-registry-83d20604.js.map +0 -1
  75. package/dist/catalyst/cat-i18n-registry-dd55821d.js +0 -73
  76. package/dist/catalyst/cat-i18n-registry-dd55821d.js.map +0 -1
  77. package/dist/catalyst/cat-i18n-registry-f6560651.js +0 -75
  78. package/dist/catalyst/cat-i18n-registry-f6560651.js.map +0 -1
  79. package/dist/catalyst/cat-icon-registry-2dcfc9fb.js +0 -59
  80. package/dist/catalyst/cat-icon-registry-2dcfc9fb.js.map +0 -1
  81. package/dist/catalyst/cat-icon.entry.js +0 -31
  82. package/dist/catalyst/cat-icon.entry.js.map +0 -1
  83. package/dist/catalyst/cat-input.entry.js +0 -111
  84. package/dist/catalyst/cat-input.entry.js.map +0 -1
  85. package/dist/catalyst/cat-menu.entry.js +0 -850
  86. package/dist/catalyst/cat-menu.entry.js.map +0 -1
  87. package/dist/catalyst/cat-radio.entry.js +0 -66
  88. package/dist/catalyst/cat-radio.entry.js.map +0 -1
  89. package/dist/catalyst/cat-scrollable.entry.js +0 -4522
  90. package/dist/catalyst/cat-scrollable.entry.js.map +0 -1
  91. package/dist/catalyst/cat-skeleton.entry.js +0 -55
  92. package/dist/catalyst/cat-skeleton.entry.js.map +0 -1
  93. package/dist/catalyst/cat-spinner.entry.js +0 -23
  94. package/dist/catalyst/cat-spinner.entry.js.map +0 -1
  95. package/dist/catalyst/cat-textarea.entry.js +0 -87
  96. package/dist/catalyst/cat-textarea.entry.js.map +0 -1
  97. package/dist/catalyst/cat-toggle.entry.js +0 -66
  98. package/dist/catalyst/cat-toggle.entry.js.map +0 -1
  99. package/dist/catalyst/cat-tooltip.entry.js +0 -129
  100. package/dist/catalyst/cat-tooltip.entry.js.map +0 -1
  101. package/dist/catalyst/catalyst.css +0 -2033
  102. package/dist/catalyst/catalyst.esm.js +0 -134
  103. package/dist/catalyst/catalyst.esm.js.map +0 -1
  104. package/dist/catalyst/css-shim-e6dd2538.js +0 -6
  105. package/dist/catalyst/css-shim-e6dd2538.js.map +0 -1
  106. package/dist/catalyst/dom-7fc649b0.js +0 -75
  107. package/dist/catalyst/dom-7fc649b0.js.map +0 -1
  108. package/dist/catalyst/first-tabbable-2d9f9e9a.js +0 -2123
  109. package/dist/catalyst/first-tabbable-2d9f9e9a.js.map +0 -1
  110. package/dist/catalyst/index-471d4e05.js +0 -3059
  111. package/dist/catalyst/index-471d4e05.js.map +0 -1
  112. package/dist/catalyst/index-bbb694f5.js +0 -3059
  113. package/dist/catalyst/index-bbb694f5.js.map +0 -1
  114. package/dist/catalyst/index.cdn.js +0 -21
  115. package/dist/catalyst/index.esm.js +0 -5
  116. package/dist/catalyst/index.esm.js.map +0 -1
  117. package/dist/catalyst/loglevel-7f0f71af.js +0 -346
  118. package/dist/catalyst/loglevel-7f0f71af.js.map +0 -1
  119. package/dist/catalyst/shadow-css-4d56fa31.js +0 -390
  120. package/dist/catalyst/shadow-css-4d56fa31.js.map +0 -1
  121. package/dist/cjs/app-globals-aaefc070.js +0 -950
  122. package/dist/cjs/app-globals-aaefc070.js.map +0 -1
  123. package/dist/cjs/cat-alert.cjs.entry.js +0 -37
  124. package/dist/cjs/cat-alert.cjs.entry.js.map +0 -1
  125. package/dist/cjs/cat-badge.cjs.entry.js +0 -48
  126. package/dist/cjs/cat-badge.cjs.entry.js.map +0 -1
  127. package/dist/cjs/cat-button.cjs.entry.js +0 -302
  128. package/dist/cjs/cat-button.cjs.entry.js.map +0 -1
  129. package/dist/cjs/cat-card.cjs.entry.js +0 -21
  130. package/dist/cjs/cat-card.cjs.entry.js.map +0 -1
  131. package/dist/cjs/cat-checkbox.cjs.entry.js +0 -79
  132. package/dist/cjs/cat-checkbox.cjs.entry.js.map +0 -1
  133. package/dist/cjs/cat-i18n-registry-a1379d1e.js +0 -76
  134. package/dist/cjs/cat-i18n-registry-a1379d1e.js.map +0 -1
  135. package/dist/cjs/cat-icon-registry-74247389.js +0 -61
  136. package/dist/cjs/cat-icon-registry-74247389.js.map +0 -1
  137. package/dist/cjs/cat-icon.cjs.entry.js +0 -35
  138. package/dist/cjs/cat-icon.cjs.entry.js.map +0 -1
  139. package/dist/cjs/cat-input.cjs.entry.js +0 -115
  140. package/dist/cjs/cat-input.cjs.entry.js.map +0 -1
  141. package/dist/cjs/cat-menu.cjs.entry.js +0 -854
  142. package/dist/cjs/cat-menu.cjs.entry.js.map +0 -1
  143. package/dist/cjs/cat-radio.cjs.entry.js +0 -70
  144. package/dist/cjs/cat-radio.cjs.entry.js.map +0 -1
  145. package/dist/cjs/cat-scrollable.cjs.entry.js +0 -4526
  146. package/dist/cjs/cat-scrollable.cjs.entry.js.map +0 -1
  147. package/dist/cjs/cat-skeleton.cjs.entry.js +0 -59
  148. package/dist/cjs/cat-skeleton.cjs.entry.js.map +0 -1
  149. package/dist/cjs/cat-spinner.cjs.entry.js +0 -27
  150. package/dist/cjs/cat-spinner.cjs.entry.js.map +0 -1
  151. package/dist/cjs/cat-textarea.cjs.entry.js +0 -91
  152. package/dist/cjs/cat-textarea.cjs.entry.js.map +0 -1
  153. package/dist/cjs/cat-toggle.cjs.entry.js +0 -70
  154. package/dist/cjs/cat-toggle.cjs.entry.js.map +0 -1
  155. package/dist/cjs/cat-tooltip.cjs.entry.js +0 -133
  156. package/dist/cjs/cat-tooltip.cjs.entry.js.map +0 -1
  157. package/dist/cjs/catalyst.cjs.js +0 -136
  158. package/dist/cjs/catalyst.cjs.js.map +0 -1
  159. package/dist/cjs/css-shim-6ca600c2.js +0 -8
  160. package/dist/cjs/css-shim-6ca600c2.js.map +0 -1
  161. package/dist/cjs/dom-8d415461.js +0 -77
  162. package/dist/cjs/dom-8d415461.js.map +0 -1
  163. package/dist/cjs/first-tabbable-2068dcc6.js +0 -2133
  164. package/dist/cjs/first-tabbable-2068dcc6.js.map +0 -1
  165. package/dist/cjs/index-abcb3941.js +0 -3094
  166. package/dist/cjs/index-abcb3941.js.map +0 -1
  167. package/dist/cjs/index.cjs.js +0 -14
  168. package/dist/cjs/index.cjs.js.map +0 -1
  169. package/dist/cjs/loader.cjs.js +0 -42
  170. package/dist/cjs/loader.cjs.js.map +0 -1
  171. package/dist/cjs/loglevel-24040e9d.js +0 -348
  172. package/dist/cjs/loglevel-24040e9d.js.map +0 -1
  173. package/dist/cjs/shadow-css-78860e39.js +0 -392
  174. package/dist/cjs/shadow-css-78860e39.js.map +0 -1
  175. package/dist/collection/assets/fonts/AzeretMono-Regular.woff2 +0 -0
  176. package/dist/collection/assets/fonts/DMSans-Bold.woff2 +0 -0
  177. package/dist/collection/assets/fonts/DMSans-BoldItalic.woff2 +0 -0
  178. package/dist/collection/assets/fonts/DMSans-Italic.woff2 +0 -0
  179. package/dist/collection/assets/fonts/DMSans-Medium.woff2 +0 -0
  180. package/dist/collection/assets/fonts/DMSans-MediumItalic.woff2 +0 -0
  181. package/dist/collection/assets/fonts/DMSans-Regular.woff2 +0 -0
  182. package/dist/collection/assets/fonts/Lato-Black.woff +0 -0
  183. package/dist/collection/assets/fonts/Lato-Black.woff2 +0 -0
  184. package/dist/collection/assets/fonts/Lato-BlackItalic.woff +0 -0
  185. package/dist/collection/assets/fonts/Lato-BlackItalic.woff2 +0 -0
  186. package/dist/collection/assets/fonts/Lato-Bold.woff +0 -0
  187. package/dist/collection/assets/fonts/Lato-Bold.woff2 +0 -0
  188. package/dist/collection/assets/fonts/Lato-BoldItalic.woff +0 -0
  189. package/dist/collection/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  190. package/dist/collection/assets/fonts/Lato-Hairline.woff +0 -0
  191. package/dist/collection/assets/fonts/Lato-Hairline.woff2 +0 -0
  192. package/dist/collection/assets/fonts/Lato-HairlineItalic.woff +0 -0
  193. package/dist/collection/assets/fonts/Lato-HairlineItalic.woff2 +0 -0
  194. package/dist/collection/assets/fonts/Lato-Heavy.woff +0 -0
  195. package/dist/collection/assets/fonts/Lato-Heavy.woff2 +0 -0
  196. package/dist/collection/assets/fonts/Lato-HeavyItalic.woff +0 -0
  197. package/dist/collection/assets/fonts/Lato-HeavyItalic.woff2 +0 -0
  198. package/dist/collection/assets/fonts/Lato-Italic.woff +0 -0
  199. package/dist/collection/assets/fonts/Lato-Italic.woff2 +0 -0
  200. package/dist/collection/assets/fonts/Lato-Light.woff +0 -0
  201. package/dist/collection/assets/fonts/Lato-Light.woff2 +0 -0
  202. package/dist/collection/assets/fonts/Lato-LightItalic.woff +0 -0
  203. package/dist/collection/assets/fonts/Lato-LightItalic.woff2 +0 -0
  204. package/dist/collection/assets/fonts/Lato-Medium.woff +0 -0
  205. package/dist/collection/assets/fonts/Lato-Medium.woff2 +0 -0
  206. package/dist/collection/assets/fonts/Lato-MediumItalic.woff +0 -0
  207. package/dist/collection/assets/fonts/Lato-MediumItalic.woff2 +0 -0
  208. package/dist/collection/assets/fonts/Lato-Regular.woff +0 -0
  209. package/dist/collection/assets/fonts/Lato-Regular.woff2 +0 -0
  210. package/dist/collection/assets/fonts/Lato-Semibold.woff +0 -0
  211. package/dist/collection/assets/fonts/Lato-Semibold.woff2 +0 -0
  212. package/dist/collection/assets/fonts/Lato-SemiboldItalic.woff +0 -0
  213. package/dist/collection/assets/fonts/Lato-SemiboldItalic.woff2 +0 -0
  214. package/dist/collection/assets/fonts/Lato-Thin.woff +0 -0
  215. package/dist/collection/assets/fonts/Lato-Thin.woff2 +0 -0
  216. package/dist/collection/assets/fonts/Lato-ThinItalic.woff +0 -0
  217. package/dist/collection/assets/fonts/Lato-ThinItalic.woff2 +0 -0
  218. package/dist/collection/collection-manifest.json +0 -27
  219. package/dist/collection/components/cat-alert/cat-alert.css +0 -62
  220. package/dist/collection/components/cat-alert/cat-alert.js +0 -61
  221. package/dist/collection/components/cat-alert/cat-alert.js.map +0 -1
  222. package/dist/collection/components/cat-badge/cat-badge.css +0 -154
  223. package/dist/collection/components/cat-badge/cat-badge.js +0 -143
  224. package/dist/collection/components/cat-badge/cat-badge.js.map +0 -1
  225. package/dist/collection/components/cat-button/cat-button.css +0 -333
  226. package/dist/collection/components/cat-button/cat-button.js +0 -615
  227. package/dist/collection/components/cat-button/cat-button.js.map +0 -1
  228. package/dist/collection/components/cat-card/cat-card.css +0 -25
  229. package/dist/collection/components/cat-card/cat-card.js +0 -20
  230. package/dist/collection/components/cat-card/cat-card.js.map +0 -1
  231. package/dist/collection/components/cat-checkbox/cat-checkbox.css +0 -105
  232. package/dist/collection/components/cat-checkbox/cat-checkbox.js +0 -314
  233. package/dist/collection/components/cat-checkbox/cat-checkbox.js.map +0 -1
  234. package/dist/collection/components/cat-i18n/cat-i18n-registry.js +0 -70
  235. package/dist/collection/components/cat-i18n/cat-i18n-registry.js.map +0 -1
  236. package/dist/collection/components/cat-icon/cat-icon-registry.js +0 -55
  237. package/dist/collection/components/cat-icon/cat-icon-registry.js.map +0 -1
  238. package/dist/collection/components/cat-icon/cat-icon.css +0 -50
  239. package/dist/collection/components/cat-icon/cat-icon.js +0 -91
  240. package/dist/collection/components/cat-icon/cat-icon.js.map +0 -1
  241. package/dist/collection/components/cat-input/cat-input.css +0 -131
  242. package/dist/collection/components/cat-input/cat-input.js +0 -606
  243. package/dist/collection/components/cat-input/cat-input.js.map +0 -1
  244. package/dist/collection/components/cat-menu/cat-menu.css +0 -34
  245. package/dist/collection/components/cat-menu/cat-menu.js +0 -184
  246. package/dist/collection/components/cat-menu/cat-menu.js.map +0 -1
  247. package/dist/collection/components/cat-radio/cat-radio.css +0 -84
  248. package/dist/collection/components/cat-radio/cat-radio.js +0 -283
  249. package/dist/collection/components/cat-radio/cat-radio.js.map +0 -1
  250. package/dist/collection/components/cat-scrollable/cat-scrollable.css +0 -69
  251. package/dist/collection/components/cat-scrollable/cat-scrollable.js +0 -311
  252. package/dist/collection/components/cat-scrollable/cat-scrollable.js.map +0 -1
  253. package/dist/collection/components/cat-skeleton/cat-skeleton.css +0 -177
  254. package/dist/collection/components/cat-skeleton/cat-skeleton.js +0 -131
  255. package/dist/collection/components/cat-skeleton/cat-skeleton.js.map +0 -1
  256. package/dist/collection/components/cat-spinner/cat-spinner.css +0 -63
  257. package/dist/collection/components/cat-spinner/cat-spinner.js +0 -65
  258. package/dist/collection/components/cat-spinner/cat-spinner.js.map +0 -1
  259. package/dist/collection/components/cat-textarea/cat-textarea.css +0 -74
  260. package/dist/collection/components/cat-textarea/cat-textarea.js +0 -393
  261. package/dist/collection/components/cat-textarea/cat-textarea.js.map +0 -1
  262. package/dist/collection/components/cat-toggle/cat-toggle.css +0 -93
  263. package/dist/collection/components/cat-toggle/cat-toggle.js +0 -283
  264. package/dist/collection/components/cat-toggle/cat-toggle.js.map +0 -1
  265. package/dist/collection/components/cat-tooltip/cat-tooltip.css +0 -41
  266. package/dist/collection/components/cat-tooltip/cat-tooltip.js +0 -254
  267. package/dist/collection/components/cat-tooltip/cat-tooltip.js.map +0 -1
  268. package/dist/collection/index.cdn.js +0 -21
  269. package/dist/collection/index.js +0 -3
  270. package/dist/collection/index.js.map +0 -1
  271. package/dist/collection/init.js +0 -17
  272. package/dist/collection/init.js.map +0 -1
  273. package/dist/collection/utils/breakpoints.js +0 -12
  274. package/dist/collection/utils/breakpoints.js.map +0 -1
  275. package/dist/collection/utils/first-tabbable.js +0 -6
  276. package/dist/collection/utils/first-tabbable.js.map +0 -1
  277. package/dist/collection/utils/is-touch-screen.js +0 -3
  278. package/dist/collection/utils/is-touch-screen.js.map +0 -1
  279. package/dist/collection/utils/media-matcher.js +0 -55
  280. package/dist/collection/utils/media-matcher.js.map +0 -1
  281. package/dist/collection/utils/platform.js +0 -50
  282. package/dist/collection/utils/platform.js.map +0 -1
  283. package/dist/components/cat-alert.d.ts +0 -11
  284. package/dist/components/cat-alert.js +0 -53
  285. package/dist/components/cat-alert.js.map +0 -1
  286. package/dist/components/cat-badge.d.ts +0 -11
  287. package/dist/components/cat-badge.js +0 -68
  288. package/dist/components/cat-badge.js.map +0 -1
  289. package/dist/components/cat-button.d.ts +0 -11
  290. package/dist/components/cat-button.js +0 -8
  291. package/dist/components/cat-button.js.map +0 -1
  292. package/dist/components/cat-button2.js +0 -346
  293. package/dist/components/cat-button2.js.map +0 -1
  294. package/dist/components/cat-card.d.ts +0 -11
  295. package/dist/components/cat-card.js +0 -35
  296. package/dist/components/cat-card.js.map +0 -1
  297. package/dist/components/cat-checkbox.d.ts +0 -11
  298. package/dist/components/cat-checkbox.js +0 -103
  299. package/dist/components/cat-checkbox.js.map +0 -1
  300. package/dist/components/cat-i18n-registry.js +0 -74
  301. package/dist/components/cat-i18n-registry.js.map +0 -1
  302. package/dist/components/cat-icon-registry.js +0 -59
  303. package/dist/components/cat-icon-registry.js.map +0 -1
  304. package/dist/components/cat-icon.d.ts +0 -11
  305. package/dist/components/cat-icon.js +0 -8
  306. package/dist/components/cat-icon.js.map +0 -1
  307. package/dist/components/cat-icon2.js +0 -49
  308. package/dist/components/cat-icon2.js.map +0 -1
  309. package/dist/components/cat-input.d.ts +0 -11
  310. package/dist/components/cat-input.js +0 -172
  311. package/dist/components/cat-input.js.map +0 -1
  312. package/dist/components/cat-menu.d.ts +0 -11
  313. package/dist/components/cat-menu.js +0 -870
  314. package/dist/components/cat-menu.js.map +0 -1
  315. package/dist/components/cat-radio.d.ts +0 -11
  316. package/dist/components/cat-radio.js +0 -93
  317. package/dist/components/cat-radio.js.map +0 -1
  318. package/dist/components/cat-scrollable.d.ts +0 -11
  319. package/dist/components/cat-scrollable.js +0 -4548
  320. package/dist/components/cat-scrollable.js.map +0 -1
  321. package/dist/components/cat-skeleton.d.ts +0 -11
  322. package/dist/components/cat-skeleton.js +0 -78
  323. package/dist/components/cat-skeleton.js.map +0 -1
  324. package/dist/components/cat-spinner.d.ts +0 -11
  325. package/dist/components/cat-spinner.js +0 -8
  326. package/dist/components/cat-spinner.js.map +0 -1
  327. package/dist/components/cat-spinner2.js +0 -41
  328. package/dist/components/cat-spinner2.js.map +0 -1
  329. package/dist/components/cat-textarea.d.ts +0 -11
  330. package/dist/components/cat-textarea.js +0 -119
  331. package/dist/components/cat-textarea.js.map +0 -1
  332. package/dist/components/cat-toggle.d.ts +0 -11
  333. package/dist/components/cat-toggle.js +0 -93
  334. package/dist/components/cat-toggle.js.map +0 -1
  335. package/dist/components/cat-tooltip.d.ts +0 -11
  336. package/dist/components/cat-tooltip.js +0 -154
  337. package/dist/components/cat-tooltip.js.map +0 -1
  338. package/dist/components/first-tabbable.js +0 -2123
  339. package/dist/components/first-tabbable.js.map +0 -1
  340. package/dist/components/index.d.ts +0 -26
  341. package/dist/components/index.js +0 -951
  342. package/dist/components/index.js.map +0 -1
  343. package/dist/components/loglevel.js +0 -346
  344. package/dist/components/loglevel.js.map +0 -1
  345. package/dist/esm/app-globals-3dd6a26b.js +0 -948
  346. package/dist/esm/app-globals-3dd6a26b.js.map +0 -1
  347. package/dist/esm/cat-alert.entry.js +0 -33
  348. package/dist/esm/cat-alert.entry.js.map +0 -1
  349. package/dist/esm/cat-badge.entry.js +0 -44
  350. package/dist/esm/cat-badge.entry.js.map +0 -1
  351. package/dist/esm/cat-button.entry.js +0 -298
  352. package/dist/esm/cat-button.entry.js.map +0 -1
  353. package/dist/esm/cat-card.entry.js +0 -17
  354. package/dist/esm/cat-card.entry.js.map +0 -1
  355. package/dist/esm/cat-checkbox.entry.js +0 -75
  356. package/dist/esm/cat-checkbox.entry.js.map +0 -1
  357. package/dist/esm/cat-i18n-registry-83d20604.js +0 -74
  358. package/dist/esm/cat-i18n-registry-83d20604.js.map +0 -1
  359. package/dist/esm/cat-icon-registry-2dcfc9fb.js +0 -59
  360. package/dist/esm/cat-icon-registry-2dcfc9fb.js.map +0 -1
  361. package/dist/esm/cat-icon.entry.js +0 -31
  362. package/dist/esm/cat-icon.entry.js.map +0 -1
  363. package/dist/esm/cat-input.entry.js +0 -111
  364. package/dist/esm/cat-input.entry.js.map +0 -1
  365. package/dist/esm/cat-menu.entry.js +0 -850
  366. package/dist/esm/cat-menu.entry.js.map +0 -1
  367. package/dist/esm/cat-radio.entry.js +0 -66
  368. package/dist/esm/cat-radio.entry.js.map +0 -1
  369. package/dist/esm/cat-scrollable.entry.js +0 -4522
  370. package/dist/esm/cat-scrollable.entry.js.map +0 -1
  371. package/dist/esm/cat-skeleton.entry.js +0 -55
  372. package/dist/esm/cat-skeleton.entry.js.map +0 -1
  373. package/dist/esm/cat-spinner.entry.js +0 -23
  374. package/dist/esm/cat-spinner.entry.js.map +0 -1
  375. package/dist/esm/cat-textarea.entry.js +0 -87
  376. package/dist/esm/cat-textarea.entry.js.map +0 -1
  377. package/dist/esm/cat-toggle.entry.js +0 -66
  378. package/dist/esm/cat-toggle.entry.js.map +0 -1
  379. package/dist/esm/cat-tooltip.entry.js +0 -129
  380. package/dist/esm/cat-tooltip.entry.js.map +0 -1
  381. package/dist/esm/catalyst.js +0 -134
  382. package/dist/esm/catalyst.js.map +0 -1
  383. package/dist/esm/css-shim-e6dd2538.js +0 -6
  384. package/dist/esm/css-shim-e6dd2538.js.map +0 -1
  385. package/dist/esm/dom-7fc649b0.js +0 -75
  386. package/dist/esm/dom-7fc649b0.js.map +0 -1
  387. package/dist/esm/first-tabbable-2d9f9e9a.js +0 -2123
  388. package/dist/esm/first-tabbable-2d9f9e9a.js.map +0 -1
  389. package/dist/esm/index-471d4e05.js +0 -3059
  390. package/dist/esm/index-471d4e05.js.map +0 -1
  391. package/dist/esm/index.js +0 -5
  392. package/dist/esm/index.js.map +0 -1
  393. package/dist/esm/loader.js +0 -38
  394. package/dist/esm/loader.js.map +0 -1
  395. package/dist/esm/loglevel-7f0f71af.js +0 -346
  396. package/dist/esm/loglevel-7f0f71af.js.map +0 -1
  397. package/dist/esm/polyfills/core-js.js +0 -11
  398. package/dist/esm/polyfills/css-shim.js +0 -1
  399. package/dist/esm/polyfills/dom.js +0 -79
  400. package/dist/esm/polyfills/es5-html-element.js +0 -1
  401. package/dist/esm/polyfills/index.js +0 -34
  402. package/dist/esm/polyfills/system.js +0 -6
  403. package/dist/esm/shadow-css-4d56fa31.js +0 -390
  404. package/dist/esm/shadow-css-4d56fa31.js.map +0 -1
  405. package/dist/index.cjs.js +0 -1
  406. package/dist/index.js +0 -1
  407. package/dist/types/components/cat-alert/cat-alert.d.ts +0 -14
  408. package/dist/types/components/cat-alert/cat-alert.e2e.d.ts +0 -1
  409. package/dist/types/components/cat-alert/cat-alert.spec.d.ts +0 -1
  410. package/dist/types/components/cat-badge/cat-badge.d.ts +0 -29
  411. package/dist/types/components/cat-badge/cat-badge.e2e.d.ts +0 -1
  412. package/dist/types/components/cat-badge/cat-badge.spec.d.ts +0 -1
  413. package/dist/types/components/cat-button/cat-button.d.ts +0 -134
  414. package/dist/types/components/cat-button/cat-button.e2e.d.ts +0 -1
  415. package/dist/types/components/cat-button/cat-button.spec.d.ts +0 -1
  416. package/dist/types/components/cat-card/cat-card.d.ts +0 -7
  417. package/dist/types/components/cat-card/cat-card.e2e.d.ts +0 -1
  418. package/dist/types/components/cat-card/cat-card.spec.d.ts +0 -1
  419. package/dist/types/components/cat-checkbox/cat-checkbox.d.ts +0 -69
  420. package/dist/types/components/cat-checkbox/cat-checkbox.e2e.d.ts +0 -1
  421. package/dist/types/components/cat-checkbox/cat-checkbox.spec.d.ts +0 -1
  422. package/dist/types/components/cat-i18n/cat-i18n-registry.d.ts +0 -18
  423. package/dist/types/components/cat-icon/cat-icon-registry.d.ts +0 -15
  424. package/dist/types/components/cat-icon/cat-icon.d.ts +0 -23
  425. package/dist/types/components/cat-icon/cat-icon.e2e.d.ts +0 -1
  426. package/dist/types/components/cat-icon/cat-icon.spec.d.ts +0 -1
  427. package/dist/types/components/cat-input/cat-input.d.ts +0 -130
  428. package/dist/types/components/cat-input/cat-input.e2e.d.ts +0 -1
  429. package/dist/types/components/cat-input/cat-input.spec.d.ts +0 -1
  430. package/dist/types/components/cat-menu/cat-menu.d.ts +0 -31
  431. package/dist/types/components/cat-menu/cat-menu.e2e.d.ts +0 -1
  432. package/dist/types/components/cat-menu/cat-menu.spec.d.ts +0 -1
  433. package/dist/types/components/cat-radio/cat-radio.d.ts +0 -63
  434. package/dist/types/components/cat-radio/cat-radio.e2e.d.ts +0 -1
  435. package/dist/types/components/cat-radio/cat-radio.spec.d.ts +0 -1
  436. package/dist/types/components/cat-scrollable/cat-scrollable.d.ts +0 -52
  437. package/dist/types/components/cat-scrollable/cat-scrollable.e2e.d.ts +0 -1
  438. package/dist/types/components/cat-scrollable/cat-scrollable.spec.d.ts +0 -1
  439. package/dist/types/components/cat-skeleton/cat-skeleton.d.ts +0 -28
  440. package/dist/types/components/cat-skeleton/cat-skeleton.e2e.d.ts +0 -1
  441. package/dist/types/components/cat-skeleton/cat-skeleton.spec.d.ts +0 -1
  442. package/dist/types/components/cat-spinner/cat-spinner.d.ts +0 -15
  443. package/dist/types/components/cat-spinner/cat-spinner.e2e.d.ts +0 -1
  444. package/dist/types/components/cat-spinner/cat-spinner.spec.d.ts +0 -1
  445. package/dist/types/components/cat-textarea/cat-textarea.d.ts +0 -85
  446. package/dist/types/components/cat-textarea/cat-textarea.e2e.d.ts +0 -1
  447. package/dist/types/components/cat-textarea/cat-textarea.spec.d.ts +0 -1
  448. package/dist/types/components/cat-toggle/cat-toggle.d.ts +0 -64
  449. package/dist/types/components/cat-toggle/cat-toggle.e2e.d.ts +0 -1
  450. package/dist/types/components/cat-toggle/cat-toggle.spec.d.ts +0 -1
  451. package/dist/types/components/cat-tooltip/cat-tooltip.d.ts +0 -46
  452. package/dist/types/components/cat-tooltip/cat-tooltip.e2e.d.ts +0 -1
  453. package/dist/types/components/cat-tooltip/cat-tooltip.spec.d.ts +0 -1
  454. package/dist/types/components.d.ts +0 -1167
  455. package/dist/types/index.d.ts +0 -3
  456. package/dist/types/init.d.ts +0 -1
  457. package/dist/types/stencil-public-runtime.d.ts +0 -1565
  458. package/dist/types/utils/breakpoints.d.ts +0 -7
  459. package/dist/types/utils/first-tabbable.d.ts +0 -4
  460. package/dist/types/utils/is-touch-screen.d.ts +0 -2
  461. package/dist/types/utils/media-matcher.d.ts +0 -13
  462. package/dist/types/utils/media-matcher.spec.d.ts +0 -1
  463. package/dist/types/utils/platform.d.ts +0 -18
  464. package/loader/cdn.js +0 -3
  465. package/loader/index.cjs.js +0 -3
  466. package/loader/index.d.ts +0 -12
  467. package/loader/index.es2017.js +0 -3
  468. package/loader/index.js +0 -4
  469. package/loader/package.json +0 -10
@@ -1,4526 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-abcb3941.js');
6
-
7
- function isFunction(value) {
8
- return typeof value === 'function';
9
- }
10
-
11
- function createErrorClass(createImpl) {
12
- const _super = (instance) => {
13
- Error.call(instance);
14
- instance.stack = new Error().stack;
15
- };
16
- const ctorFunc = createImpl(_super);
17
- ctorFunc.prototype = Object.create(Error.prototype);
18
- ctorFunc.prototype.constructor = ctorFunc;
19
- return ctorFunc;
20
- }
21
-
22
- const UnsubscriptionError = createErrorClass((_super) => function UnsubscriptionErrorImpl(errors) {
23
- _super(this);
24
- this.message = errors
25
- ? `${errors.length} errors occurred during unsubscription:
26
- ${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\n ')}`
27
- : '';
28
- this.name = 'UnsubscriptionError';
29
- this.errors = errors;
30
- });
31
-
32
- function arrRemove(arr, item) {
33
- if (arr) {
34
- const index = arr.indexOf(item);
35
- 0 <= index && arr.splice(index, 1);
36
- }
37
- }
38
-
39
- class Subscription {
40
- constructor(initialTeardown) {
41
- this.initialTeardown = initialTeardown;
42
- this.closed = false;
43
- this._parentage = null;
44
- this._finalizers = null;
45
- }
46
- unsubscribe() {
47
- let errors;
48
- if (!this.closed) {
49
- this.closed = true;
50
- const { _parentage } = this;
51
- if (_parentage) {
52
- this._parentage = null;
53
- if (Array.isArray(_parentage)) {
54
- for (const parent of _parentage) {
55
- parent.remove(this);
56
- }
57
- }
58
- else {
59
- _parentage.remove(this);
60
- }
61
- }
62
- const { initialTeardown: initialFinalizer } = this;
63
- if (isFunction(initialFinalizer)) {
64
- try {
65
- initialFinalizer();
66
- }
67
- catch (e) {
68
- errors = e instanceof UnsubscriptionError ? e.errors : [e];
69
- }
70
- }
71
- const { _finalizers } = this;
72
- if (_finalizers) {
73
- this._finalizers = null;
74
- for (const finalizer of _finalizers) {
75
- try {
76
- execFinalizer(finalizer);
77
- }
78
- catch (err) {
79
- errors = errors !== null && errors !== void 0 ? errors : [];
80
- if (err instanceof UnsubscriptionError) {
81
- errors = [...errors, ...err.errors];
82
- }
83
- else {
84
- errors.push(err);
85
- }
86
- }
87
- }
88
- }
89
- if (errors) {
90
- throw new UnsubscriptionError(errors);
91
- }
92
- }
93
- }
94
- add(teardown) {
95
- var _a;
96
- if (teardown && teardown !== this) {
97
- if (this.closed) {
98
- execFinalizer(teardown);
99
- }
100
- else {
101
- if (teardown instanceof Subscription) {
102
- if (teardown.closed || teardown._hasParent(this)) {
103
- return;
104
- }
105
- teardown._addParent(this);
106
- }
107
- (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);
108
- }
109
- }
110
- }
111
- _hasParent(parent) {
112
- const { _parentage } = this;
113
- return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));
114
- }
115
- _addParent(parent) {
116
- const { _parentage } = this;
117
- this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;
118
- }
119
- _removeParent(parent) {
120
- const { _parentage } = this;
121
- if (_parentage === parent) {
122
- this._parentage = null;
123
- }
124
- else if (Array.isArray(_parentage)) {
125
- arrRemove(_parentage, parent);
126
- }
127
- }
128
- remove(teardown) {
129
- const { _finalizers } = this;
130
- _finalizers && arrRemove(_finalizers, teardown);
131
- if (teardown instanceof Subscription) {
132
- teardown._removeParent(this);
133
- }
134
- }
135
- }
136
- Subscription.EMPTY = (() => {
137
- const empty = new Subscription();
138
- empty.closed = true;
139
- return empty;
140
- })();
141
- const EMPTY_SUBSCRIPTION = Subscription.EMPTY;
142
- function isSubscription(value) {
143
- return (value instanceof Subscription ||
144
- (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));
145
- }
146
- function execFinalizer(finalizer) {
147
- if (isFunction(finalizer)) {
148
- finalizer();
149
- }
150
- else {
151
- finalizer.unsubscribe();
152
- }
153
- }
154
-
155
- const config = {
156
- onUnhandledError: null,
157
- onStoppedNotification: null,
158
- Promise: undefined,
159
- useDeprecatedSynchronousErrorHandling: false,
160
- useDeprecatedNextContext: false,
161
- };
162
-
163
- const timeoutProvider = {
164
- setTimeout(handler, timeout, ...args) {
165
- const { delegate } = timeoutProvider;
166
- if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {
167
- return delegate.setTimeout(handler, timeout, ...args);
168
- }
169
- return setTimeout(handler, timeout, ...args);
170
- },
171
- clearTimeout(handle) {
172
- const { delegate } = timeoutProvider;
173
- return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);
174
- },
175
- delegate: undefined,
176
- };
177
-
178
- function reportUnhandledError(err) {
179
- timeoutProvider.setTimeout(() => {
180
- const { onUnhandledError } = config;
181
- if (onUnhandledError) {
182
- onUnhandledError(err);
183
- }
184
- else {
185
- throw err;
186
- }
187
- });
188
- }
189
-
190
- function noop() { }
191
-
192
- const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined))();
193
- function errorNotification(error) {
194
- return createNotification('E', undefined, error);
195
- }
196
- function nextNotification(value) {
197
- return createNotification('N', value, undefined);
198
- }
199
- function createNotification(kind, value, error) {
200
- return {
201
- kind,
202
- value,
203
- error,
204
- };
205
- }
206
-
207
- let context = null;
208
- function errorContext(cb) {
209
- if (config.useDeprecatedSynchronousErrorHandling) {
210
- const isRoot = !context;
211
- if (isRoot) {
212
- context = { errorThrown: false, error: null };
213
- }
214
- cb();
215
- if (isRoot) {
216
- const { errorThrown, error } = context;
217
- context = null;
218
- if (errorThrown) {
219
- throw error;
220
- }
221
- }
222
- }
223
- else {
224
- cb();
225
- }
226
- }
227
- function captureError(err) {
228
- if (config.useDeprecatedSynchronousErrorHandling && context) {
229
- context.errorThrown = true;
230
- context.error = err;
231
- }
232
- }
233
-
234
- class Subscriber extends Subscription {
235
- constructor(destination) {
236
- super();
237
- this.isStopped = false;
238
- if (destination) {
239
- this.destination = destination;
240
- if (isSubscription(destination)) {
241
- destination.add(this);
242
- }
243
- }
244
- else {
245
- this.destination = EMPTY_OBSERVER;
246
- }
247
- }
248
- static create(next, error, complete) {
249
- return new SafeSubscriber(next, error, complete);
250
- }
251
- next(value) {
252
- if (this.isStopped) {
253
- handleStoppedNotification(nextNotification(value), this);
254
- }
255
- else {
256
- this._next(value);
257
- }
258
- }
259
- error(err) {
260
- if (this.isStopped) {
261
- handleStoppedNotification(errorNotification(err), this);
262
- }
263
- else {
264
- this.isStopped = true;
265
- this._error(err);
266
- }
267
- }
268
- complete() {
269
- if (this.isStopped) {
270
- handleStoppedNotification(COMPLETE_NOTIFICATION, this);
271
- }
272
- else {
273
- this.isStopped = true;
274
- this._complete();
275
- }
276
- }
277
- unsubscribe() {
278
- if (!this.closed) {
279
- this.isStopped = true;
280
- super.unsubscribe();
281
- this.destination = null;
282
- }
283
- }
284
- _next(value) {
285
- this.destination.next(value);
286
- }
287
- _error(err) {
288
- try {
289
- this.destination.error(err);
290
- }
291
- finally {
292
- this.unsubscribe();
293
- }
294
- }
295
- _complete() {
296
- try {
297
- this.destination.complete();
298
- }
299
- finally {
300
- this.unsubscribe();
301
- }
302
- }
303
- }
304
- const _bind = Function.prototype.bind;
305
- function bind(fn, thisArg) {
306
- return _bind.call(fn, thisArg);
307
- }
308
- class ConsumerObserver {
309
- constructor(partialObserver) {
310
- this.partialObserver = partialObserver;
311
- }
312
- next(value) {
313
- const { partialObserver } = this;
314
- if (partialObserver.next) {
315
- try {
316
- partialObserver.next(value);
317
- }
318
- catch (error) {
319
- handleUnhandledError(error);
320
- }
321
- }
322
- }
323
- error(err) {
324
- const { partialObserver } = this;
325
- if (partialObserver.error) {
326
- try {
327
- partialObserver.error(err);
328
- }
329
- catch (error) {
330
- handleUnhandledError(error);
331
- }
332
- }
333
- else {
334
- handleUnhandledError(err);
335
- }
336
- }
337
- complete() {
338
- const { partialObserver } = this;
339
- if (partialObserver.complete) {
340
- try {
341
- partialObserver.complete();
342
- }
343
- catch (error) {
344
- handleUnhandledError(error);
345
- }
346
- }
347
- }
348
- }
349
- class SafeSubscriber extends Subscriber {
350
- constructor(observerOrNext, error, complete) {
351
- super();
352
- let partialObserver;
353
- if (isFunction(observerOrNext) || !observerOrNext) {
354
- partialObserver = {
355
- next: observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined,
356
- error: error !== null && error !== void 0 ? error : undefined,
357
- complete: complete !== null && complete !== void 0 ? complete : undefined,
358
- };
359
- }
360
- else {
361
- let context;
362
- if (this && config.useDeprecatedNextContext) {
363
- context = Object.create(observerOrNext);
364
- context.unsubscribe = () => this.unsubscribe();
365
- partialObserver = {
366
- next: observerOrNext.next && bind(observerOrNext.next, context),
367
- error: observerOrNext.error && bind(observerOrNext.error, context),
368
- complete: observerOrNext.complete && bind(observerOrNext.complete, context),
369
- };
370
- }
371
- else {
372
- partialObserver = observerOrNext;
373
- }
374
- }
375
- this.destination = new ConsumerObserver(partialObserver);
376
- }
377
- }
378
- function handleUnhandledError(error) {
379
- if (config.useDeprecatedSynchronousErrorHandling) {
380
- captureError(error);
381
- }
382
- else {
383
- reportUnhandledError(error);
384
- }
385
- }
386
- function defaultErrorHandler(err) {
387
- throw err;
388
- }
389
- function handleStoppedNotification(notification, subscriber) {
390
- const { onStoppedNotification } = config;
391
- onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));
392
- }
393
- const EMPTY_OBSERVER = {
394
- closed: true,
395
- next: noop,
396
- error: defaultErrorHandler,
397
- complete: noop,
398
- };
399
-
400
- const observable = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();
401
-
402
- function identity(x) {
403
- return x;
404
- }
405
-
406
- function pipe(...fns) {
407
- return pipeFromArray(fns);
408
- }
409
- function pipeFromArray(fns) {
410
- if (fns.length === 0) {
411
- return identity;
412
- }
413
- if (fns.length === 1) {
414
- return fns[0];
415
- }
416
- return function piped(input) {
417
- return fns.reduce((prev, fn) => fn(prev), input);
418
- };
419
- }
420
-
421
- class Observable {
422
- constructor(subscribe) {
423
- if (subscribe) {
424
- this._subscribe = subscribe;
425
- }
426
- }
427
- lift(operator) {
428
- const observable = new Observable();
429
- observable.source = this;
430
- observable.operator = operator;
431
- return observable;
432
- }
433
- subscribe(observerOrNext, error, complete) {
434
- const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);
435
- errorContext(() => {
436
- const { operator, source } = this;
437
- subscriber.add(operator
438
- ?
439
- operator.call(subscriber, source)
440
- : source
441
- ?
442
- this._subscribe(subscriber)
443
- :
444
- this._trySubscribe(subscriber));
445
- });
446
- return subscriber;
447
- }
448
- _trySubscribe(sink) {
449
- try {
450
- return this._subscribe(sink);
451
- }
452
- catch (err) {
453
- sink.error(err);
454
- }
455
- }
456
- forEach(next, promiseCtor) {
457
- promiseCtor = getPromiseCtor(promiseCtor);
458
- return new promiseCtor((resolve, reject) => {
459
- const subscriber = new SafeSubscriber({
460
- next: (value) => {
461
- try {
462
- next(value);
463
- }
464
- catch (err) {
465
- reject(err);
466
- subscriber.unsubscribe();
467
- }
468
- },
469
- error: reject,
470
- complete: resolve,
471
- });
472
- this.subscribe(subscriber);
473
- });
474
- }
475
- _subscribe(subscriber) {
476
- var _a;
477
- return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);
478
- }
479
- [observable]() {
480
- return this;
481
- }
482
- pipe(...operations) {
483
- return pipeFromArray(operations)(this);
484
- }
485
- toPromise(promiseCtor) {
486
- promiseCtor = getPromiseCtor(promiseCtor);
487
- return new promiseCtor((resolve, reject) => {
488
- let value;
489
- this.subscribe((x) => (value = x), (err) => reject(err), () => resolve(value));
490
- });
491
- }
492
- }
493
- Observable.create = (subscribe) => {
494
- return new Observable(subscribe);
495
- };
496
- function getPromiseCtor(promiseCtor) {
497
- var _a;
498
- return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;
499
- }
500
- function isObserver(value) {
501
- return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);
502
- }
503
- function isSubscriber(value) {
504
- return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));
505
- }
506
-
507
- function hasLift(source) {
508
- return isFunction(source === null || source === void 0 ? void 0 : source.lift);
509
- }
510
- function operate(init) {
511
- return (source) => {
512
- if (hasLift(source)) {
513
- return source.lift(function (liftedSource) {
514
- try {
515
- return init(liftedSource, this);
516
- }
517
- catch (err) {
518
- this.error(err);
519
- }
520
- });
521
- }
522
- throw new TypeError('Unable to lift unknown Observable type');
523
- };
524
- }
525
-
526
- function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {
527
- return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);
528
- }
529
- class OperatorSubscriber extends Subscriber {
530
- constructor(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {
531
- super(destination);
532
- this.onFinalize = onFinalize;
533
- this.shouldUnsubscribe = shouldUnsubscribe;
534
- this._next = onNext
535
- ? function (value) {
536
- try {
537
- onNext(value);
538
- }
539
- catch (err) {
540
- destination.error(err);
541
- }
542
- }
543
- : super._next;
544
- this._error = onError
545
- ? function (err) {
546
- try {
547
- onError(err);
548
- }
549
- catch (err) {
550
- destination.error(err);
551
- }
552
- finally {
553
- this.unsubscribe();
554
- }
555
- }
556
- : super._error;
557
- this._complete = onComplete
558
- ? function () {
559
- try {
560
- onComplete();
561
- }
562
- catch (err) {
563
- destination.error(err);
564
- }
565
- finally {
566
- this.unsubscribe();
567
- }
568
- }
569
- : super._complete;
570
- }
571
- unsubscribe() {
572
- var _a;
573
- if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {
574
- const { closed } = this;
575
- super.unsubscribe();
576
- !closed && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));
577
- }
578
- }
579
- }
580
-
581
- function refCount() {
582
- return operate((source, subscriber) => {
583
- let connection = null;
584
- source._refCount++;
585
- const refCounter = createOperatorSubscriber(subscriber, undefined, undefined, undefined, () => {
586
- if (!source || source._refCount <= 0 || 0 < --source._refCount) {
587
- connection = null;
588
- return;
589
- }
590
- const sharedConnection = source._connection;
591
- const conn = connection;
592
- connection = null;
593
- if (sharedConnection && (!conn || sharedConnection === conn)) {
594
- sharedConnection.unsubscribe();
595
- }
596
- subscriber.unsubscribe();
597
- });
598
- source.subscribe(refCounter);
599
- if (!refCounter.closed) {
600
- connection = source.connect();
601
- }
602
- });
603
- }
604
-
605
- class ConnectableObservable extends Observable {
606
- constructor(source, subjectFactory) {
607
- super();
608
- this.source = source;
609
- this.subjectFactory = subjectFactory;
610
- this._subject = null;
611
- this._refCount = 0;
612
- this._connection = null;
613
- if (hasLift(source)) {
614
- this.lift = source.lift;
615
- }
616
- }
617
- _subscribe(subscriber) {
618
- return this.getSubject().subscribe(subscriber);
619
- }
620
- getSubject() {
621
- const subject = this._subject;
622
- if (!subject || subject.isStopped) {
623
- this._subject = this.subjectFactory();
624
- }
625
- return this._subject;
626
- }
627
- _teardown() {
628
- this._refCount = 0;
629
- const { _connection } = this;
630
- this._subject = this._connection = null;
631
- _connection === null || _connection === void 0 ? void 0 : _connection.unsubscribe();
632
- }
633
- connect() {
634
- let connection = this._connection;
635
- if (!connection) {
636
- connection = this._connection = new Subscription();
637
- const subject = this.getSubject();
638
- connection.add(this.source.subscribe(createOperatorSubscriber(subject, undefined, () => {
639
- this._teardown();
640
- subject.complete();
641
- }, (err) => {
642
- this._teardown();
643
- subject.error(err);
644
- }, () => this._teardown())));
645
- if (connection.closed) {
646
- this._connection = null;
647
- connection = Subscription.EMPTY;
648
- }
649
- }
650
- return connection;
651
- }
652
- refCount() {
653
- return refCount()(this);
654
- }
655
- }
656
-
657
- const performanceTimestampProvider = {
658
- now() {
659
- return (performanceTimestampProvider.delegate || performance).now();
660
- },
661
- delegate: undefined,
662
- };
663
-
664
- const animationFrameProvider = {
665
- schedule(callback) {
666
- let request = requestAnimationFrame;
667
- let cancel = cancelAnimationFrame;
668
- const { delegate } = animationFrameProvider;
669
- if (delegate) {
670
- request = delegate.requestAnimationFrame;
671
- cancel = delegate.cancelAnimationFrame;
672
- }
673
- const handle = request((timestamp) => {
674
- cancel = undefined;
675
- callback(timestamp);
676
- });
677
- return new Subscription(() => cancel === null || cancel === void 0 ? void 0 : cancel(handle));
678
- },
679
- requestAnimationFrame(...args) {
680
- const { delegate } = animationFrameProvider;
681
- return ((delegate === null || delegate === void 0 ? void 0 : delegate.requestAnimationFrame) || requestAnimationFrame)(...args);
682
- },
683
- cancelAnimationFrame(...args) {
684
- const { delegate } = animationFrameProvider;
685
- return ((delegate === null || delegate === void 0 ? void 0 : delegate.cancelAnimationFrame) || cancelAnimationFrame)(...args);
686
- },
687
- delegate: undefined,
688
- };
689
-
690
- function animationFrames(timestampProvider) {
691
- return timestampProvider ? animationFramesFactory(timestampProvider) : DEFAULT_ANIMATION_FRAMES;
692
- }
693
- function animationFramesFactory(timestampProvider) {
694
- const { schedule } = animationFrameProvider;
695
- return new Observable((subscriber) => {
696
- const subscription = new Subscription();
697
- const provider = timestampProvider || performanceTimestampProvider;
698
- const start = provider.now();
699
- const run = (timestamp) => {
700
- const now = provider.now();
701
- subscriber.next({
702
- timestamp: timestampProvider ? now : timestamp,
703
- elapsed: now - start,
704
- });
705
- if (!subscriber.closed) {
706
- subscription.add(schedule(run));
707
- }
708
- };
709
- subscription.add(schedule(run));
710
- return subscription;
711
- });
712
- }
713
- const DEFAULT_ANIMATION_FRAMES = animationFramesFactory();
714
-
715
- const ObjectUnsubscribedError = createErrorClass((_super) => function ObjectUnsubscribedErrorImpl() {
716
- _super(this);
717
- this.name = 'ObjectUnsubscribedError';
718
- this.message = 'object unsubscribed';
719
- });
720
-
721
- class Subject extends Observable {
722
- constructor() {
723
- super();
724
- this.closed = false;
725
- this.currentObservers = null;
726
- this.observers = [];
727
- this.isStopped = false;
728
- this.hasError = false;
729
- this.thrownError = null;
730
- }
731
- lift(operator) {
732
- const subject = new AnonymousSubject(this, this);
733
- subject.operator = operator;
734
- return subject;
735
- }
736
- _throwIfClosed() {
737
- if (this.closed) {
738
- throw new ObjectUnsubscribedError();
739
- }
740
- }
741
- next(value) {
742
- errorContext(() => {
743
- this._throwIfClosed();
744
- if (!this.isStopped) {
745
- if (!this.currentObservers) {
746
- this.currentObservers = Array.from(this.observers);
747
- }
748
- for (const observer of this.currentObservers) {
749
- observer.next(value);
750
- }
751
- }
752
- });
753
- }
754
- error(err) {
755
- errorContext(() => {
756
- this._throwIfClosed();
757
- if (!this.isStopped) {
758
- this.hasError = this.isStopped = true;
759
- this.thrownError = err;
760
- const { observers } = this;
761
- while (observers.length) {
762
- observers.shift().error(err);
763
- }
764
- }
765
- });
766
- }
767
- complete() {
768
- errorContext(() => {
769
- this._throwIfClosed();
770
- if (!this.isStopped) {
771
- this.isStopped = true;
772
- const { observers } = this;
773
- while (observers.length) {
774
- observers.shift().complete();
775
- }
776
- }
777
- });
778
- }
779
- unsubscribe() {
780
- this.isStopped = this.closed = true;
781
- this.observers = this.currentObservers = null;
782
- }
783
- get observed() {
784
- var _a;
785
- return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;
786
- }
787
- _trySubscribe(subscriber) {
788
- this._throwIfClosed();
789
- return super._trySubscribe(subscriber);
790
- }
791
- _subscribe(subscriber) {
792
- this._throwIfClosed();
793
- this._checkFinalizedStatuses(subscriber);
794
- return this._innerSubscribe(subscriber);
795
- }
796
- _innerSubscribe(subscriber) {
797
- const { hasError, isStopped, observers } = this;
798
- if (hasError || isStopped) {
799
- return EMPTY_SUBSCRIPTION;
800
- }
801
- this.currentObservers = null;
802
- observers.push(subscriber);
803
- return new Subscription(() => {
804
- this.currentObservers = null;
805
- arrRemove(observers, subscriber);
806
- });
807
- }
808
- _checkFinalizedStatuses(subscriber) {
809
- const { hasError, thrownError, isStopped } = this;
810
- if (hasError) {
811
- subscriber.error(thrownError);
812
- }
813
- else if (isStopped) {
814
- subscriber.complete();
815
- }
816
- }
817
- asObservable() {
818
- const observable = new Observable();
819
- observable.source = this;
820
- return observable;
821
- }
822
- }
823
- Subject.create = (destination, source) => {
824
- return new AnonymousSubject(destination, source);
825
- };
826
- class AnonymousSubject extends Subject {
827
- constructor(destination, source) {
828
- super();
829
- this.destination = destination;
830
- this.source = source;
831
- }
832
- next(value) {
833
- var _a, _b;
834
- (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);
835
- }
836
- error(err) {
837
- var _a, _b;
838
- (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);
839
- }
840
- complete() {
841
- var _a, _b;
842
- (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);
843
- }
844
- _subscribe(subscriber) {
845
- var _a, _b;
846
- return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;
847
- }
848
- }
849
-
850
- class BehaviorSubject extends Subject {
851
- constructor(_value) {
852
- super();
853
- this._value = _value;
854
- }
855
- get value() {
856
- return this.getValue();
857
- }
858
- _subscribe(subscriber) {
859
- const subscription = super._subscribe(subscriber);
860
- !subscription.closed && subscriber.next(this._value);
861
- return subscription;
862
- }
863
- getValue() {
864
- const { hasError, thrownError, _value } = this;
865
- if (hasError) {
866
- throw thrownError;
867
- }
868
- this._throwIfClosed();
869
- return _value;
870
- }
871
- next(value) {
872
- super.next((this._value = value));
873
- }
874
- }
875
-
876
- const dateTimestampProvider = {
877
- now() {
878
- return (dateTimestampProvider.delegate || Date).now();
879
- },
880
- delegate: undefined,
881
- };
882
-
883
- class ReplaySubject extends Subject {
884
- constructor(_bufferSize = Infinity, _windowTime = Infinity, _timestampProvider = dateTimestampProvider) {
885
- super();
886
- this._bufferSize = _bufferSize;
887
- this._windowTime = _windowTime;
888
- this._timestampProvider = _timestampProvider;
889
- this._buffer = [];
890
- this._infiniteTimeWindow = true;
891
- this._infiniteTimeWindow = _windowTime === Infinity;
892
- this._bufferSize = Math.max(1, _bufferSize);
893
- this._windowTime = Math.max(1, _windowTime);
894
- }
895
- next(value) {
896
- const { isStopped, _buffer, _infiniteTimeWindow, _timestampProvider, _windowTime } = this;
897
- if (!isStopped) {
898
- _buffer.push(value);
899
- !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);
900
- }
901
- this._trimBuffer();
902
- super.next(value);
903
- }
904
- _subscribe(subscriber) {
905
- this._throwIfClosed();
906
- this._trimBuffer();
907
- const subscription = this._innerSubscribe(subscriber);
908
- const { _infiniteTimeWindow, _buffer } = this;
909
- const copy = _buffer.slice();
910
- for (let i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {
911
- subscriber.next(copy[i]);
912
- }
913
- this._checkFinalizedStatuses(subscriber);
914
- return subscription;
915
- }
916
- _trimBuffer() {
917
- const { _bufferSize, _timestampProvider, _buffer, _infiniteTimeWindow } = this;
918
- const adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;
919
- _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);
920
- if (!_infiniteTimeWindow) {
921
- const now = _timestampProvider.now();
922
- let last = 0;
923
- for (let i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {
924
- last = i;
925
- }
926
- last && _buffer.splice(0, last + 1);
927
- }
928
- }
929
- }
930
-
931
- class AsyncSubject extends Subject {
932
- constructor() {
933
- super(...arguments);
934
- this._value = null;
935
- this._hasValue = false;
936
- this._isComplete = false;
937
- }
938
- _checkFinalizedStatuses(subscriber) {
939
- const { hasError, _hasValue, _value, thrownError, isStopped, _isComplete } = this;
940
- if (hasError) {
941
- subscriber.error(thrownError);
942
- }
943
- else if (isStopped || _isComplete) {
944
- _hasValue && subscriber.next(_value);
945
- subscriber.complete();
946
- }
947
- }
948
- next(value) {
949
- if (!this.isStopped) {
950
- this._value = value;
951
- this._hasValue = true;
952
- }
953
- }
954
- complete() {
955
- const { _hasValue, _value, _isComplete } = this;
956
- if (!_isComplete) {
957
- this._isComplete = true;
958
- _hasValue && super.next(_value);
959
- super.complete();
960
- }
961
- }
962
- }
963
-
964
- class Action extends Subscription {
965
- constructor(scheduler, work) {
966
- super();
967
- }
968
- schedule(state, delay = 0) {
969
- return this;
970
- }
971
- }
972
-
973
- const intervalProvider = {
974
- setInterval(handler, timeout, ...args) {
975
- const { delegate } = intervalProvider;
976
- if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {
977
- return delegate.setInterval(handler, timeout, ...args);
978
- }
979
- return setInterval(handler, timeout, ...args);
980
- },
981
- clearInterval(handle) {
982
- const { delegate } = intervalProvider;
983
- return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);
984
- },
985
- delegate: undefined,
986
- };
987
-
988
- class AsyncAction extends Action {
989
- constructor(scheduler, work) {
990
- super(scheduler, work);
991
- this.scheduler = scheduler;
992
- this.work = work;
993
- this.pending = false;
994
- }
995
- schedule(state, delay = 0) {
996
- if (this.closed) {
997
- return this;
998
- }
999
- this.state = state;
1000
- const id = this.id;
1001
- const scheduler = this.scheduler;
1002
- if (id != null) {
1003
- this.id = this.recycleAsyncId(scheduler, id, delay);
1004
- }
1005
- this.pending = true;
1006
- this.delay = delay;
1007
- this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);
1008
- return this;
1009
- }
1010
- requestAsyncId(scheduler, _id, delay = 0) {
1011
- return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);
1012
- }
1013
- recycleAsyncId(_scheduler, id, delay = 0) {
1014
- if (delay != null && this.delay === delay && this.pending === false) {
1015
- return id;
1016
- }
1017
- intervalProvider.clearInterval(id);
1018
- return undefined;
1019
- }
1020
- execute(state, delay) {
1021
- if (this.closed) {
1022
- return new Error('executing a cancelled action');
1023
- }
1024
- this.pending = false;
1025
- const error = this._execute(state, delay);
1026
- if (error) {
1027
- return error;
1028
- }
1029
- else if (this.pending === false && this.id != null) {
1030
- this.id = this.recycleAsyncId(this.scheduler, this.id, null);
1031
- }
1032
- }
1033
- _execute(state, _delay) {
1034
- let errored = false;
1035
- let errorValue;
1036
- try {
1037
- this.work(state);
1038
- }
1039
- catch (e) {
1040
- errored = true;
1041
- errorValue = e ? e : new Error('Scheduled action threw falsy error');
1042
- }
1043
- if (errored) {
1044
- this.unsubscribe();
1045
- return errorValue;
1046
- }
1047
- }
1048
- unsubscribe() {
1049
- if (!this.closed) {
1050
- const { id, scheduler } = this;
1051
- const { actions } = scheduler;
1052
- this.work = this.state = this.scheduler = null;
1053
- this.pending = false;
1054
- arrRemove(actions, this);
1055
- if (id != null) {
1056
- this.id = this.recycleAsyncId(scheduler, id, null);
1057
- }
1058
- this.delay = null;
1059
- super.unsubscribe();
1060
- }
1061
- }
1062
- }
1063
-
1064
- let nextHandle = 1;
1065
- let resolved;
1066
- const activeHandles = {};
1067
- function findAndClearHandle(handle) {
1068
- if (handle in activeHandles) {
1069
- delete activeHandles[handle];
1070
- return true;
1071
- }
1072
- return false;
1073
- }
1074
- const Immediate = {
1075
- setImmediate(cb) {
1076
- const handle = nextHandle++;
1077
- activeHandles[handle] = true;
1078
- if (!resolved) {
1079
- resolved = Promise.resolve();
1080
- }
1081
- resolved.then(() => findAndClearHandle(handle) && cb());
1082
- return handle;
1083
- },
1084
- clearImmediate(handle) {
1085
- findAndClearHandle(handle);
1086
- },
1087
- };
1088
- const TestTools = {
1089
- pending() {
1090
- return Object.keys(activeHandles).length;
1091
- }
1092
- };
1093
-
1094
- const { setImmediate, clearImmediate } = Immediate;
1095
- const immediateProvider = {
1096
- setImmediate(...args) {
1097
- const { delegate } = immediateProvider;
1098
- return ((delegate === null || delegate === void 0 ? void 0 : delegate.setImmediate) || setImmediate)(...args);
1099
- },
1100
- clearImmediate(handle) {
1101
- const { delegate } = immediateProvider;
1102
- return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearImmediate) || clearImmediate)(handle);
1103
- },
1104
- delegate: undefined,
1105
- };
1106
-
1107
- class AsapAction extends AsyncAction {
1108
- constructor(scheduler, work) {
1109
- super(scheduler, work);
1110
- this.scheduler = scheduler;
1111
- this.work = work;
1112
- }
1113
- requestAsyncId(scheduler, id, delay = 0) {
1114
- if (delay !== null && delay > 0) {
1115
- return super.requestAsyncId(scheduler, id, delay);
1116
- }
1117
- scheduler.actions.push(this);
1118
- return scheduler._scheduled || (scheduler._scheduled = immediateProvider.setImmediate(scheduler.flush.bind(scheduler, undefined)));
1119
- }
1120
- recycleAsyncId(scheduler, id, delay = 0) {
1121
- if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {
1122
- return super.recycleAsyncId(scheduler, id, delay);
1123
- }
1124
- if (!scheduler.actions.some((action) => action.id === id)) {
1125
- immediateProvider.clearImmediate(id);
1126
- scheduler._scheduled = undefined;
1127
- }
1128
- return undefined;
1129
- }
1130
- }
1131
-
1132
- class Scheduler {
1133
- constructor(schedulerActionCtor, now = Scheduler.now) {
1134
- this.schedulerActionCtor = schedulerActionCtor;
1135
- this.now = now;
1136
- }
1137
- schedule(work, delay = 0, state) {
1138
- return new this.schedulerActionCtor(this, work).schedule(state, delay);
1139
- }
1140
- }
1141
- Scheduler.now = dateTimestampProvider.now;
1142
-
1143
- class AsyncScheduler extends Scheduler {
1144
- constructor(SchedulerAction, now = Scheduler.now) {
1145
- super(SchedulerAction, now);
1146
- this.actions = [];
1147
- this._active = false;
1148
- this._scheduled = undefined;
1149
- }
1150
- flush(action) {
1151
- const { actions } = this;
1152
- if (this._active) {
1153
- actions.push(action);
1154
- return;
1155
- }
1156
- let error;
1157
- this._active = true;
1158
- do {
1159
- if ((error = action.execute(action.state, action.delay))) {
1160
- break;
1161
- }
1162
- } while ((action = actions.shift()));
1163
- this._active = false;
1164
- if (error) {
1165
- while ((action = actions.shift())) {
1166
- action.unsubscribe();
1167
- }
1168
- throw error;
1169
- }
1170
- }
1171
- }
1172
-
1173
- class AsapScheduler extends AsyncScheduler {
1174
- flush(action) {
1175
- this._active = true;
1176
- const flushId = this._scheduled;
1177
- this._scheduled = undefined;
1178
- const { actions } = this;
1179
- let error;
1180
- action = action || actions.shift();
1181
- do {
1182
- if ((error = action.execute(action.state, action.delay))) {
1183
- break;
1184
- }
1185
- } while ((action = actions[0]) && action.id === flushId && actions.shift());
1186
- this._active = false;
1187
- if (error) {
1188
- while ((action = actions[0]) && action.id === flushId && actions.shift()) {
1189
- action.unsubscribe();
1190
- }
1191
- throw error;
1192
- }
1193
- }
1194
- }
1195
-
1196
- const asapScheduler = new AsapScheduler(AsapAction);
1197
- const asap = asapScheduler;
1198
-
1199
- const asyncScheduler = new AsyncScheduler(AsyncAction);
1200
- const async = asyncScheduler;
1201
-
1202
- class QueueAction extends AsyncAction {
1203
- constructor(scheduler, work) {
1204
- super(scheduler, work);
1205
- this.scheduler = scheduler;
1206
- this.work = work;
1207
- }
1208
- schedule(state, delay = 0) {
1209
- if (delay > 0) {
1210
- return super.schedule(state, delay);
1211
- }
1212
- this.delay = delay;
1213
- this.state = state;
1214
- this.scheduler.flush(this);
1215
- return this;
1216
- }
1217
- execute(state, delay) {
1218
- return (delay > 0 || this.closed) ?
1219
- super.execute(state, delay) :
1220
- this._execute(state, delay);
1221
- }
1222
- requestAsyncId(scheduler, id, delay = 0) {
1223
- if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {
1224
- return super.requestAsyncId(scheduler, id, delay);
1225
- }
1226
- return scheduler.flush(this);
1227
- }
1228
- }
1229
-
1230
- class QueueScheduler extends AsyncScheduler {
1231
- }
1232
-
1233
- const queueScheduler = new QueueScheduler(QueueAction);
1234
- const queue = queueScheduler;
1235
-
1236
- class AnimationFrameAction extends AsyncAction {
1237
- constructor(scheduler, work) {
1238
- super(scheduler, work);
1239
- this.scheduler = scheduler;
1240
- this.work = work;
1241
- }
1242
- requestAsyncId(scheduler, id, delay = 0) {
1243
- if (delay !== null && delay > 0) {
1244
- return super.requestAsyncId(scheduler, id, delay);
1245
- }
1246
- scheduler.actions.push(this);
1247
- return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));
1248
- }
1249
- recycleAsyncId(scheduler, id, delay = 0) {
1250
- if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {
1251
- return super.recycleAsyncId(scheduler, id, delay);
1252
- }
1253
- if (!scheduler.actions.some((action) => action.id === id)) {
1254
- animationFrameProvider.cancelAnimationFrame(id);
1255
- scheduler._scheduled = undefined;
1256
- }
1257
- return undefined;
1258
- }
1259
- }
1260
-
1261
- class AnimationFrameScheduler extends AsyncScheduler {
1262
- flush(action) {
1263
- this._active = true;
1264
- const flushId = this._scheduled;
1265
- this._scheduled = undefined;
1266
- const { actions } = this;
1267
- let error;
1268
- action = action || actions.shift();
1269
- do {
1270
- if ((error = action.execute(action.state, action.delay))) {
1271
- break;
1272
- }
1273
- } while ((action = actions[0]) && action.id === flushId && actions.shift());
1274
- this._active = false;
1275
- if (error) {
1276
- while ((action = actions[0]) && action.id === flushId && actions.shift()) {
1277
- action.unsubscribe();
1278
- }
1279
- throw error;
1280
- }
1281
- }
1282
- }
1283
-
1284
- const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);
1285
- const animationFrame = animationFrameScheduler;
1286
-
1287
- class VirtualTimeScheduler extends AsyncScheduler {
1288
- constructor(schedulerActionCtor = VirtualAction, maxFrames = Infinity) {
1289
- super(schedulerActionCtor, () => this.frame);
1290
- this.maxFrames = maxFrames;
1291
- this.frame = 0;
1292
- this.index = -1;
1293
- }
1294
- flush() {
1295
- const { actions, maxFrames } = this;
1296
- let error;
1297
- let action;
1298
- while ((action = actions[0]) && action.delay <= maxFrames) {
1299
- actions.shift();
1300
- this.frame = action.delay;
1301
- if ((error = action.execute(action.state, action.delay))) {
1302
- break;
1303
- }
1304
- }
1305
- if (error) {
1306
- while ((action = actions.shift())) {
1307
- action.unsubscribe();
1308
- }
1309
- throw error;
1310
- }
1311
- }
1312
- }
1313
- VirtualTimeScheduler.frameTimeFactor = 10;
1314
- class VirtualAction extends AsyncAction {
1315
- constructor(scheduler, work, index = (scheduler.index += 1)) {
1316
- super(scheduler, work);
1317
- this.scheduler = scheduler;
1318
- this.work = work;
1319
- this.index = index;
1320
- this.active = true;
1321
- this.index = scheduler.index = index;
1322
- }
1323
- schedule(state, delay = 0) {
1324
- if (Number.isFinite(delay)) {
1325
- if (!this.id) {
1326
- return super.schedule(state, delay);
1327
- }
1328
- this.active = false;
1329
- const action = new VirtualAction(this.scheduler, this.work);
1330
- this.add(action);
1331
- return action.schedule(state, delay);
1332
- }
1333
- else {
1334
- return Subscription.EMPTY;
1335
- }
1336
- }
1337
- requestAsyncId(scheduler, id, delay = 0) {
1338
- this.delay = scheduler.frame + delay;
1339
- const { actions } = scheduler;
1340
- actions.push(this);
1341
- actions.sort(VirtualAction.sortActions);
1342
- return true;
1343
- }
1344
- recycleAsyncId(scheduler, id, delay = 0) {
1345
- return undefined;
1346
- }
1347
- _execute(state, delay) {
1348
- if (this.active === true) {
1349
- return super._execute(state, delay);
1350
- }
1351
- }
1352
- static sortActions(a, b) {
1353
- if (a.delay === b.delay) {
1354
- if (a.index === b.index) {
1355
- return 0;
1356
- }
1357
- else if (a.index > b.index) {
1358
- return 1;
1359
- }
1360
- else {
1361
- return -1;
1362
- }
1363
- }
1364
- else if (a.delay > b.delay) {
1365
- return 1;
1366
- }
1367
- else {
1368
- return -1;
1369
- }
1370
- }
1371
- }
1372
-
1373
- const EMPTY = new Observable((subscriber) => subscriber.complete());
1374
- function empty(scheduler) {
1375
- return scheduler ? emptyScheduled(scheduler) : EMPTY;
1376
- }
1377
- function emptyScheduled(scheduler) {
1378
- return new Observable((subscriber) => scheduler.schedule(() => subscriber.complete()));
1379
- }
1380
-
1381
- function isScheduler(value) {
1382
- return value && isFunction(value.schedule);
1383
- }
1384
-
1385
- function last$1(arr) {
1386
- return arr[arr.length - 1];
1387
- }
1388
- function popResultSelector(args) {
1389
- return isFunction(last$1(args)) ? args.pop() : undefined;
1390
- }
1391
- function popScheduler(args) {
1392
- return isScheduler(last$1(args)) ? args.pop() : undefined;
1393
- }
1394
- function popNumber(args, defaultValue) {
1395
- return typeof last$1(args) === 'number' ? args.pop() : defaultValue;
1396
- }
1397
-
1398
- /*! *****************************************************************************
1399
- Copyright (c) Microsoft Corporation.
1400
-
1401
- Permission to use, copy, modify, and/or distribute this software for any
1402
- purpose with or without fee is hereby granted.
1403
-
1404
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
1405
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1406
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
1407
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1408
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
1409
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1410
- PERFORMANCE OF THIS SOFTWARE.
1411
- ***************************************************************************** */
1412
- /* global Reflect, Promise */
1413
-
1414
- var extendStatics = function(d, b) {
1415
- extendStatics = Object.setPrototypeOf ||
1416
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
1417
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
1418
- return extendStatics(d, b);
1419
- };
1420
-
1421
- function __extends(d, b) {
1422
- if (typeof b !== "function" && b !== null)
1423
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1424
- extendStatics(d, b);
1425
- function __() { this.constructor = d; }
1426
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1427
- }
1428
-
1429
- var __assign = function() {
1430
- __assign = Object.assign || function __assign(t) {
1431
- for (var s, i = 1, n = arguments.length; i < n; i++) {
1432
- s = arguments[i];
1433
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
1434
- }
1435
- return t;
1436
- };
1437
- return __assign.apply(this, arguments);
1438
- };
1439
-
1440
- function __rest(s, e) {
1441
- var t = {};
1442
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1443
- t[p] = s[p];
1444
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
1445
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
1446
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
1447
- t[p[i]] = s[p[i]];
1448
- }
1449
- return t;
1450
- }
1451
-
1452
- function __decorate(decorators, target, key, desc) {
1453
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1454
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1455
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1456
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1457
- }
1458
-
1459
- function __param(paramIndex, decorator) {
1460
- return function (target, key) { decorator(target, key, paramIndex); }
1461
- }
1462
-
1463
- function __metadata(metadataKey, metadataValue) {
1464
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
1465
- }
1466
-
1467
- function __awaiter(thisArg, _arguments, P, generator) {
1468
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1469
- return new (P || (P = Promise))(function (resolve, reject) {
1470
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
1471
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
1472
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
1473
- step((generator = generator.apply(thisArg, _arguments || [])).next());
1474
- });
1475
- }
1476
-
1477
- function __generator(thisArg, body) {
1478
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
1479
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
1480
- function verb(n) { return function (v) { return step([n, v]); }; }
1481
- function step(op) {
1482
- if (f) throw new TypeError("Generator is already executing.");
1483
- while (_) try {
1484
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
1485
- if (y = 0, t) op = [op[0] & 2, t.value];
1486
- switch (op[0]) {
1487
- case 0: case 1: t = op; break;
1488
- case 4: _.label++; return { value: op[1], done: false };
1489
- case 5: _.label++; y = op[1]; op = [0]; continue;
1490
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
1491
- default:
1492
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
1493
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
1494
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
1495
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
1496
- if (t[2]) _.ops.pop();
1497
- _.trys.pop(); continue;
1498
- }
1499
- op = body.call(thisArg, _);
1500
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
1501
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
1502
- }
1503
- }
1504
-
1505
- var __createBinding = Object.create ? (function(o, m, k, k2) {
1506
- if (k2 === undefined) k2 = k;
1507
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
1508
- }) : (function(o, m, k, k2) {
1509
- if (k2 === undefined) k2 = k;
1510
- o[k2] = m[k];
1511
- });
1512
-
1513
- function __exportStar(m, o) {
1514
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
1515
- }
1516
-
1517
- function __values(o) {
1518
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
1519
- if (m) return m.call(o);
1520
- if (o && typeof o.length === "number") return {
1521
- next: function () {
1522
- if (o && i >= o.length) o = void 0;
1523
- return { value: o && o[i++], done: !o };
1524
- }
1525
- };
1526
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
1527
- }
1528
-
1529
- function __read(o, n) {
1530
- var m = typeof Symbol === "function" && o[Symbol.iterator];
1531
- if (!m) return o;
1532
- var i = m.call(o), r, ar = [], e;
1533
- try {
1534
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
1535
- }
1536
- catch (error) { e = { error: error }; }
1537
- finally {
1538
- try {
1539
- if (r && !r.done && (m = i["return"])) m.call(i);
1540
- }
1541
- finally { if (e) throw e.error; }
1542
- }
1543
- return ar;
1544
- }
1545
-
1546
- /** @deprecated */
1547
- function __spread() {
1548
- for (var ar = [], i = 0; i < arguments.length; i++)
1549
- ar = ar.concat(__read(arguments[i]));
1550
- return ar;
1551
- }
1552
-
1553
- /** @deprecated */
1554
- function __spreadArrays() {
1555
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
1556
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
1557
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
1558
- r[k] = a[j];
1559
- return r;
1560
- }
1561
-
1562
- function __spreadArray(to, from, pack) {
1563
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
1564
- if (ar || !(i in from)) {
1565
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
1566
- ar[i] = from[i];
1567
- }
1568
- }
1569
- return to.concat(ar || Array.prototype.slice.call(from));
1570
- }
1571
-
1572
- function __await(v) {
1573
- return this instanceof __await ? (this.v = v, this) : new __await(v);
1574
- }
1575
-
1576
- function __asyncGenerator(thisArg, _arguments, generator) {
1577
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
1578
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
1579
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
1580
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
1581
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
1582
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
1583
- function fulfill(value) { resume("next", value); }
1584
- function reject(value) { resume("throw", value); }
1585
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
1586
- }
1587
-
1588
- function __asyncDelegator(o) {
1589
- var i, p;
1590
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
1591
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
1592
- }
1593
-
1594
- function __asyncValues(o) {
1595
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
1596
- var m = o[Symbol.asyncIterator], i;
1597
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
1598
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
1599
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
1600
- }
1601
-
1602
- function __makeTemplateObject(cooked, raw) {
1603
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
1604
- return cooked;
1605
- };
1606
-
1607
- var __setModuleDefault = Object.create ? (function(o, v) {
1608
- Object.defineProperty(o, "default", { enumerable: true, value: v });
1609
- }) : function(o, v) {
1610
- o["default"] = v;
1611
- };
1612
-
1613
- function __importStar(mod) {
1614
- if (mod && mod.__esModule) return mod;
1615
- var result = {};
1616
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
1617
- __setModuleDefault(result, mod);
1618
- return result;
1619
- }
1620
-
1621
- function __importDefault(mod) {
1622
- return (mod && mod.__esModule) ? mod : { default: mod };
1623
- }
1624
-
1625
- function __classPrivateFieldGet(receiver, state, kind, f) {
1626
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
1627
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
1628
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
1629
- }
1630
-
1631
- function __classPrivateFieldSet(receiver, state, value, kind, f) {
1632
- if (kind === "m") throw new TypeError("Private method is not writable");
1633
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
1634
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
1635
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
1636
- }
1637
-
1638
- const isArrayLike = ((x) => x && typeof x.length === 'number' && typeof x !== 'function');
1639
-
1640
- function isPromise(value) {
1641
- return isFunction(value === null || value === void 0 ? void 0 : value.then);
1642
- }
1643
-
1644
- function isInteropObservable(input) {
1645
- return isFunction(input[observable]);
1646
- }
1647
-
1648
- function isAsyncIterable(obj) {
1649
- return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);
1650
- }
1651
-
1652
- function createInvalidObservableTypeError(input) {
1653
- return new TypeError(`You provided ${input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`);
1654
- }
1655
-
1656
- function getSymbolIterator() {
1657
- if (typeof Symbol !== 'function' || !Symbol.iterator) {
1658
- return '@@iterator';
1659
- }
1660
- return Symbol.iterator;
1661
- }
1662
- const iterator = getSymbolIterator();
1663
-
1664
- function isIterable(input) {
1665
- return isFunction(input === null || input === void 0 ? void 0 : input[iterator]);
1666
- }
1667
-
1668
- function readableStreamLikeToAsyncGenerator(readableStream) {
1669
- return __asyncGenerator(this, arguments, function* readableStreamLikeToAsyncGenerator_1() {
1670
- const reader = readableStream.getReader();
1671
- try {
1672
- while (true) {
1673
- const { value, done } = yield __await(reader.read());
1674
- if (done) {
1675
- return yield __await(void 0);
1676
- }
1677
- yield yield __await(value);
1678
- }
1679
- }
1680
- finally {
1681
- reader.releaseLock();
1682
- }
1683
- });
1684
- }
1685
- function isReadableStreamLike(obj) {
1686
- return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);
1687
- }
1688
-
1689
- function innerFrom(input) {
1690
- if (input instanceof Observable) {
1691
- return input;
1692
- }
1693
- if (input != null) {
1694
- if (isInteropObservable(input)) {
1695
- return fromInteropObservable(input);
1696
- }
1697
- if (isArrayLike(input)) {
1698
- return fromArrayLike(input);
1699
- }
1700
- if (isPromise(input)) {
1701
- return fromPromise(input);
1702
- }
1703
- if (isAsyncIterable(input)) {
1704
- return fromAsyncIterable(input);
1705
- }
1706
- if (isIterable(input)) {
1707
- return fromIterable(input);
1708
- }
1709
- if (isReadableStreamLike(input)) {
1710
- return fromReadableStreamLike(input);
1711
- }
1712
- }
1713
- throw createInvalidObservableTypeError(input);
1714
- }
1715
- function fromInteropObservable(obj) {
1716
- return new Observable((subscriber) => {
1717
- const obs = obj[observable]();
1718
- if (isFunction(obs.subscribe)) {
1719
- return obs.subscribe(subscriber);
1720
- }
1721
- throw new TypeError('Provided object does not correctly implement Symbol.observable');
1722
- });
1723
- }
1724
- function fromArrayLike(array) {
1725
- return new Observable((subscriber) => {
1726
- for (let i = 0; i < array.length && !subscriber.closed; i++) {
1727
- subscriber.next(array[i]);
1728
- }
1729
- subscriber.complete();
1730
- });
1731
- }
1732
- function fromPromise(promise) {
1733
- return new Observable((subscriber) => {
1734
- promise
1735
- .then((value) => {
1736
- if (!subscriber.closed) {
1737
- subscriber.next(value);
1738
- subscriber.complete();
1739
- }
1740
- }, (err) => subscriber.error(err))
1741
- .then(null, reportUnhandledError);
1742
- });
1743
- }
1744
- function fromIterable(iterable) {
1745
- return new Observable((subscriber) => {
1746
- for (const value of iterable) {
1747
- subscriber.next(value);
1748
- if (subscriber.closed) {
1749
- return;
1750
- }
1751
- }
1752
- subscriber.complete();
1753
- });
1754
- }
1755
- function fromAsyncIterable(asyncIterable) {
1756
- return new Observable((subscriber) => {
1757
- process(asyncIterable, subscriber).catch((err) => subscriber.error(err));
1758
- });
1759
- }
1760
- function fromReadableStreamLike(readableStream) {
1761
- return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));
1762
- }
1763
- function process(asyncIterable, subscriber) {
1764
- var asyncIterable_1, asyncIterable_1_1;
1765
- var e_1, _a;
1766
- return __awaiter(this, void 0, void 0, function* () {
1767
- try {
1768
- for (asyncIterable_1 = __asyncValues(asyncIterable); asyncIterable_1_1 = yield asyncIterable_1.next(), !asyncIterable_1_1.done;) {
1769
- const value = asyncIterable_1_1.value;
1770
- subscriber.next(value);
1771
- if (subscriber.closed) {
1772
- return;
1773
- }
1774
- }
1775
- }
1776
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
1777
- finally {
1778
- try {
1779
- if (asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return)) yield _a.call(asyncIterable_1);
1780
- }
1781
- finally { if (e_1) throw e_1.error; }
1782
- }
1783
- subscriber.complete();
1784
- });
1785
- }
1786
-
1787
- function executeSchedule(parentSubscription, scheduler, work, delay = 0, repeat = false) {
1788
- const scheduleSubscription = scheduler.schedule(function () {
1789
- work();
1790
- if (repeat) {
1791
- parentSubscription.add(this.schedule(null, delay));
1792
- }
1793
- else {
1794
- this.unsubscribe();
1795
- }
1796
- }, delay);
1797
- parentSubscription.add(scheduleSubscription);
1798
- if (!repeat) {
1799
- return scheduleSubscription;
1800
- }
1801
- }
1802
-
1803
- function observeOn(scheduler, delay = 0) {
1804
- return operate((source, subscriber) => {
1805
- source.subscribe(createOperatorSubscriber(subscriber, (value) => executeSchedule(subscriber, scheduler, () => subscriber.next(value), delay), () => executeSchedule(subscriber, scheduler, () => subscriber.complete(), delay), (err) => executeSchedule(subscriber, scheduler, () => subscriber.error(err), delay)));
1806
- });
1807
- }
1808
-
1809
- function subscribeOn(scheduler, delay = 0) {
1810
- return operate((source, subscriber) => {
1811
- subscriber.add(scheduler.schedule(() => source.subscribe(subscriber), delay));
1812
- });
1813
- }
1814
-
1815
- function scheduleObservable(input, scheduler) {
1816
- return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));
1817
- }
1818
-
1819
- function schedulePromise(input, scheduler) {
1820
- return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));
1821
- }
1822
-
1823
- function scheduleArray(input, scheduler) {
1824
- return new Observable((subscriber) => {
1825
- let i = 0;
1826
- return scheduler.schedule(function () {
1827
- if (i === input.length) {
1828
- subscriber.complete();
1829
- }
1830
- else {
1831
- subscriber.next(input[i++]);
1832
- if (!subscriber.closed) {
1833
- this.schedule();
1834
- }
1835
- }
1836
- });
1837
- });
1838
- }
1839
-
1840
- function scheduleIterable(input, scheduler) {
1841
- return new Observable((subscriber) => {
1842
- let iterator$1;
1843
- executeSchedule(subscriber, scheduler, () => {
1844
- iterator$1 = input[iterator]();
1845
- executeSchedule(subscriber, scheduler, () => {
1846
- let value;
1847
- let done;
1848
- try {
1849
- ({ value, done } = iterator$1.next());
1850
- }
1851
- catch (err) {
1852
- subscriber.error(err);
1853
- return;
1854
- }
1855
- if (done) {
1856
- subscriber.complete();
1857
- }
1858
- else {
1859
- subscriber.next(value);
1860
- }
1861
- }, 0, true);
1862
- });
1863
- return () => isFunction(iterator$1 === null || iterator$1 === void 0 ? void 0 : iterator$1.return) && iterator$1.return();
1864
- });
1865
- }
1866
-
1867
- function scheduleAsyncIterable(input, scheduler) {
1868
- if (!input) {
1869
- throw new Error('Iterable cannot be null');
1870
- }
1871
- return new Observable((subscriber) => {
1872
- executeSchedule(subscriber, scheduler, () => {
1873
- const iterator = input[Symbol.asyncIterator]();
1874
- executeSchedule(subscriber, scheduler, () => {
1875
- iterator.next().then((result) => {
1876
- if (result.done) {
1877
- subscriber.complete();
1878
- }
1879
- else {
1880
- subscriber.next(result.value);
1881
- }
1882
- });
1883
- }, 0, true);
1884
- });
1885
- });
1886
- }
1887
-
1888
- function scheduleReadableStreamLike(input, scheduler) {
1889
- return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);
1890
- }
1891
-
1892
- function scheduled(input, scheduler) {
1893
- if (input != null) {
1894
- if (isInteropObservable(input)) {
1895
- return scheduleObservable(input, scheduler);
1896
- }
1897
- if (isArrayLike(input)) {
1898
- return scheduleArray(input, scheduler);
1899
- }
1900
- if (isPromise(input)) {
1901
- return schedulePromise(input, scheduler);
1902
- }
1903
- if (isAsyncIterable(input)) {
1904
- return scheduleAsyncIterable(input, scheduler);
1905
- }
1906
- if (isIterable(input)) {
1907
- return scheduleIterable(input, scheduler);
1908
- }
1909
- if (isReadableStreamLike(input)) {
1910
- return scheduleReadableStreamLike(input, scheduler);
1911
- }
1912
- }
1913
- throw createInvalidObservableTypeError(input);
1914
- }
1915
-
1916
- function from(input, scheduler) {
1917
- return scheduler ? scheduled(input, scheduler) : innerFrom(input);
1918
- }
1919
-
1920
- function of(...args) {
1921
- const scheduler = popScheduler(args);
1922
- return from(args, scheduler);
1923
- }
1924
-
1925
- function throwError(errorOrErrorFactory, scheduler) {
1926
- const errorFactory = isFunction(errorOrErrorFactory) ? errorOrErrorFactory : () => errorOrErrorFactory;
1927
- const init = (subscriber) => subscriber.error(errorFactory());
1928
- return new Observable(scheduler ? (subscriber) => scheduler.schedule(init, 0, subscriber) : init);
1929
- }
1930
-
1931
- var NotificationKind;
1932
- (function (NotificationKind) {
1933
- NotificationKind["NEXT"] = "N";
1934
- NotificationKind["ERROR"] = "E";
1935
- NotificationKind["COMPLETE"] = "C";
1936
- })(NotificationKind || (NotificationKind = {}));
1937
- class Notification {
1938
- constructor(kind, value, error) {
1939
- this.kind = kind;
1940
- this.value = value;
1941
- this.error = error;
1942
- this.hasValue = kind === 'N';
1943
- }
1944
- observe(observer) {
1945
- return observeNotification(this, observer);
1946
- }
1947
- do(nextHandler, errorHandler, completeHandler) {
1948
- const { kind, value, error } = this;
1949
- return kind === 'N' ? nextHandler === null || nextHandler === void 0 ? void 0 : nextHandler(value) : kind === 'E' ? errorHandler === null || errorHandler === void 0 ? void 0 : errorHandler(error) : completeHandler === null || completeHandler === void 0 ? void 0 : completeHandler();
1950
- }
1951
- accept(nextOrObserver, error, complete) {
1952
- var _a;
1953
- return isFunction((_a = nextOrObserver) === null || _a === void 0 ? void 0 : _a.next)
1954
- ? this.observe(nextOrObserver)
1955
- : this.do(nextOrObserver, error, complete);
1956
- }
1957
- toObservable() {
1958
- const { kind, value, error } = this;
1959
- const result = kind === 'N'
1960
- ?
1961
- of(value)
1962
- :
1963
- kind === 'E'
1964
- ?
1965
- throwError(() => error)
1966
- :
1967
- kind === 'C'
1968
- ?
1969
- EMPTY
1970
- :
1971
- 0;
1972
- if (!result) {
1973
- throw new TypeError(`Unexpected notification kind ${kind}`);
1974
- }
1975
- return result;
1976
- }
1977
- static createNext(value) {
1978
- return new Notification('N', value);
1979
- }
1980
- static createError(err) {
1981
- return new Notification('E', undefined, err);
1982
- }
1983
- static createComplete() {
1984
- return Notification.completeNotification;
1985
- }
1986
- }
1987
- Notification.completeNotification = new Notification('C');
1988
- function observeNotification(notification, observer) {
1989
- var _a, _b, _c;
1990
- const { kind, value, error } = notification;
1991
- if (typeof kind !== 'string') {
1992
- throw new TypeError('Invalid notification, missing "kind"');
1993
- }
1994
- kind === 'N' ? (_a = observer.next) === null || _a === void 0 ? void 0 : _a.call(observer, value) : kind === 'E' ? (_b = observer.error) === null || _b === void 0 ? void 0 : _b.call(observer, error) : (_c = observer.complete) === null || _c === void 0 ? void 0 : _c.call(observer);
1995
- }
1996
-
1997
- function isObservable(obj) {
1998
- return !!obj && (obj instanceof Observable || (isFunction(obj.lift) && isFunction(obj.subscribe)));
1999
- }
2000
-
2001
- const EmptyError = createErrorClass((_super) => function EmptyErrorImpl() {
2002
- _super(this);
2003
- this.name = 'EmptyError';
2004
- this.message = 'no elements in sequence';
2005
- });
2006
-
2007
- function lastValueFrom(source, config) {
2008
- const hasConfig = typeof config === 'object';
2009
- return new Promise((resolve, reject) => {
2010
- let _hasValue = false;
2011
- let _value;
2012
- source.subscribe({
2013
- next: (value) => {
2014
- _value = value;
2015
- _hasValue = true;
2016
- },
2017
- error: reject,
2018
- complete: () => {
2019
- if (_hasValue) {
2020
- resolve(_value);
2021
- }
2022
- else if (hasConfig) {
2023
- resolve(config.defaultValue);
2024
- }
2025
- else {
2026
- reject(new EmptyError());
2027
- }
2028
- },
2029
- });
2030
- });
2031
- }
2032
-
2033
- function firstValueFrom(source, config) {
2034
- const hasConfig = typeof config === 'object';
2035
- return new Promise((resolve, reject) => {
2036
- const subscriber = new SafeSubscriber({
2037
- next: (value) => {
2038
- resolve(value);
2039
- subscriber.unsubscribe();
2040
- },
2041
- error: reject,
2042
- complete: () => {
2043
- if (hasConfig) {
2044
- resolve(config.defaultValue);
2045
- }
2046
- else {
2047
- reject(new EmptyError());
2048
- }
2049
- },
2050
- });
2051
- source.subscribe(subscriber);
2052
- });
2053
- }
2054
-
2055
- const ArgumentOutOfRangeError = createErrorClass((_super) => function ArgumentOutOfRangeErrorImpl() {
2056
- _super(this);
2057
- this.name = 'ArgumentOutOfRangeError';
2058
- this.message = 'argument out of range';
2059
- });
2060
-
2061
- const NotFoundError = createErrorClass((_super) => function NotFoundErrorImpl(message) {
2062
- _super(this);
2063
- this.name = 'NotFoundError';
2064
- this.message = message;
2065
- });
2066
-
2067
- const SequenceError = createErrorClass((_super) => function SequenceErrorImpl(message) {
2068
- _super(this);
2069
- this.name = 'SequenceError';
2070
- this.message = message;
2071
- });
2072
-
2073
- function isValidDate(value) {
2074
- return value instanceof Date && !isNaN(value);
2075
- }
2076
-
2077
- const TimeoutError = createErrorClass((_super) => function TimeoutErrorImpl(info = null) {
2078
- _super(this);
2079
- this.message = 'Timeout has occurred';
2080
- this.name = 'TimeoutError';
2081
- this.info = info;
2082
- });
2083
- function timeout(config, schedulerArg) {
2084
- const { first, each, with: _with = timeoutErrorFactory, scheduler = schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : asyncScheduler, meta = null, } = (isValidDate(config) ? { first: config } : typeof config === 'number' ? { each: config } : config);
2085
- if (first == null && each == null) {
2086
- throw new TypeError('No timeout provided.');
2087
- }
2088
- return operate((source, subscriber) => {
2089
- let originalSourceSubscription;
2090
- let timerSubscription;
2091
- let lastValue = null;
2092
- let seen = 0;
2093
- const startTimer = (delay) => {
2094
- timerSubscription = executeSchedule(subscriber, scheduler, () => {
2095
- try {
2096
- originalSourceSubscription.unsubscribe();
2097
- innerFrom(_with({
2098
- meta,
2099
- lastValue,
2100
- seen,
2101
- })).subscribe(subscriber);
2102
- }
2103
- catch (err) {
2104
- subscriber.error(err);
2105
- }
2106
- }, delay);
2107
- };
2108
- originalSourceSubscription = source.subscribe(createOperatorSubscriber(subscriber, (value) => {
2109
- timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();
2110
- seen++;
2111
- subscriber.next((lastValue = value));
2112
- each > 0 && startTimer(each);
2113
- }, undefined, undefined, () => {
2114
- if (!(timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.closed)) {
2115
- timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();
2116
- }
2117
- lastValue = null;
2118
- }));
2119
- !seen && startTimer(first != null ? (typeof first === 'number' ? first : +first - scheduler.now()) : each);
2120
- });
2121
- }
2122
- function timeoutErrorFactory(info) {
2123
- throw new TimeoutError(info);
2124
- }
2125
-
2126
- function map(project, thisArg) {
2127
- return operate((source, subscriber) => {
2128
- let index = 0;
2129
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
2130
- subscriber.next(project.call(thisArg, value, index++));
2131
- }));
2132
- });
2133
- }
2134
-
2135
- const { isArray: isArray$2 } = Array;
2136
- function callOrApply(fn, args) {
2137
- return isArray$2(args) ? fn(...args) : fn(args);
2138
- }
2139
- function mapOneOrManyArgs(fn) {
2140
- return map(args => callOrApply(fn, args));
2141
- }
2142
-
2143
- function bindCallbackInternals(isNodeStyle, callbackFunc, resultSelector, scheduler) {
2144
- if (resultSelector) {
2145
- if (isScheduler(resultSelector)) {
2146
- scheduler = resultSelector;
2147
- }
2148
- else {
2149
- return function (...args) {
2150
- return bindCallbackInternals(isNodeStyle, callbackFunc, scheduler)
2151
- .apply(this, args)
2152
- .pipe(mapOneOrManyArgs(resultSelector));
2153
- };
2154
- }
2155
- }
2156
- if (scheduler) {
2157
- return function (...args) {
2158
- return bindCallbackInternals(isNodeStyle, callbackFunc)
2159
- .apply(this, args)
2160
- .pipe(subscribeOn(scheduler), observeOn(scheduler));
2161
- };
2162
- }
2163
- return function (...args) {
2164
- const subject = new AsyncSubject();
2165
- let uninitialized = true;
2166
- return new Observable((subscriber) => {
2167
- const subs = subject.subscribe(subscriber);
2168
- if (uninitialized) {
2169
- uninitialized = false;
2170
- let isAsync = false;
2171
- let isComplete = false;
2172
- callbackFunc.apply(this, [
2173
- ...args,
2174
- (...results) => {
2175
- if (isNodeStyle) {
2176
- const err = results.shift();
2177
- if (err != null) {
2178
- subject.error(err);
2179
- return;
2180
- }
2181
- }
2182
- subject.next(1 < results.length ? results : results[0]);
2183
- isComplete = true;
2184
- if (isAsync) {
2185
- subject.complete();
2186
- }
2187
- },
2188
- ]);
2189
- if (isComplete) {
2190
- subject.complete();
2191
- }
2192
- isAsync = true;
2193
- }
2194
- return subs;
2195
- });
2196
- };
2197
- }
2198
-
2199
- function bindCallback(callbackFunc, resultSelector, scheduler) {
2200
- return bindCallbackInternals(false, callbackFunc, resultSelector, scheduler);
2201
- }
2202
-
2203
- function bindNodeCallback(callbackFunc, resultSelector, scheduler) {
2204
- return bindCallbackInternals(true, callbackFunc, resultSelector, scheduler);
2205
- }
2206
-
2207
- const { isArray: isArray$1 } = Array;
2208
- const { getPrototypeOf, prototype: objectProto, keys: getKeys } = Object;
2209
- function argsArgArrayOrObject(args) {
2210
- if (args.length === 1) {
2211
- const first = args[0];
2212
- if (isArray$1(first)) {
2213
- return { args: first, keys: null };
2214
- }
2215
- if (isPOJO(first)) {
2216
- const keys = getKeys(first);
2217
- return {
2218
- args: keys.map((key) => first[key]),
2219
- keys,
2220
- };
2221
- }
2222
- }
2223
- return { args: args, keys: null };
2224
- }
2225
- function isPOJO(obj) {
2226
- return obj && typeof obj === 'object' && getPrototypeOf(obj) === objectProto;
2227
- }
2228
-
2229
- function createObject(keys, values) {
2230
- return keys.reduce((result, key, i) => ((result[key] = values[i]), result), {});
2231
- }
2232
-
2233
- function combineLatest$1(...args) {
2234
- const scheduler = popScheduler(args);
2235
- const resultSelector = popResultSelector(args);
2236
- const { args: observables, keys } = argsArgArrayOrObject(args);
2237
- if (observables.length === 0) {
2238
- return from([], scheduler);
2239
- }
2240
- const result = new Observable(combineLatestInit(observables, scheduler, keys
2241
- ?
2242
- (values) => createObject(keys, values)
2243
- :
2244
- identity));
2245
- return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;
2246
- }
2247
- function combineLatestInit(observables, scheduler, valueTransform = identity) {
2248
- return (subscriber) => {
2249
- maybeSchedule(scheduler, () => {
2250
- const { length } = observables;
2251
- const values = new Array(length);
2252
- let active = length;
2253
- let remainingFirstValues = length;
2254
- for (let i = 0; i < length; i++) {
2255
- maybeSchedule(scheduler, () => {
2256
- const source = from(observables[i], scheduler);
2257
- let hasFirstValue = false;
2258
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
2259
- values[i] = value;
2260
- if (!hasFirstValue) {
2261
- hasFirstValue = true;
2262
- remainingFirstValues--;
2263
- }
2264
- if (!remainingFirstValues) {
2265
- subscriber.next(valueTransform(values.slice()));
2266
- }
2267
- }, () => {
2268
- if (!--active) {
2269
- subscriber.complete();
2270
- }
2271
- }));
2272
- }, subscriber);
2273
- }
2274
- }, subscriber);
2275
- };
2276
- }
2277
- function maybeSchedule(scheduler, execute, subscription) {
2278
- if (scheduler) {
2279
- executeSchedule(subscription, scheduler, execute);
2280
- }
2281
- else {
2282
- execute();
2283
- }
2284
- }
2285
-
2286
- function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {
2287
- const buffer = [];
2288
- let active = 0;
2289
- let index = 0;
2290
- let isComplete = false;
2291
- const checkComplete = () => {
2292
- if (isComplete && !buffer.length && !active) {
2293
- subscriber.complete();
2294
- }
2295
- };
2296
- const outerNext = (value) => (active < concurrent ? doInnerSub(value) : buffer.push(value));
2297
- const doInnerSub = (value) => {
2298
- expand && subscriber.next(value);
2299
- active++;
2300
- let innerComplete = false;
2301
- innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, (innerValue) => {
2302
- onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);
2303
- if (expand) {
2304
- outerNext(innerValue);
2305
- }
2306
- else {
2307
- subscriber.next(innerValue);
2308
- }
2309
- }, () => {
2310
- innerComplete = true;
2311
- }, undefined, () => {
2312
- if (innerComplete) {
2313
- try {
2314
- active--;
2315
- while (buffer.length && active < concurrent) {
2316
- const bufferedValue = buffer.shift();
2317
- if (innerSubScheduler) {
2318
- executeSchedule(subscriber, innerSubScheduler, () => doInnerSub(bufferedValue));
2319
- }
2320
- else {
2321
- doInnerSub(bufferedValue);
2322
- }
2323
- }
2324
- checkComplete();
2325
- }
2326
- catch (err) {
2327
- subscriber.error(err);
2328
- }
2329
- }
2330
- }));
2331
- };
2332
- source.subscribe(createOperatorSubscriber(subscriber, outerNext, () => {
2333
- isComplete = true;
2334
- checkComplete();
2335
- }));
2336
- return () => {
2337
- additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();
2338
- };
2339
- }
2340
-
2341
- function mergeMap(project, resultSelector, concurrent = Infinity) {
2342
- if (isFunction(resultSelector)) {
2343
- return mergeMap((a, i) => map((b, ii) => resultSelector(a, b, i, ii))(innerFrom(project(a, i))), concurrent);
2344
- }
2345
- else if (typeof resultSelector === 'number') {
2346
- concurrent = resultSelector;
2347
- }
2348
- return operate((source, subscriber) => mergeInternals(source, subscriber, project, concurrent));
2349
- }
2350
-
2351
- function mergeAll(concurrent = Infinity) {
2352
- return mergeMap(identity, concurrent);
2353
- }
2354
-
2355
- function concatAll() {
2356
- return mergeAll(1);
2357
- }
2358
-
2359
- function concat$1(...args) {
2360
- return concatAll()(from(args, popScheduler(args)));
2361
- }
2362
-
2363
- function defer(observableFactory) {
2364
- return new Observable((subscriber) => {
2365
- innerFrom(observableFactory()).subscribe(subscriber);
2366
- });
2367
- }
2368
-
2369
- const DEFAULT_CONFIG$1 = {
2370
- connector: () => new Subject(),
2371
- resetOnDisconnect: true,
2372
- };
2373
- function connectable(source, config = DEFAULT_CONFIG$1) {
2374
- let connection = null;
2375
- const { connector, resetOnDisconnect = true } = config;
2376
- let subject = connector();
2377
- const result = new Observable((subscriber) => {
2378
- return subject.subscribe(subscriber);
2379
- });
2380
- result.connect = () => {
2381
- if (!connection || connection.closed) {
2382
- connection = defer(() => source).subscribe(subject);
2383
- if (resetOnDisconnect) {
2384
- connection.add(() => (subject = connector()));
2385
- }
2386
- }
2387
- return connection;
2388
- };
2389
- return result;
2390
- }
2391
-
2392
- function forkJoin(...args) {
2393
- const resultSelector = popResultSelector(args);
2394
- const { args: sources, keys } = argsArgArrayOrObject(args);
2395
- const result = new Observable((subscriber) => {
2396
- const { length } = sources;
2397
- if (!length) {
2398
- subscriber.complete();
2399
- return;
2400
- }
2401
- const values = new Array(length);
2402
- let remainingCompletions = length;
2403
- let remainingEmissions = length;
2404
- for (let sourceIndex = 0; sourceIndex < length; sourceIndex++) {
2405
- let hasValue = false;
2406
- innerFrom(sources[sourceIndex]).subscribe(createOperatorSubscriber(subscriber, (value) => {
2407
- if (!hasValue) {
2408
- hasValue = true;
2409
- remainingEmissions--;
2410
- }
2411
- values[sourceIndex] = value;
2412
- }, () => remainingCompletions--, undefined, () => {
2413
- if (!remainingCompletions || !hasValue) {
2414
- if (!remainingEmissions) {
2415
- subscriber.next(keys ? createObject(keys, values) : values);
2416
- }
2417
- subscriber.complete();
2418
- }
2419
- }));
2420
- }
2421
- });
2422
- return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;
2423
- }
2424
-
2425
- const nodeEventEmitterMethods = ['addListener', 'removeListener'];
2426
- const eventTargetMethods = ['addEventListener', 'removeEventListener'];
2427
- const jqueryMethods = ['on', 'off'];
2428
- function fromEvent(target, eventName, options, resultSelector) {
2429
- if (isFunction(options)) {
2430
- resultSelector = options;
2431
- options = undefined;
2432
- }
2433
- if (resultSelector) {
2434
- return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs(resultSelector));
2435
- }
2436
- const [add, remove] = isEventTarget(target)
2437
- ? eventTargetMethods.map((methodName) => (handler) => target[methodName](eventName, handler, options))
2438
- :
2439
- isNodeStyleEventEmitter(target)
2440
- ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName))
2441
- : isJQueryStyleEventEmitter(target)
2442
- ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName))
2443
- : [];
2444
- if (!add) {
2445
- if (isArrayLike(target)) {
2446
- return mergeMap((subTarget) => fromEvent(subTarget, eventName, options))(innerFrom(target));
2447
- }
2448
- }
2449
- if (!add) {
2450
- throw new TypeError('Invalid event target');
2451
- }
2452
- return new Observable((subscriber) => {
2453
- const handler = (...args) => subscriber.next(1 < args.length ? args : args[0]);
2454
- add(handler);
2455
- return () => remove(handler);
2456
- });
2457
- }
2458
- function toCommonHandlerRegistry(target, eventName) {
2459
- return (methodName) => (handler) => target[methodName](eventName, handler);
2460
- }
2461
- function isNodeStyleEventEmitter(target) {
2462
- return isFunction(target.addListener) && isFunction(target.removeListener);
2463
- }
2464
- function isJQueryStyleEventEmitter(target) {
2465
- return isFunction(target.on) && isFunction(target.off);
2466
- }
2467
- function isEventTarget(target) {
2468
- return isFunction(target.addEventListener) && isFunction(target.removeEventListener);
2469
- }
2470
-
2471
- function fromEventPattern(addHandler, removeHandler, resultSelector) {
2472
- if (resultSelector) {
2473
- return fromEventPattern(addHandler, removeHandler).pipe(mapOneOrManyArgs(resultSelector));
2474
- }
2475
- return new Observable((subscriber) => {
2476
- const handler = (...e) => subscriber.next(e.length === 1 ? e[0] : e);
2477
- const retValue = addHandler(handler);
2478
- return isFunction(removeHandler) ? () => removeHandler(handler, retValue) : undefined;
2479
- });
2480
- }
2481
-
2482
- function generate(initialStateOrOptions, condition, iterate, resultSelectorOrScheduler, scheduler) {
2483
- let resultSelector;
2484
- let initialState;
2485
- if (arguments.length === 1) {
2486
- ({
2487
- initialState,
2488
- condition,
2489
- iterate,
2490
- resultSelector = identity,
2491
- scheduler,
2492
- } = initialStateOrOptions);
2493
- }
2494
- else {
2495
- initialState = initialStateOrOptions;
2496
- if (!resultSelectorOrScheduler || isScheduler(resultSelectorOrScheduler)) {
2497
- resultSelector = identity;
2498
- scheduler = resultSelectorOrScheduler;
2499
- }
2500
- else {
2501
- resultSelector = resultSelectorOrScheduler;
2502
- }
2503
- }
2504
- function* gen() {
2505
- for (let state = initialState; !condition || condition(state); state = iterate(state)) {
2506
- yield resultSelector(state);
2507
- }
2508
- }
2509
- return defer((scheduler
2510
- ?
2511
- () => scheduleIterable(gen(), scheduler)
2512
- :
2513
- gen));
2514
- }
2515
-
2516
- function iif(condition, trueResult, falseResult) {
2517
- return defer(() => (condition() ? trueResult : falseResult));
2518
- }
2519
-
2520
- function timer(dueTime = 0, intervalOrScheduler, scheduler = async) {
2521
- let intervalDuration = -1;
2522
- if (intervalOrScheduler != null) {
2523
- if (isScheduler(intervalOrScheduler)) {
2524
- scheduler = intervalOrScheduler;
2525
- }
2526
- else {
2527
- intervalDuration = intervalOrScheduler;
2528
- }
2529
- }
2530
- return new Observable((subscriber) => {
2531
- let due = isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime;
2532
- if (due < 0) {
2533
- due = 0;
2534
- }
2535
- let n = 0;
2536
- return scheduler.schedule(function () {
2537
- if (!subscriber.closed) {
2538
- subscriber.next(n++);
2539
- if (0 <= intervalDuration) {
2540
- this.schedule(undefined, intervalDuration);
2541
- }
2542
- else {
2543
- subscriber.complete();
2544
- }
2545
- }
2546
- }, due);
2547
- });
2548
- }
2549
-
2550
- function interval(period = 0, scheduler = asyncScheduler) {
2551
- if (period < 0) {
2552
- period = 0;
2553
- }
2554
- return timer(period, period, scheduler);
2555
- }
2556
-
2557
- function merge$1(...args) {
2558
- const scheduler = popScheduler(args);
2559
- const concurrent = popNumber(args, Infinity);
2560
- const sources = args;
2561
- return !sources.length
2562
- ?
2563
- EMPTY
2564
- : sources.length === 1
2565
- ?
2566
- innerFrom(sources[0])
2567
- :
2568
- mergeAll(concurrent)(from(sources, scheduler));
2569
- }
2570
-
2571
- const NEVER = new Observable(noop);
2572
- function never() {
2573
- return NEVER;
2574
- }
2575
-
2576
- const { isArray } = Array;
2577
- function argsOrArgArray(args) {
2578
- return args.length === 1 && isArray(args[0]) ? args[0] : args;
2579
- }
2580
-
2581
- function onErrorResumeNext$1(...sources) {
2582
- const nextSources = argsOrArgArray(sources);
2583
- return operate((source, subscriber) => {
2584
- const remaining = [source, ...nextSources];
2585
- const subscribeNext = () => {
2586
- if (!subscriber.closed) {
2587
- if (remaining.length > 0) {
2588
- let nextSource;
2589
- try {
2590
- nextSource = innerFrom(remaining.shift());
2591
- }
2592
- catch (err) {
2593
- subscribeNext();
2594
- return;
2595
- }
2596
- const innerSub = createOperatorSubscriber(subscriber, undefined, noop, noop);
2597
- nextSource.subscribe(innerSub);
2598
- innerSub.add(subscribeNext);
2599
- }
2600
- else {
2601
- subscriber.complete();
2602
- }
2603
- }
2604
- };
2605
- subscribeNext();
2606
- });
2607
- }
2608
-
2609
- function onErrorResumeNext(...sources) {
2610
- return onErrorResumeNext$1(argsOrArgArray(sources))(EMPTY);
2611
- }
2612
-
2613
- function pairs(obj, scheduler) {
2614
- return from(Object.entries(obj), scheduler);
2615
- }
2616
-
2617
- function not(pred, thisArg) {
2618
- return (value, index) => !pred.call(thisArg, value, index);
2619
- }
2620
-
2621
- function filter(predicate, thisArg) {
2622
- return operate((source, subscriber) => {
2623
- let index = 0;
2624
- source.subscribe(createOperatorSubscriber(subscriber, (value) => predicate.call(thisArg, value, index++) && subscriber.next(value)));
2625
- });
2626
- }
2627
-
2628
- function partition$1(source, predicate, thisArg) {
2629
- return [filter(predicate, thisArg)(innerFrom(source)), filter(not(predicate, thisArg))(innerFrom(source))];
2630
- }
2631
-
2632
- function race$1(...sources) {
2633
- sources = argsOrArgArray(sources);
2634
- return sources.length === 1 ? innerFrom(sources[0]) : new Observable(raceInit(sources));
2635
- }
2636
- function raceInit(sources) {
2637
- return (subscriber) => {
2638
- let subscriptions = [];
2639
- for (let i = 0; subscriptions && !subscriber.closed && i < sources.length; i++) {
2640
- subscriptions.push(innerFrom(sources[i]).subscribe(createOperatorSubscriber(subscriber, (value) => {
2641
- if (subscriptions) {
2642
- for (let s = 0; s < subscriptions.length; s++) {
2643
- s !== i && subscriptions[s].unsubscribe();
2644
- }
2645
- subscriptions = null;
2646
- }
2647
- subscriber.next(value);
2648
- })));
2649
- }
2650
- };
2651
- }
2652
-
2653
- function range(start, count, scheduler) {
2654
- if (count == null) {
2655
- count = start;
2656
- start = 0;
2657
- }
2658
- if (count <= 0) {
2659
- return EMPTY;
2660
- }
2661
- const end = count + start;
2662
- return new Observable(scheduler
2663
- ?
2664
- (subscriber) => {
2665
- let n = start;
2666
- return scheduler.schedule(function () {
2667
- if (n < end) {
2668
- subscriber.next(n++);
2669
- this.schedule();
2670
- }
2671
- else {
2672
- subscriber.complete();
2673
- }
2674
- });
2675
- }
2676
- :
2677
- (subscriber) => {
2678
- let n = start;
2679
- while (n < end && !subscriber.closed) {
2680
- subscriber.next(n++);
2681
- }
2682
- subscriber.complete();
2683
- });
2684
- }
2685
-
2686
- function using(resourceFactory, observableFactory) {
2687
- return new Observable((subscriber) => {
2688
- const resource = resourceFactory();
2689
- const result = observableFactory(resource);
2690
- const source = result ? innerFrom(result) : EMPTY;
2691
- source.subscribe(subscriber);
2692
- return () => {
2693
- if (resource) {
2694
- resource.unsubscribe();
2695
- }
2696
- };
2697
- });
2698
- }
2699
-
2700
- function zip$1(...args) {
2701
- const resultSelector = popResultSelector(args);
2702
- const sources = argsOrArgArray(args);
2703
- return sources.length
2704
- ? new Observable((subscriber) => {
2705
- let buffers = sources.map(() => []);
2706
- let completed = sources.map(() => false);
2707
- subscriber.add(() => {
2708
- buffers = completed = null;
2709
- });
2710
- for (let sourceIndex = 0; !subscriber.closed && sourceIndex < sources.length; sourceIndex++) {
2711
- innerFrom(sources[sourceIndex]).subscribe(createOperatorSubscriber(subscriber, (value) => {
2712
- buffers[sourceIndex].push(value);
2713
- if (buffers.every((buffer) => buffer.length)) {
2714
- const result = buffers.map((buffer) => buffer.shift());
2715
- subscriber.next(resultSelector ? resultSelector(...result) : result);
2716
- if (buffers.some((buffer, i) => !buffer.length && completed[i])) {
2717
- subscriber.complete();
2718
- }
2719
- }
2720
- }, () => {
2721
- completed[sourceIndex] = true;
2722
- !buffers[sourceIndex].length && subscriber.complete();
2723
- }));
2724
- }
2725
- return () => {
2726
- buffers = completed = null;
2727
- };
2728
- })
2729
- : EMPTY;
2730
- }
2731
-
2732
- function audit(durationSelector) {
2733
- return operate((source, subscriber) => {
2734
- let hasValue = false;
2735
- let lastValue = null;
2736
- let durationSubscriber = null;
2737
- let isComplete = false;
2738
- const endDuration = () => {
2739
- durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();
2740
- durationSubscriber = null;
2741
- if (hasValue) {
2742
- hasValue = false;
2743
- const value = lastValue;
2744
- lastValue = null;
2745
- subscriber.next(value);
2746
- }
2747
- isComplete && subscriber.complete();
2748
- };
2749
- const cleanupDuration = () => {
2750
- durationSubscriber = null;
2751
- isComplete && subscriber.complete();
2752
- };
2753
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
2754
- hasValue = true;
2755
- lastValue = value;
2756
- if (!durationSubscriber) {
2757
- innerFrom(durationSelector(value)).subscribe((durationSubscriber = createOperatorSubscriber(subscriber, endDuration, cleanupDuration)));
2758
- }
2759
- }, () => {
2760
- isComplete = true;
2761
- (!hasValue || !durationSubscriber || durationSubscriber.closed) && subscriber.complete();
2762
- }));
2763
- });
2764
- }
2765
-
2766
- function auditTime(duration, scheduler = asyncScheduler) {
2767
- return audit(() => timer(duration, scheduler));
2768
- }
2769
-
2770
- function buffer(closingNotifier) {
2771
- return operate((source, subscriber) => {
2772
- let currentBuffer = [];
2773
- source.subscribe(createOperatorSubscriber(subscriber, (value) => currentBuffer.push(value), () => {
2774
- subscriber.next(currentBuffer);
2775
- subscriber.complete();
2776
- }));
2777
- closingNotifier.subscribe(createOperatorSubscriber(subscriber, () => {
2778
- const b = currentBuffer;
2779
- currentBuffer = [];
2780
- subscriber.next(b);
2781
- }, noop));
2782
- return () => {
2783
- currentBuffer = null;
2784
- };
2785
- });
2786
- }
2787
-
2788
- function bufferCount(bufferSize, startBufferEvery = null) {
2789
- startBufferEvery = startBufferEvery !== null && startBufferEvery !== void 0 ? startBufferEvery : bufferSize;
2790
- return operate((source, subscriber) => {
2791
- let buffers = [];
2792
- let count = 0;
2793
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
2794
- let toEmit = null;
2795
- if (count++ % startBufferEvery === 0) {
2796
- buffers.push([]);
2797
- }
2798
- for (const buffer of buffers) {
2799
- buffer.push(value);
2800
- if (bufferSize <= buffer.length) {
2801
- toEmit = toEmit !== null && toEmit !== void 0 ? toEmit : [];
2802
- toEmit.push(buffer);
2803
- }
2804
- }
2805
- if (toEmit) {
2806
- for (const buffer of toEmit) {
2807
- arrRemove(buffers, buffer);
2808
- subscriber.next(buffer);
2809
- }
2810
- }
2811
- }, () => {
2812
- for (const buffer of buffers) {
2813
- subscriber.next(buffer);
2814
- }
2815
- subscriber.complete();
2816
- }, undefined, () => {
2817
- buffers = null;
2818
- }));
2819
- });
2820
- }
2821
-
2822
- function bufferTime(bufferTimeSpan, ...otherArgs) {
2823
- var _a, _b;
2824
- const scheduler = (_a = popScheduler(otherArgs)) !== null && _a !== void 0 ? _a : asyncScheduler;
2825
- const bufferCreationInterval = (_b = otherArgs[0]) !== null && _b !== void 0 ? _b : null;
2826
- const maxBufferSize = otherArgs[1] || Infinity;
2827
- return operate((source, subscriber) => {
2828
- let bufferRecords = [];
2829
- let restartOnEmit = false;
2830
- const emit = (record) => {
2831
- const { buffer, subs } = record;
2832
- subs.unsubscribe();
2833
- arrRemove(bufferRecords, record);
2834
- subscriber.next(buffer);
2835
- restartOnEmit && startBuffer();
2836
- };
2837
- const startBuffer = () => {
2838
- if (bufferRecords) {
2839
- const subs = new Subscription();
2840
- subscriber.add(subs);
2841
- const buffer = [];
2842
- const record = {
2843
- buffer,
2844
- subs,
2845
- };
2846
- bufferRecords.push(record);
2847
- executeSchedule(subs, scheduler, () => emit(record), bufferTimeSpan);
2848
- }
2849
- };
2850
- if (bufferCreationInterval !== null && bufferCreationInterval >= 0) {
2851
- executeSchedule(subscriber, scheduler, startBuffer, bufferCreationInterval, true);
2852
- }
2853
- else {
2854
- restartOnEmit = true;
2855
- }
2856
- startBuffer();
2857
- const bufferTimeSubscriber = createOperatorSubscriber(subscriber, (value) => {
2858
- const recordsCopy = bufferRecords.slice();
2859
- for (const record of recordsCopy) {
2860
- const { buffer } = record;
2861
- buffer.push(value);
2862
- maxBufferSize <= buffer.length && emit(record);
2863
- }
2864
- }, () => {
2865
- while (bufferRecords === null || bufferRecords === void 0 ? void 0 : bufferRecords.length) {
2866
- subscriber.next(bufferRecords.shift().buffer);
2867
- }
2868
- bufferTimeSubscriber === null || bufferTimeSubscriber === void 0 ? void 0 : bufferTimeSubscriber.unsubscribe();
2869
- subscriber.complete();
2870
- subscriber.unsubscribe();
2871
- }, undefined, () => (bufferRecords = null));
2872
- source.subscribe(bufferTimeSubscriber);
2873
- });
2874
- }
2875
-
2876
- function bufferToggle(openings, closingSelector) {
2877
- return operate((source, subscriber) => {
2878
- const buffers = [];
2879
- innerFrom(openings).subscribe(createOperatorSubscriber(subscriber, (openValue) => {
2880
- const buffer = [];
2881
- buffers.push(buffer);
2882
- const closingSubscription = new Subscription();
2883
- const emitBuffer = () => {
2884
- arrRemove(buffers, buffer);
2885
- subscriber.next(buffer);
2886
- closingSubscription.unsubscribe();
2887
- };
2888
- closingSubscription.add(innerFrom(closingSelector(openValue)).subscribe(createOperatorSubscriber(subscriber, emitBuffer, noop)));
2889
- }, noop));
2890
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
2891
- for (const buffer of buffers) {
2892
- buffer.push(value);
2893
- }
2894
- }, () => {
2895
- while (buffers.length > 0) {
2896
- subscriber.next(buffers.shift());
2897
- }
2898
- subscriber.complete();
2899
- }));
2900
- });
2901
- }
2902
-
2903
- function bufferWhen(closingSelector) {
2904
- return operate((source, subscriber) => {
2905
- let buffer = null;
2906
- let closingSubscriber = null;
2907
- const openBuffer = () => {
2908
- closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe();
2909
- const b = buffer;
2910
- buffer = [];
2911
- b && subscriber.next(b);
2912
- innerFrom(closingSelector()).subscribe((closingSubscriber = createOperatorSubscriber(subscriber, openBuffer, noop)));
2913
- };
2914
- openBuffer();
2915
- source.subscribe(createOperatorSubscriber(subscriber, (value) => buffer === null || buffer === void 0 ? void 0 : buffer.push(value), () => {
2916
- buffer && subscriber.next(buffer);
2917
- subscriber.complete();
2918
- }, undefined, () => (buffer = closingSubscriber = null)));
2919
- });
2920
- }
2921
-
2922
- function catchError(selector) {
2923
- return operate((source, subscriber) => {
2924
- let innerSub = null;
2925
- let syncUnsub = false;
2926
- let handledResult;
2927
- innerSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, undefined, (err) => {
2928
- handledResult = innerFrom(selector(err, catchError(selector)(source)));
2929
- if (innerSub) {
2930
- innerSub.unsubscribe();
2931
- innerSub = null;
2932
- handledResult.subscribe(subscriber);
2933
- }
2934
- else {
2935
- syncUnsub = true;
2936
- }
2937
- }));
2938
- if (syncUnsub) {
2939
- innerSub.unsubscribe();
2940
- innerSub = null;
2941
- handledResult.subscribe(subscriber);
2942
- }
2943
- });
2944
- }
2945
-
2946
- function scanInternals(accumulator, seed, hasSeed, emitOnNext, emitBeforeComplete) {
2947
- return (source, subscriber) => {
2948
- let hasState = hasSeed;
2949
- let state = seed;
2950
- let index = 0;
2951
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
2952
- const i = index++;
2953
- state = hasState
2954
- ?
2955
- accumulator(state, value, i)
2956
- :
2957
- ((hasState = true), value);
2958
- emitOnNext && subscriber.next(state);
2959
- }, emitBeforeComplete &&
2960
- (() => {
2961
- hasState && subscriber.next(state);
2962
- subscriber.complete();
2963
- })));
2964
- };
2965
- }
2966
-
2967
- function reduce(accumulator, seed) {
2968
- return operate(scanInternals(accumulator, seed, arguments.length >= 2, false, true));
2969
- }
2970
-
2971
- const arrReducer = (arr, value) => (arr.push(value), arr);
2972
- function toArray() {
2973
- return operate((source, subscriber) => {
2974
- reduce(arrReducer, [])(source).subscribe(subscriber);
2975
- });
2976
- }
2977
-
2978
- function joinAllInternals(joinFn, project) {
2979
- return pipe(toArray(), mergeMap((sources) => joinFn(sources)), project ? mapOneOrManyArgs(project) : identity);
2980
- }
2981
-
2982
- function combineLatestAll(project) {
2983
- return joinAllInternals(combineLatest$1, project);
2984
- }
2985
-
2986
- const combineAll = combineLatestAll;
2987
-
2988
- function combineLatest(...args) {
2989
- const resultSelector = popResultSelector(args);
2990
- return resultSelector
2991
- ? pipe(combineLatest(...args), mapOneOrManyArgs(resultSelector))
2992
- : operate((source, subscriber) => {
2993
- combineLatestInit([source, ...argsOrArgArray(args)])(subscriber);
2994
- });
2995
- }
2996
-
2997
- function combineLatestWith(...otherSources) {
2998
- return combineLatest(...otherSources);
2999
- }
3000
-
3001
- function concatMap(project, resultSelector) {
3002
- return isFunction(resultSelector) ? mergeMap(project, resultSelector, 1) : mergeMap(project, 1);
3003
- }
3004
-
3005
- function concatMapTo(innerObservable, resultSelector) {
3006
- return isFunction(resultSelector) ? concatMap(() => innerObservable, resultSelector) : concatMap(() => innerObservable);
3007
- }
3008
-
3009
- function concat(...args) {
3010
- const scheduler = popScheduler(args);
3011
- return operate((source, subscriber) => {
3012
- concatAll()(from([source, ...args], scheduler)).subscribe(subscriber);
3013
- });
3014
- }
3015
-
3016
- function concatWith(...otherSources) {
3017
- return concat(...otherSources);
3018
- }
3019
-
3020
- function fromSubscribable(subscribable) {
3021
- return new Observable((subscriber) => subscribable.subscribe(subscriber));
3022
- }
3023
-
3024
- const DEFAULT_CONFIG = {
3025
- connector: () => new Subject(),
3026
- };
3027
- function connect(selector, config = DEFAULT_CONFIG) {
3028
- const { connector } = config;
3029
- return operate((source, subscriber) => {
3030
- const subject = connector();
3031
- from(selector(fromSubscribable(subject))).subscribe(subscriber);
3032
- subscriber.add(source.subscribe(subject));
3033
- });
3034
- }
3035
-
3036
- function count(predicate) {
3037
- return reduce((total, value, i) => (!predicate || predicate(value, i) ? total + 1 : total), 0);
3038
- }
3039
-
3040
- function debounce(durationSelector) {
3041
- return operate((source, subscriber) => {
3042
- let hasValue = false;
3043
- let lastValue = null;
3044
- let durationSubscriber = null;
3045
- const emit = () => {
3046
- durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();
3047
- durationSubscriber = null;
3048
- if (hasValue) {
3049
- hasValue = false;
3050
- const value = lastValue;
3051
- lastValue = null;
3052
- subscriber.next(value);
3053
- }
3054
- };
3055
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
3056
- durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();
3057
- hasValue = true;
3058
- lastValue = value;
3059
- durationSubscriber = createOperatorSubscriber(subscriber, emit, noop);
3060
- innerFrom(durationSelector(value)).subscribe(durationSubscriber);
3061
- }, () => {
3062
- emit();
3063
- subscriber.complete();
3064
- }, undefined, () => {
3065
- lastValue = durationSubscriber = null;
3066
- }));
3067
- });
3068
- }
3069
-
3070
- function debounceTime(dueTime, scheduler = asyncScheduler) {
3071
- return operate((source, subscriber) => {
3072
- let activeTask = null;
3073
- let lastValue = null;
3074
- let lastTime = null;
3075
- const emit = () => {
3076
- if (activeTask) {
3077
- activeTask.unsubscribe();
3078
- activeTask = null;
3079
- const value = lastValue;
3080
- lastValue = null;
3081
- subscriber.next(value);
3082
- }
3083
- };
3084
- function emitWhenIdle() {
3085
- const targetTime = lastTime + dueTime;
3086
- const now = scheduler.now();
3087
- if (now < targetTime) {
3088
- activeTask = this.schedule(undefined, targetTime - now);
3089
- subscriber.add(activeTask);
3090
- return;
3091
- }
3092
- emit();
3093
- }
3094
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
3095
- lastValue = value;
3096
- lastTime = scheduler.now();
3097
- if (!activeTask) {
3098
- activeTask = scheduler.schedule(emitWhenIdle, dueTime);
3099
- subscriber.add(activeTask);
3100
- }
3101
- }, () => {
3102
- emit();
3103
- subscriber.complete();
3104
- }, undefined, () => {
3105
- lastValue = activeTask = null;
3106
- }));
3107
- });
3108
- }
3109
-
3110
- function defaultIfEmpty(defaultValue) {
3111
- return operate((source, subscriber) => {
3112
- let hasValue = false;
3113
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
3114
- hasValue = true;
3115
- subscriber.next(value);
3116
- }, () => {
3117
- if (!hasValue) {
3118
- subscriber.next(defaultValue);
3119
- }
3120
- subscriber.complete();
3121
- }));
3122
- });
3123
- }
3124
-
3125
- function take(count) {
3126
- return count <= 0
3127
- ?
3128
- () => EMPTY
3129
- : operate((source, subscriber) => {
3130
- let seen = 0;
3131
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
3132
- if (++seen <= count) {
3133
- subscriber.next(value);
3134
- if (count <= seen) {
3135
- subscriber.complete();
3136
- }
3137
- }
3138
- }));
3139
- });
3140
- }
3141
-
3142
- function ignoreElements() {
3143
- return operate((source, subscriber) => {
3144
- source.subscribe(createOperatorSubscriber(subscriber, noop));
3145
- });
3146
- }
3147
-
3148
- function mapTo(value) {
3149
- return map(() => value);
3150
- }
3151
-
3152
- function delayWhen(delayDurationSelector, subscriptionDelay) {
3153
- if (subscriptionDelay) {
3154
- return (source) => concat$1(subscriptionDelay.pipe(take(1), ignoreElements()), source.pipe(delayWhen(delayDurationSelector)));
3155
- }
3156
- return mergeMap((value, index) => delayDurationSelector(value, index).pipe(take(1), mapTo(value)));
3157
- }
3158
-
3159
- function delay(due, scheduler = asyncScheduler) {
3160
- const duration = timer(due, scheduler);
3161
- return delayWhen(() => duration);
3162
- }
3163
-
3164
- function dematerialize() {
3165
- return operate((source, subscriber) => {
3166
- source.subscribe(createOperatorSubscriber(subscriber, (notification) => observeNotification(notification, subscriber)));
3167
- });
3168
- }
3169
-
3170
- function distinct(keySelector, flushes) {
3171
- return operate((source, subscriber) => {
3172
- const distinctKeys = new Set();
3173
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
3174
- const key = keySelector ? keySelector(value) : value;
3175
- if (!distinctKeys.has(key)) {
3176
- distinctKeys.add(key);
3177
- subscriber.next(value);
3178
- }
3179
- }));
3180
- flushes === null || flushes === void 0 ? void 0 : flushes.subscribe(createOperatorSubscriber(subscriber, () => distinctKeys.clear(), noop));
3181
- });
3182
- }
3183
-
3184
- function distinctUntilChanged(comparator, keySelector = identity) {
3185
- comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;
3186
- return operate((source, subscriber) => {
3187
- let previousKey;
3188
- let first = true;
3189
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
3190
- const currentKey = keySelector(value);
3191
- if (first || !comparator(previousKey, currentKey)) {
3192
- first = false;
3193
- previousKey = currentKey;
3194
- subscriber.next(value);
3195
- }
3196
- }));
3197
- });
3198
- }
3199
- function defaultCompare(a, b) {
3200
- return a === b;
3201
- }
3202
-
3203
- function distinctUntilKeyChanged(key, compare) {
3204
- return distinctUntilChanged((x, y) => compare ? compare(x[key], y[key]) : x[key] === y[key]);
3205
- }
3206
-
3207
- function throwIfEmpty(errorFactory = defaultErrorFactory) {
3208
- return operate((source, subscriber) => {
3209
- let hasValue = false;
3210
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
3211
- hasValue = true;
3212
- subscriber.next(value);
3213
- }, () => (hasValue ? subscriber.complete() : subscriber.error(errorFactory()))));
3214
- });
3215
- }
3216
- function defaultErrorFactory() {
3217
- return new EmptyError();
3218
- }
3219
-
3220
- function elementAt(index, defaultValue) {
3221
- if (index < 0) {
3222
- throw new ArgumentOutOfRangeError();
3223
- }
3224
- const hasDefaultValue = arguments.length >= 2;
3225
- return (source) => source.pipe(filter((v, i) => i === index), take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new ArgumentOutOfRangeError()));
3226
- }
3227
-
3228
- function endWith(...values) {
3229
- return (source) => concat$1(source, of(...values));
3230
- }
3231
-
3232
- function every(predicate, thisArg) {
3233
- return operate((source, subscriber) => {
3234
- let index = 0;
3235
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
3236
- if (!predicate.call(thisArg, value, index++, source)) {
3237
- subscriber.next(false);
3238
- subscriber.complete();
3239
- }
3240
- }, () => {
3241
- subscriber.next(true);
3242
- subscriber.complete();
3243
- }));
3244
- });
3245
- }
3246
-
3247
- function exhaustAll() {
3248
- return operate((source, subscriber) => {
3249
- let isComplete = false;
3250
- let innerSub = null;
3251
- source.subscribe(createOperatorSubscriber(subscriber, (inner) => {
3252
- if (!innerSub) {
3253
- innerSub = innerFrom(inner).subscribe(createOperatorSubscriber(subscriber, undefined, () => {
3254
- innerSub = null;
3255
- isComplete && subscriber.complete();
3256
- }));
3257
- }
3258
- }, () => {
3259
- isComplete = true;
3260
- !innerSub && subscriber.complete();
3261
- }));
3262
- });
3263
- }
3264
-
3265
- const exhaust = exhaustAll;
3266
-
3267
- function exhaustMap(project, resultSelector) {
3268
- if (resultSelector) {
3269
- return (source) => source.pipe(exhaustMap((a, i) => innerFrom(project(a, i)).pipe(map((b, ii) => resultSelector(a, b, i, ii)))));
3270
- }
3271
- return operate((source, subscriber) => {
3272
- let index = 0;
3273
- let innerSub = null;
3274
- let isComplete = false;
3275
- source.subscribe(createOperatorSubscriber(subscriber, (outerValue) => {
3276
- if (!innerSub) {
3277
- innerSub = createOperatorSubscriber(subscriber, undefined, () => {
3278
- innerSub = null;
3279
- isComplete && subscriber.complete();
3280
- });
3281
- innerFrom(project(outerValue, index++)).subscribe(innerSub);
3282
- }
3283
- }, () => {
3284
- isComplete = true;
3285
- !innerSub && subscriber.complete();
3286
- }));
3287
- });
3288
- }
3289
-
3290
- function expand(project, concurrent = Infinity, scheduler) {
3291
- concurrent = (concurrent || 0) < 1 ? Infinity : concurrent;
3292
- return operate((source, subscriber) => mergeInternals(source, subscriber, project, concurrent, undefined, true, scheduler));
3293
- }
3294
-
3295
- function finalize(callback) {
3296
- return operate((source, subscriber) => {
3297
- try {
3298
- source.subscribe(subscriber);
3299
- }
3300
- finally {
3301
- subscriber.add(callback);
3302
- }
3303
- });
3304
- }
3305
-
3306
- function find(predicate, thisArg) {
3307
- return operate(createFind(predicate, thisArg, 'value'));
3308
- }
3309
- function createFind(predicate, thisArg, emit) {
3310
- const findIndex = emit === 'index';
3311
- return (source, subscriber) => {
3312
- let index = 0;
3313
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
3314
- const i = index++;
3315
- if (predicate.call(thisArg, value, i, source)) {
3316
- subscriber.next(findIndex ? i : value);
3317
- subscriber.complete();
3318
- }
3319
- }, () => {
3320
- subscriber.next(findIndex ? -1 : undefined);
3321
- subscriber.complete();
3322
- }));
3323
- };
3324
- }
3325
-
3326
- function findIndex(predicate, thisArg) {
3327
- return operate(createFind(predicate, thisArg, 'index'));
3328
- }
3329
-
3330
- function first(predicate, defaultValue) {
3331
- const hasDefaultValue = arguments.length >= 2;
3332
- return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));
3333
- }
3334
-
3335
- function groupBy(keySelector, elementOrOptions, duration, connector) {
3336
- return operate((source, subscriber) => {
3337
- let element;
3338
- if (!elementOrOptions || typeof elementOrOptions === 'function') {
3339
- element = elementOrOptions;
3340
- }
3341
- else {
3342
- ({ duration, element, connector } = elementOrOptions);
3343
- }
3344
- const groups = new Map();
3345
- const notify = (cb) => {
3346
- groups.forEach(cb);
3347
- cb(subscriber);
3348
- };
3349
- const handleError = (err) => notify((consumer) => consumer.error(err));
3350
- let activeGroups = 0;
3351
- let teardownAttempted = false;
3352
- const groupBySourceSubscriber = new OperatorSubscriber(subscriber, (value) => {
3353
- try {
3354
- const key = keySelector(value);
3355
- let group = groups.get(key);
3356
- if (!group) {
3357
- groups.set(key, (group = connector ? connector() : new Subject()));
3358
- const grouped = createGroupedObservable(key, group);
3359
- subscriber.next(grouped);
3360
- if (duration) {
3361
- const durationSubscriber = createOperatorSubscriber(group, () => {
3362
- group.complete();
3363
- durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();
3364
- }, undefined, undefined, () => groups.delete(key));
3365
- groupBySourceSubscriber.add(innerFrom(duration(grouped)).subscribe(durationSubscriber));
3366
- }
3367
- }
3368
- group.next(element ? element(value) : value);
3369
- }
3370
- catch (err) {
3371
- handleError(err);
3372
- }
3373
- }, () => notify((consumer) => consumer.complete()), handleError, () => groups.clear(), () => {
3374
- teardownAttempted = true;
3375
- return activeGroups === 0;
3376
- });
3377
- source.subscribe(groupBySourceSubscriber);
3378
- function createGroupedObservable(key, groupSubject) {
3379
- const result = new Observable((groupSubscriber) => {
3380
- activeGroups++;
3381
- const innerSub = groupSubject.subscribe(groupSubscriber);
3382
- return () => {
3383
- innerSub.unsubscribe();
3384
- --activeGroups === 0 && teardownAttempted && groupBySourceSubscriber.unsubscribe();
3385
- };
3386
- });
3387
- result.key = key;
3388
- return result;
3389
- }
3390
- });
3391
- }
3392
-
3393
- function isEmpty() {
3394
- return operate((source, subscriber) => {
3395
- source.subscribe(createOperatorSubscriber(subscriber, () => {
3396
- subscriber.next(false);
3397
- subscriber.complete();
3398
- }, () => {
3399
- subscriber.next(true);
3400
- subscriber.complete();
3401
- }));
3402
- });
3403
- }
3404
-
3405
- function takeLast(count) {
3406
- return count <= 0
3407
- ? () => EMPTY
3408
- : operate((source, subscriber) => {
3409
- let buffer = [];
3410
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
3411
- buffer.push(value);
3412
- count < buffer.length && buffer.shift();
3413
- }, () => {
3414
- for (const value of buffer) {
3415
- subscriber.next(value);
3416
- }
3417
- subscriber.complete();
3418
- }, undefined, () => {
3419
- buffer = null;
3420
- }));
3421
- });
3422
- }
3423
-
3424
- function last(predicate, defaultValue) {
3425
- const hasDefaultValue = arguments.length >= 2;
3426
- return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, takeLast(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));
3427
- }
3428
-
3429
- function materialize() {
3430
- return operate((source, subscriber) => {
3431
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
3432
- subscriber.next(Notification.createNext(value));
3433
- }, () => {
3434
- subscriber.next(Notification.createComplete());
3435
- subscriber.complete();
3436
- }, (err) => {
3437
- subscriber.next(Notification.createError(err));
3438
- subscriber.complete();
3439
- }));
3440
- });
3441
- }
3442
-
3443
- function max(comparer) {
3444
- return reduce(isFunction(comparer) ? (x, y) => (comparer(x, y) > 0 ? x : y) : (x, y) => (x > y ? x : y));
3445
- }
3446
-
3447
- const flatMap = mergeMap;
3448
-
3449
- function mergeMapTo(innerObservable, resultSelector, concurrent = Infinity) {
3450
- if (isFunction(resultSelector)) {
3451
- return mergeMap(() => innerObservable, resultSelector, concurrent);
3452
- }
3453
- if (typeof resultSelector === 'number') {
3454
- concurrent = resultSelector;
3455
- }
3456
- return mergeMap(() => innerObservable, concurrent);
3457
- }
3458
-
3459
- function mergeScan(accumulator, seed, concurrent = Infinity) {
3460
- return operate((source, subscriber) => {
3461
- let state = seed;
3462
- return mergeInternals(source, subscriber, (value, index) => accumulator(state, value, index), concurrent, (value) => {
3463
- state = value;
3464
- }, false, undefined, () => (state = null));
3465
- });
3466
- }
3467
-
3468
- function merge(...args) {
3469
- const scheduler = popScheduler(args);
3470
- const concurrent = popNumber(args, Infinity);
3471
- args = argsOrArgArray(args);
3472
- return operate((source, subscriber) => {
3473
- mergeAll(concurrent)(from([source, ...args], scheduler)).subscribe(subscriber);
3474
- });
3475
- }
3476
-
3477
- function mergeWith(...otherSources) {
3478
- return merge(...otherSources);
3479
- }
3480
-
3481
- function min(comparer) {
3482
- return reduce(isFunction(comparer) ? (x, y) => (comparer(x, y) < 0 ? x : y) : (x, y) => (x < y ? x : y));
3483
- }
3484
-
3485
- function multicast(subjectOrSubjectFactory, selector) {
3486
- const subjectFactory = isFunction(subjectOrSubjectFactory) ? subjectOrSubjectFactory : () => subjectOrSubjectFactory;
3487
- if (isFunction(selector)) {
3488
- return connect(selector, {
3489
- connector: subjectFactory,
3490
- });
3491
- }
3492
- return (source) => new ConnectableObservable(source, subjectFactory);
3493
- }
3494
-
3495
- function pairwise() {
3496
- return operate((source, subscriber) => {
3497
- let prev;
3498
- let hasPrev = false;
3499
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
3500
- const p = prev;
3501
- prev = value;
3502
- hasPrev && subscriber.next([p, value]);
3503
- hasPrev = true;
3504
- }));
3505
- });
3506
- }
3507
-
3508
- function pluck(...properties) {
3509
- const length = properties.length;
3510
- if (length === 0) {
3511
- throw new Error('list of properties cannot be empty.');
3512
- }
3513
- return map((x) => {
3514
- let currentProp = x;
3515
- for (let i = 0; i < length; i++) {
3516
- const p = currentProp === null || currentProp === void 0 ? void 0 : currentProp[properties[i]];
3517
- if (typeof p !== 'undefined') {
3518
- currentProp = p;
3519
- }
3520
- else {
3521
- return undefined;
3522
- }
3523
- }
3524
- return currentProp;
3525
- });
3526
- }
3527
-
3528
- function publish(selector) {
3529
- return selector ? (source) => connect(selector)(source) : (source) => multicast(new Subject())(source);
3530
- }
3531
-
3532
- function publishBehavior(initialValue) {
3533
- return (source) => {
3534
- const subject = new BehaviorSubject(initialValue);
3535
- return new ConnectableObservable(source, () => subject);
3536
- };
3537
- }
3538
-
3539
- function publishLast() {
3540
- return (source) => {
3541
- const subject = new AsyncSubject();
3542
- return new ConnectableObservable(source, () => subject);
3543
- };
3544
- }
3545
-
3546
- function publishReplay(bufferSize, windowTime, selectorOrScheduler, timestampProvider) {
3547
- if (selectorOrScheduler && !isFunction(selectorOrScheduler)) {
3548
- timestampProvider = selectorOrScheduler;
3549
- }
3550
- const selector = isFunction(selectorOrScheduler) ? selectorOrScheduler : undefined;
3551
- return (source) => multicast(new ReplaySubject(bufferSize, windowTime, timestampProvider), selector)(source);
3552
- }
3553
-
3554
- function raceWith(...otherSources) {
3555
- return !otherSources.length
3556
- ? identity
3557
- : operate((source, subscriber) => {
3558
- raceInit([source, ...otherSources])(subscriber);
3559
- });
3560
- }
3561
-
3562
- function repeat(countOrConfig) {
3563
- let count = Infinity;
3564
- let delay;
3565
- if (countOrConfig != null) {
3566
- if (typeof countOrConfig === 'object') {
3567
- ({ count = Infinity, delay } = countOrConfig);
3568
- }
3569
- else {
3570
- count = countOrConfig;
3571
- }
3572
- }
3573
- return count <= 0
3574
- ? () => EMPTY
3575
- : operate((source, subscriber) => {
3576
- let soFar = 0;
3577
- let sourceSub;
3578
- const resubscribe = () => {
3579
- sourceSub === null || sourceSub === void 0 ? void 0 : sourceSub.unsubscribe();
3580
- sourceSub = null;
3581
- if (delay != null) {
3582
- const notifier = typeof delay === 'number' ? timer(delay) : innerFrom(delay(soFar));
3583
- const notifierSubscriber = createOperatorSubscriber(subscriber, () => {
3584
- notifierSubscriber.unsubscribe();
3585
- subscribeToSource();
3586
- });
3587
- notifier.subscribe(notifierSubscriber);
3588
- }
3589
- else {
3590
- subscribeToSource();
3591
- }
3592
- };
3593
- const subscribeToSource = () => {
3594
- let syncUnsub = false;
3595
- sourceSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, () => {
3596
- if (++soFar < count) {
3597
- if (sourceSub) {
3598
- resubscribe();
3599
- }
3600
- else {
3601
- syncUnsub = true;
3602
- }
3603
- }
3604
- else {
3605
- subscriber.complete();
3606
- }
3607
- }));
3608
- if (syncUnsub) {
3609
- resubscribe();
3610
- }
3611
- };
3612
- subscribeToSource();
3613
- });
3614
- }
3615
-
3616
- function repeatWhen(notifier) {
3617
- return operate((source, subscriber) => {
3618
- let innerSub;
3619
- let syncResub = false;
3620
- let completions$;
3621
- let isNotifierComplete = false;
3622
- let isMainComplete = false;
3623
- const checkComplete = () => isMainComplete && isNotifierComplete && (subscriber.complete(), true);
3624
- const getCompletionSubject = () => {
3625
- if (!completions$) {
3626
- completions$ = new Subject();
3627
- notifier(completions$).subscribe(createOperatorSubscriber(subscriber, () => {
3628
- if (innerSub) {
3629
- subscribeForRepeatWhen();
3630
- }
3631
- else {
3632
- syncResub = true;
3633
- }
3634
- }, () => {
3635
- isNotifierComplete = true;
3636
- checkComplete();
3637
- }));
3638
- }
3639
- return completions$;
3640
- };
3641
- const subscribeForRepeatWhen = () => {
3642
- isMainComplete = false;
3643
- innerSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, () => {
3644
- isMainComplete = true;
3645
- !checkComplete() && getCompletionSubject().next();
3646
- }));
3647
- if (syncResub) {
3648
- innerSub.unsubscribe();
3649
- innerSub = null;
3650
- syncResub = false;
3651
- subscribeForRepeatWhen();
3652
- }
3653
- };
3654
- subscribeForRepeatWhen();
3655
- });
3656
- }
3657
-
3658
- function retry(configOrCount = Infinity) {
3659
- let config;
3660
- if (configOrCount && typeof configOrCount === 'object') {
3661
- config = configOrCount;
3662
- }
3663
- else {
3664
- config = {
3665
- count: configOrCount,
3666
- };
3667
- }
3668
- const { count = Infinity, delay, resetOnSuccess: resetOnSuccess = false } = config;
3669
- return count <= 0
3670
- ? identity
3671
- : operate((source, subscriber) => {
3672
- let soFar = 0;
3673
- let innerSub;
3674
- const subscribeForRetry = () => {
3675
- let syncUnsub = false;
3676
- innerSub = source.subscribe(createOperatorSubscriber(subscriber, (value) => {
3677
- if (resetOnSuccess) {
3678
- soFar = 0;
3679
- }
3680
- subscriber.next(value);
3681
- }, undefined, (err) => {
3682
- if (soFar++ < count) {
3683
- const resub = () => {
3684
- if (innerSub) {
3685
- innerSub.unsubscribe();
3686
- innerSub = null;
3687
- subscribeForRetry();
3688
- }
3689
- else {
3690
- syncUnsub = true;
3691
- }
3692
- };
3693
- if (delay != null) {
3694
- const notifier = typeof delay === 'number' ? timer(delay) : innerFrom(delay(err, soFar));
3695
- const notifierSubscriber = createOperatorSubscriber(subscriber, () => {
3696
- notifierSubscriber.unsubscribe();
3697
- resub();
3698
- }, () => {
3699
- subscriber.complete();
3700
- });
3701
- notifier.subscribe(notifierSubscriber);
3702
- }
3703
- else {
3704
- resub();
3705
- }
3706
- }
3707
- else {
3708
- subscriber.error(err);
3709
- }
3710
- }));
3711
- if (syncUnsub) {
3712
- innerSub.unsubscribe();
3713
- innerSub = null;
3714
- subscribeForRetry();
3715
- }
3716
- };
3717
- subscribeForRetry();
3718
- });
3719
- }
3720
-
3721
- function retryWhen(notifier) {
3722
- return operate((source, subscriber) => {
3723
- let innerSub;
3724
- let syncResub = false;
3725
- let errors$;
3726
- const subscribeForRetryWhen = () => {
3727
- innerSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, undefined, (err) => {
3728
- if (!errors$) {
3729
- errors$ = new Subject();
3730
- notifier(errors$).subscribe(createOperatorSubscriber(subscriber, () => innerSub ? subscribeForRetryWhen() : (syncResub = true)));
3731
- }
3732
- if (errors$) {
3733
- errors$.next(err);
3734
- }
3735
- }));
3736
- if (syncResub) {
3737
- innerSub.unsubscribe();
3738
- innerSub = null;
3739
- syncResub = false;
3740
- subscribeForRetryWhen();
3741
- }
3742
- };
3743
- subscribeForRetryWhen();
3744
- });
3745
- }
3746
-
3747
- function sample(notifier) {
3748
- return operate((source, subscriber) => {
3749
- let hasValue = false;
3750
- let lastValue = null;
3751
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
3752
- hasValue = true;
3753
- lastValue = value;
3754
- }));
3755
- notifier.subscribe(createOperatorSubscriber(subscriber, () => {
3756
- if (hasValue) {
3757
- hasValue = false;
3758
- const value = lastValue;
3759
- lastValue = null;
3760
- subscriber.next(value);
3761
- }
3762
- }, noop));
3763
- });
3764
- }
3765
-
3766
- function sampleTime(period, scheduler = asyncScheduler) {
3767
- return sample(interval(period, scheduler));
3768
- }
3769
-
3770
- function scan(accumulator, seed) {
3771
- return operate(scanInternals(accumulator, seed, arguments.length >= 2, true));
3772
- }
3773
-
3774
- function sequenceEqual(compareTo, comparator = (a, b) => a === b) {
3775
- return operate((source, subscriber) => {
3776
- const aState = createState();
3777
- const bState = createState();
3778
- const emit = (isEqual) => {
3779
- subscriber.next(isEqual);
3780
- subscriber.complete();
3781
- };
3782
- const createSubscriber = (selfState, otherState) => {
3783
- const sequenceEqualSubscriber = createOperatorSubscriber(subscriber, (a) => {
3784
- const { buffer, complete } = otherState;
3785
- if (buffer.length === 0) {
3786
- complete ? emit(false) : selfState.buffer.push(a);
3787
- }
3788
- else {
3789
- !comparator(a, buffer.shift()) && emit(false);
3790
- }
3791
- }, () => {
3792
- selfState.complete = true;
3793
- const { complete, buffer } = otherState;
3794
- complete && emit(buffer.length === 0);
3795
- sequenceEqualSubscriber === null || sequenceEqualSubscriber === void 0 ? void 0 : sequenceEqualSubscriber.unsubscribe();
3796
- });
3797
- return sequenceEqualSubscriber;
3798
- };
3799
- source.subscribe(createSubscriber(aState, bState));
3800
- compareTo.subscribe(createSubscriber(bState, aState));
3801
- });
3802
- }
3803
- function createState() {
3804
- return {
3805
- buffer: [],
3806
- complete: false,
3807
- };
3808
- }
3809
-
3810
- function share(options = {}) {
3811
- const { connector = () => new Subject(), resetOnError = true, resetOnComplete = true, resetOnRefCountZero = true } = options;
3812
- return (wrapperSource) => {
3813
- let connection = null;
3814
- let resetConnection = null;
3815
- let subject = null;
3816
- let refCount = 0;
3817
- let hasCompleted = false;
3818
- let hasErrored = false;
3819
- const cancelReset = () => {
3820
- resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();
3821
- resetConnection = null;
3822
- };
3823
- const reset = () => {
3824
- cancelReset();
3825
- connection = subject = null;
3826
- hasCompleted = hasErrored = false;
3827
- };
3828
- const resetAndUnsubscribe = () => {
3829
- const conn = connection;
3830
- reset();
3831
- conn === null || conn === void 0 ? void 0 : conn.unsubscribe();
3832
- };
3833
- return operate((source, subscriber) => {
3834
- refCount++;
3835
- if (!hasErrored && !hasCompleted) {
3836
- cancelReset();
3837
- }
3838
- const dest = (subject = subject !== null && subject !== void 0 ? subject : connector());
3839
- subscriber.add(() => {
3840
- refCount--;
3841
- if (refCount === 0 && !hasErrored && !hasCompleted) {
3842
- resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);
3843
- }
3844
- });
3845
- dest.subscribe(subscriber);
3846
- if (!connection) {
3847
- connection = new SafeSubscriber({
3848
- next: (value) => dest.next(value),
3849
- error: (err) => {
3850
- hasErrored = true;
3851
- cancelReset();
3852
- resetConnection = handleReset(reset, resetOnError, err);
3853
- dest.error(err);
3854
- },
3855
- complete: () => {
3856
- hasCompleted = true;
3857
- cancelReset();
3858
- resetConnection = handleReset(reset, resetOnComplete);
3859
- dest.complete();
3860
- },
3861
- });
3862
- from(source).subscribe(connection);
3863
- }
3864
- })(wrapperSource);
3865
- };
3866
- }
3867
- function handleReset(reset, on, ...args) {
3868
- if (on === true) {
3869
- reset();
3870
- return null;
3871
- }
3872
- if (on === false) {
3873
- return null;
3874
- }
3875
- return on(...args)
3876
- .pipe(take(1))
3877
- .subscribe(() => reset());
3878
- }
3879
-
3880
- function shareReplay(configOrBufferSize, windowTime, scheduler) {
3881
- let bufferSize;
3882
- let refCount = false;
3883
- if (configOrBufferSize && typeof configOrBufferSize === 'object') {
3884
- ({ bufferSize = Infinity, windowTime = Infinity, refCount = false, scheduler } = configOrBufferSize);
3885
- }
3886
- else {
3887
- bufferSize = configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity;
3888
- }
3889
- return share({
3890
- connector: () => new ReplaySubject(bufferSize, windowTime, scheduler),
3891
- resetOnError: true,
3892
- resetOnComplete: false,
3893
- resetOnRefCountZero: refCount,
3894
- });
3895
- }
3896
-
3897
- function single(predicate) {
3898
- return operate((source, subscriber) => {
3899
- let hasValue = false;
3900
- let singleValue;
3901
- let seenValue = false;
3902
- let index = 0;
3903
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
3904
- seenValue = true;
3905
- if (!predicate || predicate(value, index++, source)) {
3906
- hasValue && subscriber.error(new SequenceError('Too many matching values'));
3907
- hasValue = true;
3908
- singleValue = value;
3909
- }
3910
- }, () => {
3911
- if (hasValue) {
3912
- subscriber.next(singleValue);
3913
- subscriber.complete();
3914
- }
3915
- else {
3916
- subscriber.error(seenValue ? new NotFoundError('No matching values') : new EmptyError());
3917
- }
3918
- }));
3919
- });
3920
- }
3921
-
3922
- function skip(count) {
3923
- return filter((_, index) => count <= index);
3924
- }
3925
-
3926
- function skipLast(skipCount) {
3927
- return skipCount <= 0
3928
- ?
3929
- identity
3930
- : operate((source, subscriber) => {
3931
- let ring = new Array(skipCount);
3932
- let seen = 0;
3933
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
3934
- const valueIndex = seen++;
3935
- if (valueIndex < skipCount) {
3936
- ring[valueIndex] = value;
3937
- }
3938
- else {
3939
- const index = valueIndex % skipCount;
3940
- const oldValue = ring[index];
3941
- ring[index] = value;
3942
- subscriber.next(oldValue);
3943
- }
3944
- }));
3945
- return () => {
3946
- ring = null;
3947
- };
3948
- });
3949
- }
3950
-
3951
- function skipUntil(notifier) {
3952
- return operate((source, subscriber) => {
3953
- let taking = false;
3954
- const skipSubscriber = createOperatorSubscriber(subscriber, () => {
3955
- skipSubscriber === null || skipSubscriber === void 0 ? void 0 : skipSubscriber.unsubscribe();
3956
- taking = true;
3957
- }, noop);
3958
- innerFrom(notifier).subscribe(skipSubscriber);
3959
- source.subscribe(createOperatorSubscriber(subscriber, (value) => taking && subscriber.next(value)));
3960
- });
3961
- }
3962
-
3963
- function skipWhile(predicate) {
3964
- return operate((source, subscriber) => {
3965
- let taking = false;
3966
- let index = 0;
3967
- source.subscribe(createOperatorSubscriber(subscriber, (value) => (taking || (taking = !predicate(value, index++))) && subscriber.next(value)));
3968
- });
3969
- }
3970
-
3971
- function startWith(...values) {
3972
- const scheduler = popScheduler(values);
3973
- return operate((source, subscriber) => {
3974
- (scheduler ? concat$1(values, source, scheduler) : concat$1(values, source)).subscribe(subscriber);
3975
- });
3976
- }
3977
-
3978
- function switchMap(project, resultSelector) {
3979
- return operate((source, subscriber) => {
3980
- let innerSubscriber = null;
3981
- let index = 0;
3982
- let isComplete = false;
3983
- const checkComplete = () => isComplete && !innerSubscriber && subscriber.complete();
3984
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
3985
- innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();
3986
- let innerIndex = 0;
3987
- const outerIndex = index++;
3988
- innerFrom(project(value, outerIndex)).subscribe((innerSubscriber = createOperatorSubscriber(subscriber, (innerValue) => subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue), () => {
3989
- innerSubscriber = null;
3990
- checkComplete();
3991
- })));
3992
- }, () => {
3993
- isComplete = true;
3994
- checkComplete();
3995
- }));
3996
- });
3997
- }
3998
-
3999
- function switchAll() {
4000
- return switchMap(identity);
4001
- }
4002
-
4003
- function switchMapTo(innerObservable, resultSelector) {
4004
- return isFunction(resultSelector) ? switchMap(() => innerObservable, resultSelector) : switchMap(() => innerObservable);
4005
- }
4006
-
4007
- function switchScan(accumulator, seed) {
4008
- return operate((source, subscriber) => {
4009
- let state = seed;
4010
- switchMap((value, index) => accumulator(state, value, index), (_, innerValue) => ((state = innerValue), innerValue))(source).subscribe(subscriber);
4011
- return () => {
4012
- state = null;
4013
- };
4014
- });
4015
- }
4016
-
4017
- function takeUntil(notifier) {
4018
- return operate((source, subscriber) => {
4019
- innerFrom(notifier).subscribe(createOperatorSubscriber(subscriber, () => subscriber.complete(), noop));
4020
- !subscriber.closed && source.subscribe(subscriber);
4021
- });
4022
- }
4023
-
4024
- function takeWhile(predicate, inclusive = false) {
4025
- return operate((source, subscriber) => {
4026
- let index = 0;
4027
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
4028
- const result = predicate(value, index++);
4029
- (result || inclusive) && subscriber.next(value);
4030
- !result && subscriber.complete();
4031
- }));
4032
- });
4033
- }
4034
-
4035
- function tap(observerOrNext, error, complete) {
4036
- const tapObserver = isFunction(observerOrNext) || error || complete
4037
- ?
4038
- { next: observerOrNext, error, complete }
4039
- : observerOrNext;
4040
- return tapObserver
4041
- ? operate((source, subscriber) => {
4042
- var _a;
4043
- (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);
4044
- let isUnsub = true;
4045
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
4046
- var _a;
4047
- (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);
4048
- subscriber.next(value);
4049
- }, () => {
4050
- var _a;
4051
- isUnsub = false;
4052
- (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);
4053
- subscriber.complete();
4054
- }, (err) => {
4055
- var _a;
4056
- isUnsub = false;
4057
- (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);
4058
- subscriber.error(err);
4059
- }, () => {
4060
- var _a, _b;
4061
- if (isUnsub) {
4062
- (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);
4063
- }
4064
- (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);
4065
- }));
4066
- })
4067
- :
4068
- identity;
4069
- }
4070
-
4071
- const defaultThrottleConfig = {
4072
- leading: true,
4073
- trailing: false,
4074
- };
4075
- function throttle(durationSelector, config = defaultThrottleConfig) {
4076
- return operate((source, subscriber) => {
4077
- const { leading, trailing } = config;
4078
- let hasValue = false;
4079
- let sendValue = null;
4080
- let throttled = null;
4081
- let isComplete = false;
4082
- const endThrottling = () => {
4083
- throttled === null || throttled === void 0 ? void 0 : throttled.unsubscribe();
4084
- throttled = null;
4085
- if (trailing) {
4086
- send();
4087
- isComplete && subscriber.complete();
4088
- }
4089
- };
4090
- const cleanupThrottling = () => {
4091
- throttled = null;
4092
- isComplete && subscriber.complete();
4093
- };
4094
- const startThrottle = (value) => (throttled = innerFrom(durationSelector(value)).subscribe(createOperatorSubscriber(subscriber, endThrottling, cleanupThrottling)));
4095
- const send = () => {
4096
- if (hasValue) {
4097
- hasValue = false;
4098
- const value = sendValue;
4099
- sendValue = null;
4100
- subscriber.next(value);
4101
- !isComplete && startThrottle(value);
4102
- }
4103
- };
4104
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
4105
- hasValue = true;
4106
- sendValue = value;
4107
- !(throttled && !throttled.closed) && (leading ? send() : startThrottle(value));
4108
- }, () => {
4109
- isComplete = true;
4110
- !(trailing && hasValue && throttled && !throttled.closed) && subscriber.complete();
4111
- }));
4112
- });
4113
- }
4114
-
4115
- function throttleTime(duration, scheduler = asyncScheduler, config = defaultThrottleConfig) {
4116
- const duration$ = timer(duration, scheduler);
4117
- return throttle(() => duration$, config);
4118
- }
4119
-
4120
- function timeInterval(scheduler = asyncScheduler) {
4121
- return operate((source, subscriber) => {
4122
- let last = scheduler.now();
4123
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
4124
- const now = scheduler.now();
4125
- const interval = now - last;
4126
- last = now;
4127
- subscriber.next(new TimeInterval(value, interval));
4128
- }));
4129
- });
4130
- }
4131
- class TimeInterval {
4132
- constructor(value, interval) {
4133
- this.value = value;
4134
- this.interval = interval;
4135
- }
4136
- }
4137
-
4138
- function timeoutWith(due, withObservable, scheduler) {
4139
- let first;
4140
- let each;
4141
- let _with;
4142
- scheduler = scheduler !== null && scheduler !== void 0 ? scheduler : async;
4143
- if (isValidDate(due)) {
4144
- first = due;
4145
- }
4146
- else if (typeof due === 'number') {
4147
- each = due;
4148
- }
4149
- if (withObservable) {
4150
- _with = () => withObservable;
4151
- }
4152
- else {
4153
- throw new TypeError('No observable provided to switch to');
4154
- }
4155
- if (first == null && each == null) {
4156
- throw new TypeError('No timeout provided.');
4157
- }
4158
- return timeout({
4159
- first,
4160
- each,
4161
- scheduler,
4162
- with: _with,
4163
- });
4164
- }
4165
-
4166
- function timestamp(timestampProvider = dateTimestampProvider) {
4167
- return map((value) => ({ value, timestamp: timestampProvider.now() }));
4168
- }
4169
-
4170
- function window(windowBoundaries) {
4171
- return operate((source, subscriber) => {
4172
- let windowSubject = new Subject();
4173
- subscriber.next(windowSubject.asObservable());
4174
- const errorHandler = (err) => {
4175
- windowSubject.error(err);
4176
- subscriber.error(err);
4177
- };
4178
- source.subscribe(createOperatorSubscriber(subscriber, (value) => windowSubject === null || windowSubject === void 0 ? void 0 : windowSubject.next(value), () => {
4179
- windowSubject.complete();
4180
- subscriber.complete();
4181
- }, errorHandler));
4182
- windowBoundaries.subscribe(createOperatorSubscriber(subscriber, () => {
4183
- windowSubject.complete();
4184
- subscriber.next((windowSubject = new Subject()));
4185
- }, noop, errorHandler));
4186
- return () => {
4187
- windowSubject === null || windowSubject === void 0 ? void 0 : windowSubject.unsubscribe();
4188
- windowSubject = null;
4189
- };
4190
- });
4191
- }
4192
-
4193
- function windowCount(windowSize, startWindowEvery = 0) {
4194
- const startEvery = startWindowEvery > 0 ? startWindowEvery : windowSize;
4195
- return operate((source, subscriber) => {
4196
- let windows = [new Subject()];
4197
- let starts = [];
4198
- let count = 0;
4199
- subscriber.next(windows[0].asObservable());
4200
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
4201
- for (const window of windows) {
4202
- window.next(value);
4203
- }
4204
- const c = count - windowSize + 1;
4205
- if (c >= 0 && c % startEvery === 0) {
4206
- windows.shift().complete();
4207
- }
4208
- if (++count % startEvery === 0) {
4209
- const window = new Subject();
4210
- windows.push(window);
4211
- subscriber.next(window.asObservable());
4212
- }
4213
- }, () => {
4214
- while (windows.length > 0) {
4215
- windows.shift().complete();
4216
- }
4217
- subscriber.complete();
4218
- }, (err) => {
4219
- while (windows.length > 0) {
4220
- windows.shift().error(err);
4221
- }
4222
- subscriber.error(err);
4223
- }, () => {
4224
- starts = null;
4225
- windows = null;
4226
- }));
4227
- });
4228
- }
4229
-
4230
- function windowTime(windowTimeSpan, ...otherArgs) {
4231
- var _a, _b;
4232
- const scheduler = (_a = popScheduler(otherArgs)) !== null && _a !== void 0 ? _a : asyncScheduler;
4233
- const windowCreationInterval = (_b = otherArgs[0]) !== null && _b !== void 0 ? _b : null;
4234
- const maxWindowSize = otherArgs[1] || Infinity;
4235
- return operate((source, subscriber) => {
4236
- let windowRecords = [];
4237
- let restartOnClose = false;
4238
- const closeWindow = (record) => {
4239
- const { window, subs } = record;
4240
- window.complete();
4241
- subs.unsubscribe();
4242
- arrRemove(windowRecords, record);
4243
- restartOnClose && startWindow();
4244
- };
4245
- const startWindow = () => {
4246
- if (windowRecords) {
4247
- const subs = new Subscription();
4248
- subscriber.add(subs);
4249
- const window = new Subject();
4250
- const record = {
4251
- window,
4252
- subs,
4253
- seen: 0,
4254
- };
4255
- windowRecords.push(record);
4256
- subscriber.next(window.asObservable());
4257
- executeSchedule(subs, scheduler, () => closeWindow(record), windowTimeSpan);
4258
- }
4259
- };
4260
- if (windowCreationInterval !== null && windowCreationInterval >= 0) {
4261
- executeSchedule(subscriber, scheduler, startWindow, windowCreationInterval, true);
4262
- }
4263
- else {
4264
- restartOnClose = true;
4265
- }
4266
- startWindow();
4267
- const loop = (cb) => windowRecords.slice().forEach(cb);
4268
- const terminate = (cb) => {
4269
- loop(({ window }) => cb(window));
4270
- cb(subscriber);
4271
- subscriber.unsubscribe();
4272
- };
4273
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
4274
- loop((record) => {
4275
- record.window.next(value);
4276
- maxWindowSize <= ++record.seen && closeWindow(record);
4277
- });
4278
- }, () => terminate((consumer) => consumer.complete()), (err) => terminate((consumer) => consumer.error(err))));
4279
- return () => {
4280
- windowRecords = null;
4281
- };
4282
- });
4283
- }
4284
-
4285
- function windowToggle(openings, closingSelector) {
4286
- return operate((source, subscriber) => {
4287
- const windows = [];
4288
- const handleError = (err) => {
4289
- while (0 < windows.length) {
4290
- windows.shift().error(err);
4291
- }
4292
- subscriber.error(err);
4293
- };
4294
- innerFrom(openings).subscribe(createOperatorSubscriber(subscriber, (openValue) => {
4295
- const window = new Subject();
4296
- windows.push(window);
4297
- const closingSubscription = new Subscription();
4298
- const closeWindow = () => {
4299
- arrRemove(windows, window);
4300
- window.complete();
4301
- closingSubscription.unsubscribe();
4302
- };
4303
- let closingNotifier;
4304
- try {
4305
- closingNotifier = innerFrom(closingSelector(openValue));
4306
- }
4307
- catch (err) {
4308
- handleError(err);
4309
- return;
4310
- }
4311
- subscriber.next(window.asObservable());
4312
- closingSubscription.add(closingNotifier.subscribe(createOperatorSubscriber(subscriber, closeWindow, noop, handleError)));
4313
- }, noop));
4314
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
4315
- const windowsCopy = windows.slice();
4316
- for (const window of windowsCopy) {
4317
- window.next(value);
4318
- }
4319
- }, () => {
4320
- while (0 < windows.length) {
4321
- windows.shift().complete();
4322
- }
4323
- subscriber.complete();
4324
- }, handleError, () => {
4325
- while (0 < windows.length) {
4326
- windows.shift().unsubscribe();
4327
- }
4328
- }));
4329
- });
4330
- }
4331
-
4332
- function windowWhen(closingSelector) {
4333
- return operate((source, subscriber) => {
4334
- let window;
4335
- let closingSubscriber;
4336
- const handleError = (err) => {
4337
- window.error(err);
4338
- subscriber.error(err);
4339
- };
4340
- const openWindow = () => {
4341
- closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe();
4342
- window === null || window === void 0 ? void 0 : window.complete();
4343
- window = new Subject();
4344
- subscriber.next(window.asObservable());
4345
- let closingNotifier;
4346
- try {
4347
- closingNotifier = innerFrom(closingSelector());
4348
- }
4349
- catch (err) {
4350
- handleError(err);
4351
- return;
4352
- }
4353
- closingNotifier.subscribe((closingSubscriber = createOperatorSubscriber(subscriber, openWindow, openWindow, handleError)));
4354
- };
4355
- openWindow();
4356
- source.subscribe(createOperatorSubscriber(subscriber, (value) => window.next(value), () => {
4357
- window.complete();
4358
- subscriber.complete();
4359
- }, handleError, () => {
4360
- closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe();
4361
- window = null;
4362
- }));
4363
- });
4364
- }
4365
-
4366
- function withLatestFrom(...inputs) {
4367
- const project = popResultSelector(inputs);
4368
- return operate((source, subscriber) => {
4369
- const len = inputs.length;
4370
- const otherValues = new Array(len);
4371
- let hasValue = inputs.map(() => false);
4372
- let ready = false;
4373
- for (let i = 0; i < len; i++) {
4374
- innerFrom(inputs[i]).subscribe(createOperatorSubscriber(subscriber, (value) => {
4375
- otherValues[i] = value;
4376
- if (!ready && !hasValue[i]) {
4377
- hasValue[i] = true;
4378
- (ready = hasValue.every(identity)) && (hasValue = null);
4379
- }
4380
- }, noop));
4381
- }
4382
- source.subscribe(createOperatorSubscriber(subscriber, (value) => {
4383
- if (ready) {
4384
- const values = [value, ...otherValues];
4385
- subscriber.next(project ? project(...values) : values);
4386
- }
4387
- }));
4388
- });
4389
- }
4390
-
4391
- function zipAll(project) {
4392
- return joinAllInternals(zip$1, project);
4393
- }
4394
-
4395
- function zip(...sources) {
4396
- return operate((source, subscriber) => {
4397
- zip$1(source, ...sources).subscribe(subscriber);
4398
- });
4399
- }
4400
-
4401
- function zipWith(...otherInputs) {
4402
- return zip(...otherInputs);
4403
- }
4404
-
4405
- function partition(predicate, thisArg) {
4406
- return (source) => [filter(predicate, thisArg)(source), filter(not(predicate, thisArg))(source)];
4407
- }
4408
-
4409
- function race(...args) {
4410
- return raceWith(...argsOrArgArray(args));
4411
- }
4412
-
4413
- const catScrollableCss = ":host{overflow:hidden;position:relative;display:flex}:host([hidden]){display:none}.shadow-bottom,.shadow-right,.shadow-left,.shadow-top{position:absolute;transition:box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1)}.shadow-top{z-index:2;width:100%;top:0}.shadow-left{z-index:4;height:100%;left:0}.shadow-right{z-index:4;height:100%;right:0}.shadow-bottom{z-index:2;width:100%;bottom:0}.scrollable-wrapper{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.scrollable-wrapper.cat-scrollable-top .shadow-top,.scrollable-wrapper.cat-scrollable-bottom .shadow-bottom,.scrollable-wrapper.cat-scrollable-left .shadow-left,.scrollable-wrapper.cat-scrollable-right .shadow-right{box-shadow:0 0 4px 1px rgba(16, 29, 48, 0.2)}.scrollable-content{overflow:hidden;white-space:nowrap}.scrollable-content.scroll-x{overflow-x:auto}.scrollable-content.scroll-y{overflow-y:auto}.scrollable-content.no-overscroll{overscroll-behavior:contain}";
4414
-
4415
- const CatScrollable = class {
4416
- constructor(hostRef) {
4417
- index.registerInstance(this, hostRef);
4418
- this.scrolledTop = index.createEvent(this, "scrolledTop", 7);
4419
- this.scrolledLeft = index.createEvent(this, "scrolledLeft", 7);
4420
- this.scrolledRight = index.createEvent(this, "scrolledRight", 7);
4421
- this.scrolledBottom = index.createEvent(this, "scrolledBottom", 7);
4422
- this.init = new Subject();
4423
- this.destroyed = new Subject();
4424
- /** Flags to enable/disable scroll shadowX. */
4425
- this.shadowX = true;
4426
- /** Flags to enable/disable scroll shadowY. */
4427
- this.shadowY = true;
4428
- /** Flags to enable/disable overflowX. */
4429
- this.overflowX = true;
4430
- /** Flags to enable/disable overflowY. */
4431
- this.overflowY = true;
4432
- /** Flag to enable/disable overscroll behavior. */
4433
- this.overscroll = true;
4434
- /**
4435
- * Flag to fire an initial event after content initialization.
4436
- */
4437
- this.scrolledInit = true;
4438
- /**
4439
- * Buffer to be used to calculate the scroll distance.
4440
- */
4441
- this.scrolledBuffer = 0;
4442
- }
4443
- componentDidRender() {
4444
- if (this.scrollElement) {
4445
- this.scrolled = fromEvent(this.scrollElement, 'scroll').pipe(takeUntil(this.destroyed));
4446
- }
4447
- this.attachEmitter('left', this.scrolledLeft, this.scrolledBuffer);
4448
- this.attachEmitter('right', this.scrolledRight, this.scrolledBuffer);
4449
- this.attachEmitter('bottom', this.scrolledBottom, this.scrolledBuffer);
4450
- this.attachEmitter('top', this.scrolledTop, this.scrolledBuffer);
4451
- merge$1(this.init, this.scrolled)
4452
- .pipe(map(() => ({
4453
- top: this.getScrollOffset('top') > 0,
4454
- left: this.getScrollOffset('left') > 0,
4455
- right: this.getScrollOffset('right') > 0,
4456
- bottom: this.getScrollOffset('bottom') > 0
4457
- })), distinctUntilChanged(), takeUntil(this.destroyed))
4458
- .subscribe(({ top, left, right, bottom }) => {
4459
- this.toggleClass('cat-scrollable-top', top);
4460
- this.toggleClass('cat-scrollable-left', left);
4461
- this.toggleClass('cat-scrollable-right', right);
4462
- this.toggleClass('cat-scrollable-bottom', bottom);
4463
- });
4464
- }
4465
- componentDidLoad() {
4466
- if (this.scrolledInit) {
4467
- this.init.next();
4468
- }
4469
- }
4470
- disconnectedCallback() {
4471
- this.init.complete();
4472
- this.destroyed.next();
4473
- this.destroyed.complete();
4474
- }
4475
- render() {
4476
- return [
4477
- index.h("div", { class: "scrollable-wrapper", ref: el => (this.scrollWrapperElement = el) }, this.shadowY && index.h("div", { class: "shadow-top" }), this.shadowX && index.h("div", { class: "shadow-left" }), this.shadowX && index.h("div", { class: "shadow-right" }), this.shadowY && index.h("div", { class: "shadow-bottom" })),
4478
- index.h("div", { ref: el => (this.scrollElement = el), class: {
4479
- 'scrollable-content': true,
4480
- 'scroll-x': this.overflowX,
4481
- 'scroll-y': this.overflowY,
4482
- 'no-overscroll': !this.overscroll
4483
- } }, index.h("slot", null))
4484
- ];
4485
- }
4486
- attachEmitter(from, emitter, buffer) {
4487
- merge$1(this.init, this.scrolled)
4488
- .pipe(map(() => this.getScrollOffset(from)))
4489
- .pipe(map(offset => offset <= buffer))
4490
- .pipe(distinctUntilChanged())
4491
- .pipe(filter(isLower => isLower))
4492
- .pipe(takeUntil(this.destroyed))
4493
- .subscribe(() => emitter.emit());
4494
- }
4495
- getScrollOffset(from) {
4496
- if (this.scrollElement) {
4497
- switch (from) {
4498
- case 'top':
4499
- return this.scrollElement.scrollTop;
4500
- case 'left':
4501
- return this.scrollElement.scrollLeft;
4502
- case 'right':
4503
- return this.scrollElement.scrollWidth - this.scrollElement.clientWidth - this.scrollElement.scrollLeft;
4504
- case 'bottom':
4505
- return this.scrollElement.scrollHeight - this.scrollElement.clientHeight - this.scrollElement.scrollTop;
4506
- default:
4507
- return 0;
4508
- }
4509
- }
4510
- return 0;
4511
- }
4512
- toggleClass(name, value) {
4513
- var _a, _b;
4514
- if (value) {
4515
- (_a = this.scrollWrapperElement) === null || _a === void 0 ? void 0 : _a.classList.add(name);
4516
- }
4517
- else {
4518
- (_b = this.scrollWrapperElement) === null || _b === void 0 ? void 0 : _b.classList.remove(name);
4519
- }
4520
- }
4521
- };
4522
- CatScrollable.style = catScrollableCss;
4523
-
4524
- exports.cat_scrollable = CatScrollable;
4525
-
4526
- //# sourceMappingURL=cat-scrollable.cjs.entry.js.map