botframework-webchat-core 4.18.1 → 4.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (547) hide show
  1. package/LICENSE +21 -0
  2. package/activity.js +3 -0
  3. package/boot/deprecated/activity.js +7 -0
  4. package/boot/deprecated/activity.mjs +5 -0
  5. package/boot/deprecated/graph.js +7 -0
  6. package/boot/deprecated/graph.mjs +5 -0
  7. package/boot/deprecated/internal.js +7 -0
  8. package/boot/deprecated/internal.mjs +5 -0
  9. package/dist/WebChatActivity-CYqxBG_4.d.mts +271 -0
  10. package/dist/WebChatActivity-CYqxBG_4.d.ts +271 -0
  11. package/dist/_dtsroll-chunks/B7Whm73Q-tagged.d.ts +71 -0
  12. package/dist/_dtsroll-chunks/C-MxR98A-botframework-webchat-core-debug-api.d.ts +135 -0
  13. package/dist/_dtsroll-chunks/CAquHfZK-botframework-webchat-base.utils.d.ts +17 -0
  14. package/dist/_dtsroll-chunks/CDVed0Q--botframework-webchat-core.org-schema.d.ts +601 -0
  15. package/dist/_dtsroll-chunks/vlDgTKWF-botframework-webchat-core-graph.d.ts +239 -0
  16. package/dist/botframework-webchat-core.activity.d.mts +23 -0
  17. package/dist/botframework-webchat-core.activity.d.ts +23 -0
  18. package/dist/botframework-webchat-core.activity.js +2 -0
  19. package/dist/botframework-webchat-core.activity.js.map +1 -0
  20. package/dist/botframework-webchat-core.activity.mjs +2 -0
  21. package/dist/botframework-webchat-core.activity.mjs.map +1 -0
  22. package/dist/botframework-webchat-core.d.mts +267 -662
  23. package/dist/botframework-webchat-core.d.ts +556 -0
  24. package/dist/botframework-webchat-core.graph.d.mts +9 -0
  25. package/dist/botframework-webchat-core.graph.d.ts +9 -0
  26. package/dist/botframework-webchat-core.graph.js +2 -0
  27. package/dist/botframework-webchat-core.graph.js.map +1 -0
  28. package/dist/botframework-webchat-core.graph.mjs +2 -0
  29. package/dist/botframework-webchat-core.graph.mjs.map +1 -0
  30. package/dist/botframework-webchat-core.internal.d.mts +61 -0
  31. package/dist/botframework-webchat-core.internal.d.ts +61 -0
  32. package/dist/botframework-webchat-core.internal.js +2 -0
  33. package/dist/botframework-webchat-core.internal.js.map +1 -0
  34. package/dist/botframework-webchat-core.internal.mjs +2 -0
  35. package/dist/botframework-webchat-core.internal.mjs.map +1 -0
  36. package/dist/botframework-webchat-core.js +2 -0
  37. package/dist/botframework-webchat-core.js.map +1 -0
  38. package/dist/botframework-webchat-core.json-ld.d.mts +2 -0
  39. package/dist/botframework-webchat-core.json-ld.d.ts +2 -0
  40. package/dist/botframework-webchat-core.json-ld.js +2 -0
  41. package/dist/botframework-webchat-core.json-ld.js.map +1 -0
  42. package/dist/botframework-webchat-core.json-ld.mjs +2 -0
  43. package/dist/botframework-webchat-core.json-ld.mjs.map +1 -0
  44. package/dist/botframework-webchat-core.mjs +1 -2
  45. package/dist/botframework-webchat-core.mjs.map +1 -1
  46. package/dist/botframework-webchat-core.org-schema.d.mts +2 -0
  47. package/dist/botframework-webchat-core.org-schema.d.ts +2 -0
  48. package/dist/botframework-webchat-core.org-schema.js +2 -0
  49. package/dist/botframework-webchat-core.org-schema.js.map +1 -0
  50. package/dist/botframework-webchat-core.org-schema.mjs +2 -0
  51. package/dist/botframework-webchat-core.org-schema.mjs.map +1 -0
  52. package/dist/chunk-A4GEFYZJ.mjs +2 -0
  53. package/dist/chunk-A4GEFYZJ.mjs.map +1 -0
  54. package/dist/chunk-HZWWJL43.mjs +2 -0
  55. package/dist/chunk-HZWWJL43.mjs.map +1 -0
  56. package/dist/chunk-ICNZKQJW.mjs +2 -0
  57. package/dist/chunk-ICNZKQJW.mjs.map +1 -0
  58. package/dist/chunk-K6E6QQMQ.js +2 -0
  59. package/dist/chunk-K6E6QQMQ.js.map +1 -0
  60. package/dist/chunk-KPT5FBH2.mjs +2 -0
  61. package/dist/chunk-KPT5FBH2.mjs.map +1 -0
  62. package/dist/chunk-LO5BZSVE.js +2 -0
  63. package/dist/chunk-LO5BZSVE.js.map +1 -0
  64. package/dist/chunk-LP2X2JTR.js +2 -0
  65. package/dist/chunk-LP2X2JTR.js.map +1 -0
  66. package/dist/chunk-RUERYYZO.js +2 -0
  67. package/dist/chunk-RUERYYZO.js.map +1 -0
  68. package/dist/chunk-XOE3AOSM.js +2 -0
  69. package/dist/chunk-XOE3AOSM.js.map +1 -0
  70. package/dist/chunk-Y6ZDNVRT.mjs +2 -0
  71. package/dist/chunk-Y6ZDNVRT.mjs.map +1 -0
  72. package/{lib/createStore.d.ts → dist/createStore-CcvouBrW.d.mts} +29 -7
  73. package/dist/createStore-CcvouBrW.d.ts +65 -0
  74. package/dist/metafile-cjs.json +1 -0
  75. package/dist/metafile-esm.json +1 -1
  76. package/graph.js +3 -0
  77. package/internal.js +3 -0
  78. package/json-ld.js +3 -0
  79. package/org-schema.js +3 -0
  80. package/package.json +147 -73
  81. package/src/__tests__/activityFromBot.spec.js +2 -0
  82. package/src/__tests__/addMetaTag.spec.js +8 -0
  83. package/src/__tests__/addMetaTag.spec.mjs +8 -0
  84. package/src/__tests__/connectSaga.spec.js +2 -0
  85. package/src/__tests__/deleteKey.spec.js +2 -0
  86. package/src/__tests__/detectSlowConnectionSaga.spec.js +3 -1
  87. package/src/__tests__/observeOnce.spec.js +2 -0
  88. package/src/__tests__/speakableActivity.spec.js +2 -0
  89. package/src/__tests__/uniqueID.spec.js +2 -0
  90. package/src/actions/clearSuggestedActions.ts +20 -0
  91. package/src/actions/{connect.js → connect.ts} +9 -1
  92. package/src/actions/muteVoiceRecording.ts +17 -0
  93. package/src/actions/postVoiceActivity.ts +21 -0
  94. package/src/actions/registerActionSink.ts +29 -0
  95. package/src/actions/registerVoiceHandler.ts +24 -0
  96. package/src/actions/{sendEvent.js → sendEvent.ts} +1 -1
  97. package/src/actions/{sendMessageBack.js → sendMessageBack.ts} +1 -1
  98. package/src/actions/{sendPostBack.js → sendPostBack.ts} +1 -1
  99. package/src/actions/{setDictateInterims.js → setDictateInterims.ts} +1 -1
  100. package/src/actions/{setDictateState.js → setDictateState.ts} +1 -1
  101. package/src/actions/{setLanguage.js → setLanguage.ts} +1 -1
  102. package/src/actions/{setSendBox.js → setSendBox.ts} +1 -1
  103. package/src/actions/{setSendTimeout.js → setSendTimeout.ts} +1 -1
  104. package/src/actions/setSendTypingIndicator.ts +1 -1
  105. package/src/actions/setSuggestedActions.ts +35 -0
  106. package/src/actions/setVoiceState.ts +21 -0
  107. package/src/actions/startVoiceRecording.ts +17 -0
  108. package/src/actions/stopVoiceRecording.ts +17 -0
  109. package/src/actions/{submitSendBox.js → submitSendBox.ts} +1 -1
  110. package/src/actions/unmuteVoiceRecording.ts +17 -0
  111. package/src/actions/unregisterActionSink.ts +29 -0
  112. package/src/actions/unregisterVoiceHandler.ts +19 -0
  113. package/src/boot/activity.ts +19 -0
  114. package/src/boot/graph.ts +18 -0
  115. package/src/boot/internal.ts +11 -0
  116. package/src/boot/json-ld.ts +6 -0
  117. package/src/boot/org-schema.ts +29 -0
  118. package/src/buildInfo.ts +9 -0
  119. package/src/constants/{ActivityClientState.js → ActivityClientState.ts} +3 -3
  120. package/src/constants/DictateState.ts +10 -0
  121. package/src/createPromiseQueue.js +8 -6
  122. package/src/createReducer.ts +28 -20
  123. package/src/createSagas.ts +6 -3
  124. package/src/createStore.ts +26 -10
  125. package/src/env.d.ts +12 -0
  126. package/src/graph/createGraphFromStore.ts +121 -0
  127. package/src/index.ts +62 -45
  128. package/src/internal/StoreDebugAPIRegistry.ts +4 -0
  129. package/src/internal/actions/setRawState.ts +48 -0
  130. package/src/internal/types/suggestedActions.ts +11 -0
  131. package/src/internal/types/suggestedActionsOriginActivity.ts +16 -0
  132. package/src/reducers/activities/combineActivitiesReducer.ts +58 -0
  133. package/src/reducers/activities/createGroupedActivitiesReducer.ts +297 -0
  134. package/src/reducers/activities/patchActivity.ts +37 -0
  135. package/src/reducers/activities/sort/deleteActivityByLocalId.activity.spec.ts +144 -0
  136. package/src/reducers/activities/sort/deleteActivityByLocalId.howTo.spec.ts +148 -0
  137. package/src/reducers/activities/sort/deleteActivityByLocalId.howToWithLivestream.spec.ts +248 -0
  138. package/src/reducers/activities/sort/deleteActivityByLocalId.livestream.spec.ts +156 -0
  139. package/src/reducers/activities/sort/deleteActivityByLocalId.ts +177 -0
  140. package/src/reducers/activities/sort/private/computePartListTimestamp.ts +9 -0
  141. package/src/reducers/activities/sort/private/computeSortedActivities.ts +51 -0
  142. package/src/reducers/activities/sort/private/getLogicalTimestamp.spec.ts +49 -0
  143. package/src/reducers/activities/sort/private/getLogicalTimestamp.ts +33 -0
  144. package/src/reducers/activities/sort/private/getPartGroupingMetadataMap.spec.ts +92 -0
  145. package/src/reducers/activities/sort/private/getPartGroupingMetadataMap.ts +37 -0
  146. package/src/reducers/activities/sort/private/insertSorted.spec.ts +106 -0
  147. package/src/reducers/activities/sort/private/insertSorted.ts +18 -0
  148. package/src/reducers/activities/sort/property/LocalId.ts +60 -0
  149. package/src/reducers/activities/sort/property/Position.ts +39 -0
  150. package/src/reducers/activities/sort/property/ReceivedAt.ts +45 -0
  151. package/src/reducers/activities/sort/property/SendStatus.ts +51 -0
  152. package/src/reducers/activities/sort/queryLocalIdByActivityId.ts +6 -0
  153. package/src/reducers/activities/sort/queryLocalIdByClientActivityId.ts +6 -0
  154. package/src/reducers/activities/sort/types.ts +80 -0
  155. package/src/reducers/activities/sort/updateActivityChannelData.ts +101 -0
  156. package/src/reducers/activities/sort/updateSendState.ts +22 -0
  157. package/src/reducers/activities/sort/upsert.activity.spec.ts +500 -0
  158. package/src/reducers/activities/sort/upsert.howTo.spec.ts +368 -0
  159. package/src/reducers/activities/sort/upsert.howToWithLivestream.spec.ts +384 -0
  160. package/src/reducers/activities/sort/upsert.livestream.spec.ts +418 -0
  161. package/src/reducers/activities/sort/upsert.ts +498 -0
  162. package/src/reducers/activities/tsconfig.json +4 -0
  163. package/src/reducers/createNotificationsReducer.ts +4 -4
  164. package/src/reducers/suggestedActions.ts +21 -0
  165. package/src/reducers/suggestedActionsOriginActivity.ts +24 -0
  166. package/src/reducers/voiceActivity.ts +102 -0
  167. package/src/sagas/actionSinkSaga.ts +39 -0
  168. package/src/sagas/observeActivitySaga.ts +51 -1
  169. package/src/sagas/postActivitySaga.ts +17 -10
  170. package/src/sagas/postVoiceActivitySaga.ts +76 -0
  171. package/src/sagas/queueIncomingActivitySaga.ts +10 -4
  172. package/src/sagas/sendMessageToPostActivitySaga.ts +4 -1
  173. package/src/sagas/speakActivityAndStartDictateOnIncomingActivityFromOthersSaga.js +10 -4
  174. package/src/sagas/startDictateOnSpeakCompleteSaga.js +3 -3
  175. package/src/sagas/startSpeakActivityOnPostActivitySaga.js +15 -5
  176. package/src/sagas/stopDictateOnCardActionSaga.js +11 -3
  177. package/src/sagas/stopSpeakingActivityOnInputSaga.js +22 -4
  178. package/src/selectors/combineSelectors.ts +1 -1
  179. package/src/tsconfig.json +3 -15
  180. package/src/types/StoreDebugAPI.ts +25 -0
  181. package/src/types/WebChatActivity.ts +31 -14
  182. package/src/types/external/DirectLineActivity.ts +1 -1
  183. package/src/types/external/Observable.ts +4 -1
  184. package/src/types/internal/GlobalScopeClock.ts +10 -10
  185. package/src/types/internal/ReduxState.ts +2 -0
  186. package/src/types/internal/WebChatOutgoingActivity.ts +1 -1
  187. package/src/utils/dateToLocaleISOString.chatham.spec.js +1 -2
  188. package/src/utils/dateToLocaleISOString.japan.spec.js +1 -2
  189. package/src/utils/dateToLocaleISOString.newfoundland.spec.js +1 -2
  190. package/src/utils/dateToLocaleISOString.pacific.spec.js +1 -2
  191. package/src/utils/dateToLocaleISOString.utc.spec.js +1 -3
  192. package/src/utils/deleteKey.ts +1 -1
  193. package/src/utils/getActivityLivestreamingMetadata.spec.ts +297 -0
  194. package/src/utils/getActivityLivestreamingMetadata.ts +197 -0
  195. package/src/utils/getOrgSchemaMessage.spec.ts +4 -1
  196. package/src/utils/getOrgSchemaMessage.ts +16 -16
  197. package/src/utils/onErrorResumeNext.ts +1 -1
  198. package/src/utils/voiceActivity/getVoiceActivityRole.spec.ts +150 -0
  199. package/src/utils/voiceActivity/getVoiceActivityRole.ts +16 -0
  200. package/src/utils/voiceActivity/getVoiceActivityText.spec.ts +100 -0
  201. package/src/utils/voiceActivity/getVoiceActivityText.ts +11 -0
  202. package/src/utils/voiceActivity/isVoiceActivity.spec.ts +202 -0
  203. package/src/utils/voiceActivity/isVoiceActivity.ts +21 -0
  204. package/src/utils/voiceActivity/isVoiceTranscriptActivity.spec.ts +224 -0
  205. package/src/utils/voiceActivity/isVoiceTranscriptActivity.ts +24 -0
  206. package/dist/botframework-webchat-core.mjs.LEGAL.txt +0 -0
  207. package/lib/actions/clearSuggestedActions.js +0 -15
  208. package/lib/actions/connect.js +0 -33
  209. package/lib/actions/connectionStatusUpdate.js +0 -20
  210. package/lib/actions/deleteActivity.d.ts +0 -13
  211. package/lib/actions/deleteActivity.d.ts.map +0 -1
  212. package/lib/actions/deleteActivity.js +0 -19
  213. package/lib/actions/disconnect.js +0 -21
  214. package/lib/actions/dismissNotification.d.ts +0 -12
  215. package/lib/actions/dismissNotification.d.ts.map +0 -1
  216. package/lib/actions/dismissNotification.js +0 -19
  217. package/lib/actions/emitTypingIndicator.js +0 -15
  218. package/lib/actions/incomingActivity.d.ts +0 -14
  219. package/lib/actions/incomingActivity.d.ts.map +0 -1
  220. package/lib/actions/incomingActivity.js +0 -19
  221. package/lib/actions/markActivity.d.ts +0 -17
  222. package/lib/actions/markActivity.d.ts.map +0 -1
  223. package/lib/actions/markActivity.js +0 -22
  224. package/lib/actions/postActivity.d.ts +0 -64
  225. package/lib/actions/postActivity.d.ts.map +0 -1
  226. package/lib/actions/postActivity.js +0 -31
  227. package/lib/actions/queueIncomingActivity.js +0 -18
  228. package/lib/actions/reconnect.js +0 -17
  229. package/lib/actions/sagaError.d.ts +0 -8
  230. package/lib/actions/sagaError.d.ts.map +0 -1
  231. package/lib/actions/sagaError.js +0 -15
  232. package/lib/actions/sendEvent.js +0 -19
  233. package/lib/actions/sendFiles.d.ts +0 -19
  234. package/lib/actions/sendFiles.d.ts.map +0 -1
  235. package/lib/actions/sendFiles.js +0 -20
  236. package/lib/actions/sendMessage.d.ts +0 -19
  237. package/lib/actions/sendMessage.d.ts.map +0 -1
  238. package/lib/actions/sendMessage.js +0 -24
  239. package/lib/actions/sendMessageBack.js +0 -20
  240. package/lib/actions/sendPostBack.js +0 -18
  241. package/lib/actions/setClockSkewAdjustment.js +0 -12
  242. package/lib/actions/setDictateInterims.js +0 -18
  243. package/lib/actions/setDictateState.js +0 -18
  244. package/lib/actions/setLanguage.js +0 -18
  245. package/lib/actions/setNotification.d.ts +0 -10
  246. package/lib/actions/setNotification.d.ts.map +0 -1
  247. package/lib/actions/setNotification.js +0 -37
  248. package/lib/actions/setReferenceGrammarID.js +0 -18
  249. package/lib/actions/setSendBox.js +0 -18
  250. package/lib/actions/setSendBoxAttachments.d.ts +0 -13
  251. package/lib/actions/setSendBoxAttachments.d.ts.map +0 -1
  252. package/lib/actions/setSendBoxAttachments.js +0 -18
  253. package/lib/actions/setSendTimeout.js +0 -18
  254. package/lib/actions/setSendTypingIndicator.d.ts +0 -11
  255. package/lib/actions/setSendTypingIndicator.d.ts.map +0 -1
  256. package/lib/actions/setSendTypingIndicator.js +0 -18
  257. package/lib/actions/setSuggestedActions.js +0 -20
  258. package/lib/actions/startDictate.js +0 -15
  259. package/lib/actions/startSpeakingActivity.js +0 -15
  260. package/lib/actions/stopDictate.js +0 -15
  261. package/lib/actions/stopSpeakingActivity.js +0 -15
  262. package/lib/actions/submitSendBox.js +0 -22
  263. package/lib/actions/updateConnectionStatus.js +0 -18
  264. package/lib/constants/ActivityClientState.js +0 -16
  265. package/lib/constants/DictateState.js +0 -17
  266. package/lib/createPromiseQueue.js +0 -30
  267. package/lib/createReducer.d.ts +0 -60
  268. package/lib/createReducer.d.ts.map +0 -1
  269. package/lib/createReducer.js +0 -45
  270. package/lib/createSagas.d.ts +0 -8
  271. package/lib/createSagas.d.ts.map +0 -1
  272. package/lib/createSagas.js +0 -112
  273. package/lib/createStore.d.ts.map +0 -1
  274. package/lib/createStore.js +0 -131
  275. package/lib/definitions/activityFromBot.js +0 -11
  276. package/lib/definitions/speakableActivity.js +0 -10
  277. package/lib/definitions/speakingActivity.js +0 -13
  278. package/lib/index.d.ts +0 -76
  279. package/lib/index.d.ts.map +0 -1
  280. package/lib/index.js +0 -309
  281. package/lib/reducers/connectivityStatus.js +0 -49
  282. package/lib/reducers/createActivitiesReducer.d.ts +0 -12
  283. package/lib/reducers/createActivitiesReducer.d.ts.map +0 -1
  284. package/lib/reducers/createActivitiesReducer.js +0 -267
  285. package/lib/reducers/createInternalReducer.d.ts +0 -10
  286. package/lib/reducers/createInternalReducer.d.ts.map +0 -1
  287. package/lib/reducers/createInternalReducer.js +0 -19
  288. package/lib/reducers/createNotificationsReducer.d.ts +0 -11
  289. package/lib/reducers/createNotificationsReducer.d.ts.map +0 -1
  290. package/lib/reducers/createNotificationsReducer.js +0 -55
  291. package/lib/reducers/createTypingReducer.d.ts +0 -14
  292. package/lib/reducers/createTypingReducer.d.ts.map +0 -1
  293. package/lib/reducers/createTypingReducer.js +0 -50
  294. package/lib/reducers/dictateInterims.js +0 -23
  295. package/lib/reducers/dictateState.js +0 -38
  296. package/lib/reducers/language.js +0 -23
  297. package/lib/reducers/private/findBeforeAfter.d.ts +0 -4
  298. package/lib/reducers/private/findBeforeAfter.d.ts.map +0 -1
  299. package/lib/reducers/private/findBeforeAfter.js +0 -24
  300. package/lib/reducers/readyState.js +0 -23
  301. package/lib/reducers/referenceGrammarID.js +0 -23
  302. package/lib/reducers/sendBoxAttachments.d.ts +0 -9
  303. package/lib/reducers/sendBoxAttachments.d.ts.map +0 -1
  304. package/lib/reducers/sendBoxAttachments.js +0 -23
  305. package/lib/reducers/sendBoxValue.js +0 -23
  306. package/lib/reducers/sendTimeout.js +0 -23
  307. package/lib/reducers/sendTypingIndicator.js +0 -23
  308. package/lib/reducers/shouldSpeakIncomingActivity.js +0 -25
  309. package/lib/reducers/suggestedActions.js +0 -32
  310. package/lib/sagas/clearSuggestedActionsOnPostActivitySaga.js +0 -62
  311. package/lib/sagas/connectSaga.js +0 -445
  312. package/lib/sagas/connectionStatusToNotificationSaga.js +0 -107
  313. package/lib/sagas/connectionStatusUpdateSaga.js +0 -63
  314. package/lib/sagas/detectSlowConnectionSaga.d.ts +0 -5
  315. package/lib/sagas/detectSlowConnectionSaga.d.ts.map +0 -1
  316. package/lib/sagas/detectSlowConnectionSaga.js +0 -50
  317. package/lib/sagas/effects/forever.js +0 -19
  318. package/lib/sagas/effects/forkPut.js +0 -51
  319. package/lib/sagas/effects/observeEach.js +0 -45
  320. package/lib/sagas/effects/observeOnce.d.ts +0 -3
  321. package/lib/sagas/effects/observeOnce.d.ts.map +0 -1
  322. package/lib/sagas/effects/observeOnce.js +0 -42
  323. package/lib/sagas/effects/whileConnected.d.ts +0 -7
  324. package/lib/sagas/effects/whileConnected.d.ts.map +0 -1
  325. package/lib/sagas/effects/whileConnected.js +0 -55
  326. package/lib/sagas/emitTypingIndicatorToPostActivitySaga.js +0 -63
  327. package/lib/sagas/markAllAsSpokenOnStopSpeakActivitySaga.js +0 -78
  328. package/lib/sagas/observeActivitySaga.d.ts +0 -2
  329. package/lib/sagas/observeActivitySaga.d.ts.map +0 -1
  330. package/lib/sagas/observeActivitySaga.js +0 -117
  331. package/lib/sagas/postActivitySaga.d.ts +0 -3
  332. package/lib/sagas/postActivitySaga.d.ts.map +0 -1
  333. package/lib/sagas/postActivitySaga.js +0 -264
  334. package/lib/sagas/queueIncomingActivitySaga.d.ts +0 -3
  335. package/lib/sagas/queueIncomingActivitySaga.d.ts.map +0 -1
  336. package/lib/sagas/queueIncomingActivitySaga.js +0 -197
  337. package/lib/sagas/sendEventToPostActivitySaga.js +0 -68
  338. package/lib/sagas/sendFilesToPostActivitySaga.js +0 -85
  339. package/lib/sagas/sendMessageBackToPostActivitySaga.js +0 -70
  340. package/lib/sagas/sendMessageToPostActivitySaga.d.ts +0 -2
  341. package/lib/sagas/sendMessageToPostActivitySaga.d.ts.map +0 -1
  342. package/lib/sagas/sendMessageToPostActivitySaga.js +0 -91
  343. package/lib/sagas/sendPostBackToPostActivitySaga.js +0 -69
  344. package/lib/sagas/sendTypingIndicatorOnSetSendBoxSaga.d.ts +0 -3
  345. package/lib/sagas/sendTypingIndicatorOnSetSendBoxSaga.d.ts.map +0 -1
  346. package/lib/sagas/sendTypingIndicatorOnSetSendBoxSaga.js +0 -145
  347. package/lib/sagas/speakActivityAndStartDictateOnIncomingActivityFromOthersSaga.js +0 -106
  348. package/lib/sagas/startDictateOnSpeakCompleteSaga.js +0 -65
  349. package/lib/sagas/startSpeakActivityOnPostActivitySaga.js +0 -62
  350. package/lib/sagas/stopDictateOnCardActionSaga.js +0 -65
  351. package/lib/sagas/stopSpeakingActivityOnInputSaga.js +0 -68
  352. package/lib/sagas/submitSendBoxSaga.js +0 -84
  353. package/lib/selectors/activities.d.ts +0 -9
  354. package/lib/selectors/activities.d.ts.map +0 -1
  355. package/lib/selectors/activities.js +0 -33
  356. package/lib/selectors/combineSelectors.js +0 -31
  357. package/lib/selectors/dictateState.js +0 -12
  358. package/lib/selectors/language.d.ts +0 -4
  359. package/lib/selectors/language.d.ts.map +0 -1
  360. package/lib/selectors/language.js +0 -12
  361. package/lib/selectors/notifications.js +0 -13
  362. package/lib/selectors/sendBoxAttachments.js +0 -11
  363. package/lib/selectors/sendBoxValue.js +0 -12
  364. package/lib/selectors/sendTimeout.d.ts +0 -4
  365. package/lib/selectors/sendTimeout.d.ts.map +0 -1
  366. package/lib/selectors/sendTimeout.js +0 -12
  367. package/lib/selectors/sendTypingIndicator.d.ts +0 -4
  368. package/lib/selectors/sendTypingIndicator.d.ts.map +0 -1
  369. package/lib/selectors/sendTypingIndicator.js +0 -12
  370. package/lib/selectors/shouldSpeakIncomingActivity.js +0 -12
  371. package/lib/types/AnyAnd.d.ts +0 -2
  372. package/lib/types/AnyAnd.d.ts.map +0 -1
  373. package/lib/types/AnyAnd.js +0 -6
  374. package/lib/types/GlobalScopePonyfill.d.ts +0 -8
  375. package/lib/types/GlobalScopePonyfill.d.ts.map +0 -1
  376. package/lib/types/GlobalScopePonyfill.js +0 -6
  377. package/lib/types/OneOrMany.d.ts +0 -3
  378. package/lib/types/OneOrMany.d.ts.map +0 -1
  379. package/lib/types/OneOrMany.js +0 -6
  380. package/lib/types/SendBoxAttachment.d.ts +0 -5
  381. package/lib/types/SendBoxAttachment.d.ts.map +0 -1
  382. package/lib/types/SendBoxAttachment.js +0 -6
  383. package/lib/types/WebChatActivity.d.ts +0 -128
  384. package/lib/types/WebChatActivity.d.ts.map +0 -1
  385. package/lib/types/WebChatActivity.js +0 -6
  386. package/lib/types/external/DirectLineActivity.d.ts +0 -3
  387. package/lib/types/external/DirectLineActivity.d.ts.map +0 -1
  388. package/lib/types/external/DirectLineActivity.js +0 -6
  389. package/lib/types/external/DirectLineAnimationCard.d.ts +0 -6
  390. package/lib/types/external/DirectLineAnimationCard.d.ts.map +0 -1
  391. package/lib/types/external/DirectLineAnimationCard.js +0 -6
  392. package/lib/types/external/DirectLineAttachment.d.ts +0 -9
  393. package/lib/types/external/DirectLineAttachment.d.ts.map +0 -1
  394. package/lib/types/external/DirectLineAttachment.js +0 -6
  395. package/lib/types/external/DirectLineAudioCard.d.ts +0 -6
  396. package/lib/types/external/DirectLineAudioCard.d.ts.map +0 -1
  397. package/lib/types/external/DirectLineAudioCard.js +0 -6
  398. package/lib/types/external/DirectLineBasicCardEssence.d.ts +0 -12
  399. package/lib/types/external/DirectLineBasicCardEssence.d.ts.map +0 -1
  400. package/lib/types/external/DirectLineBasicCardEssence.js +0 -6
  401. package/lib/types/external/DirectLineCardAction.d.ts +0 -110
  402. package/lib/types/external/DirectLineCardAction.d.ts.map +0 -1
  403. package/lib/types/external/DirectLineCardAction.js +0 -6
  404. package/lib/types/external/DirectLineCardImage.d.ts +0 -8
  405. package/lib/types/external/DirectLineCardImage.d.ts.map +0 -1
  406. package/lib/types/external/DirectLineCardImage.js +0 -6
  407. package/lib/types/external/DirectLineHeroCard.d.ts +0 -6
  408. package/lib/types/external/DirectLineHeroCard.d.ts.map +0 -1
  409. package/lib/types/external/DirectLineHeroCard.js +0 -6
  410. package/lib/types/external/DirectLineJSBotConnection.d.ts +0 -3
  411. package/lib/types/external/DirectLineJSBotConnection.d.ts.map +0 -1
  412. package/lib/types/external/DirectLineJSBotConnection.js +0 -6
  413. package/lib/types/external/DirectLineMediaCardEssence.d.ts +0 -21
  414. package/lib/types/external/DirectLineMediaCardEssence.d.ts.map +0 -1
  415. package/lib/types/external/DirectLineMediaCardEssence.js +0 -6
  416. package/lib/types/external/DirectLineOAuthCard.d.ts +0 -8
  417. package/lib/types/external/DirectLineOAuthCard.d.ts.map +0 -1
  418. package/lib/types/external/DirectLineOAuthCard.js +0 -6
  419. package/lib/types/external/DirectLineReceiptCard.d.ts +0 -28
  420. package/lib/types/external/DirectLineReceiptCard.d.ts.map +0 -1
  421. package/lib/types/external/DirectLineReceiptCard.js +0 -6
  422. package/lib/types/external/DirectLineSignInCard.d.ts +0 -8
  423. package/lib/types/external/DirectLineSignInCard.d.ts.map +0 -1
  424. package/lib/types/external/DirectLineSignInCard.js +0 -6
  425. package/lib/types/external/DirectLineSuggestedAction.d.ts +0 -7
  426. package/lib/types/external/DirectLineSuggestedAction.d.ts.map +0 -1
  427. package/lib/types/external/DirectLineSuggestedAction.js +0 -6
  428. package/lib/types/external/DirectLineThumbnailCard.d.ts +0 -6
  429. package/lib/types/external/DirectLineThumbnailCard.d.ts.map +0 -1
  430. package/lib/types/external/DirectLineThumbnailCard.js +0 -6
  431. package/lib/types/external/DirectLineVideoCard.d.ts +0 -6
  432. package/lib/types/external/DirectLineVideoCard.d.ts.map +0 -1
  433. package/lib/types/external/DirectLineVideoCard.js +0 -6
  434. package/lib/types/external/Observable.d.ts +0 -49
  435. package/lib/types/external/Observable.d.ts.map +0 -1
  436. package/lib/types/external/Observable.js +0 -6
  437. package/lib/types/external/OrgSchema/Action.d.ts +0 -29
  438. package/lib/types/external/OrgSchema/Action.d.ts.map +0 -1
  439. package/lib/types/external/OrgSchema/Action.js +0 -38
  440. package/lib/types/external/OrgSchema/Claim.d.ts +0 -35
  441. package/lib/types/external/OrgSchema/Claim.d.ts.map +0 -1
  442. package/lib/types/external/OrgSchema/Claim.js +0 -41
  443. package/lib/types/external/OrgSchema/CreativeWork.d.ts +0 -57
  444. package/lib/types/external/OrgSchema/CreativeWork.d.ts.map +0 -1
  445. package/lib/types/external/OrgSchema/CreativeWork.js +0 -52
  446. package/lib/types/external/OrgSchema/DefinedTerm.d.ts +0 -26
  447. package/lib/types/external/OrgSchema/DefinedTerm.d.ts.map +0 -1
  448. package/lib/types/external/OrgSchema/DefinedTerm.js +0 -33
  449. package/lib/types/external/OrgSchema/Project.d.ts +0 -20
  450. package/lib/types/external/OrgSchema/Project.d.ts.map +0 -1
  451. package/lib/types/external/OrgSchema/Project.js +0 -32
  452. package/lib/types/external/OrgSchema/Thing.d.ts +0 -53
  453. package/lib/types/external/OrgSchema/Thing.d.ts.map +0 -1
  454. package/lib/types/external/OrgSchema/Thing.js +0 -54
  455. package/lib/types/external/OrgSchema/VoteAction.d.ts +0 -22
  456. package/lib/types/external/OrgSchema/VoteAction.d.ts.map +0 -1
  457. package/lib/types/external/OrgSchema/VoteAction.js +0 -34
  458. package/lib/types/external/OrgSchema/private/orgSchemaProperties.d.ts +0 -3
  459. package/lib/types/external/OrgSchema/private/orgSchemaProperties.d.ts.map +0 -1
  460. package/lib/types/external/OrgSchema/private/orgSchemaProperties.js +0 -22
  461. package/lib/types/external/OrgSchema/private/orgSchemaProperty.d.ts +0 -4
  462. package/lib/types/external/OrgSchema/private/orgSchemaProperty.d.ts.map +0 -1
  463. package/lib/types/external/OrgSchema/private/orgSchemaProperty.js +0 -15
  464. package/lib/types/internal/GlobalScopeClock.d.ts +0 -15
  465. package/lib/types/internal/GlobalScopeClock.d.ts.map +0 -1
  466. package/lib/types/internal/GlobalScopeClock.js +0 -6
  467. package/lib/types/internal/Notification.d.ts +0 -10
  468. package/lib/types/internal/Notification.d.ts.map +0 -1
  469. package/lib/types/internal/Notification.js +0 -6
  470. package/lib/types/internal/ReduxState.d.ts +0 -19
  471. package/lib/types/internal/ReduxState.d.ts.map +0 -1
  472. package/lib/types/internal/ReduxState.js +0 -6
  473. package/lib/types/internal/SendStatus.d.ts +0 -7
  474. package/lib/types/internal/SendStatus.d.ts.map +0 -1
  475. package/lib/types/internal/SendStatus.js +0 -19
  476. package/lib/types/internal/WebChatOutgoingActivity.d.ts +0 -49
  477. package/lib/types/internal/WebChatOutgoingActivity.d.ts.map +0 -1
  478. package/lib/types/internal/WebChatOutgoingActivity.js +0 -6
  479. package/lib/utils/dateToLocaleISOString.d.ts +0 -2
  480. package/lib/utils/dateToLocaleISOString.d.ts.map +0 -1
  481. package/lib/utils/dateToLocaleISOString.js +0 -52
  482. package/lib/utils/deleteKey.d.ts +0 -2
  483. package/lib/utils/deleteKey.d.ts.map +0 -1
  484. package/lib/utils/deleteKey.js +0 -30
  485. package/lib/utils/getOrgSchemaMessage.d.ts +0 -4
  486. package/lib/utils/getOrgSchemaMessage.d.ts.map +0 -1
  487. package/lib/utils/getOrgSchemaMessage.js +0 -21
  488. package/lib/utils/isForbiddenPropertyName.d.ts +0 -2
  489. package/lib/utils/isForbiddenPropertyName.d.ts.map +0 -1
  490. package/lib/utils/isForbiddenPropertyName.js +0 -16
  491. package/lib/utils/onErrorResumeNext.d.ts +0 -3
  492. package/lib/utils/onErrorResumeNext.d.ts.map +0 -1
  493. package/lib/utils/onErrorResumeNext.js +0 -19
  494. package/lib/utils/once.d.ts +0 -2
  495. package/lib/utils/once.d.ts.map +0 -1
  496. package/lib/utils/once.js +0 -16
  497. package/lib/utils/singleToArray.d.ts +0 -2
  498. package/lib/utils/singleToArray.d.ts.map +0 -1
  499. package/lib/utils/singleToArray.js +0 -10
  500. package/lib/utils/sleep.d.ts +0 -3
  501. package/lib/utils/sleep.d.ts.map +0 -1
  502. package/lib/utils/sleep.js +0 -12
  503. package/lib/utils/uniqueID.d.ts +0 -2
  504. package/lib/utils/uniqueID.d.ts.map +0 -1
  505. package/lib/utils/uniqueID.js +0 -14
  506. package/lib/utils/warnOnce.d.ts +0 -2
  507. package/lib/utils/warnOnce.d.ts.map +0 -1
  508. package/lib/utils/warnOnce.js +0 -14
  509. package/src/actions/clearSuggestedActions.js +0 -9
  510. package/src/actions/setSuggestedActions.js +0 -12
  511. package/src/constants/DictateState.js +0 -7
  512. package/src/reducers/createActivitiesReducer.ts +0 -304
  513. package/src/reducers/private/findBeforeAfter.spec.ts +0 -90
  514. package/src/reducers/private/findBeforeAfter.ts +0 -30
  515. package/src/reducers/suggestedActions.js +0 -23
  516. package/src/types/OneOrMany.ts +0 -3
  517. package/src/types/external/OrgSchema/Action.spec.ts +0 -35
  518. package/src/types/external/OrgSchema/Action.ts +0 -52
  519. package/src/types/external/OrgSchema/Claim.spec.ts +0 -45
  520. package/src/types/external/OrgSchema/Claim.ts +0 -48
  521. package/src/types/external/OrgSchema/CreativeWork.parseCreativeWork.spec.ts +0 -51
  522. package/src/types/external/OrgSchema/CreativeWork.ts +0 -83
  523. package/src/types/external/OrgSchema/DefinedTerm.ts +0 -37
  524. package/src/types/external/OrgSchema/Project.parseProject.spec.ts +0 -17
  525. package/src/types/external/OrgSchema/Project.ts +0 -29
  526. package/src/types/external/OrgSchema/Thing.parseThing.spec.ts +0 -54
  527. package/src/types/external/OrgSchema/Thing.ts +0 -94
  528. package/src/types/external/OrgSchema/VoteAction.spec.ts +0 -35
  529. package/src/types/external/OrgSchema/VoteAction.ts +0 -31
  530. package/src/types/external/OrgSchema/private/orgSchemaProperties.spec.ts +0 -41
  531. package/src/types/external/OrgSchema/private/orgSchemaProperties.ts +0 -23
  532. package/src/types/external/OrgSchema/private/orgSchemaProperty.spec.ts +0 -21
  533. package/src/types/external/OrgSchema/private/orgSchemaProperty.ts +0 -6
  534. package/src/utils/isForbiddenPropertyName.spec.js +0 -6
  535. package/src/utils/isForbiddenPropertyName.ts +0 -33
  536. package/src/utils/singleToArray.ts +0 -3
  537. package/src/utils/warnOnce.ts +0 -5
  538. /package/src/actions/{connectionStatusUpdate.js → connectionStatusUpdate.ts} +0 -0
  539. /package/src/actions/{disconnect.js → disconnect.ts} +0 -0
  540. /package/src/actions/{emitTypingIndicator.js → emitTypingIndicator.ts} +0 -0
  541. /package/src/actions/{queueIncomingActivity.js → queueIncomingActivity.ts} +0 -0
  542. /package/src/actions/{reconnect.js → reconnect.ts} +0 -0
  543. /package/src/actions/{startDictate.js → startDictate.ts} +0 -0
  544. /package/src/actions/{startSpeakingActivity.js → startSpeakingActivity.ts} +0 -0
  545. /package/src/actions/{stopDictate.js → stopDictate.ts} +0 -0
  546. /package/src/actions/{stopSpeakingActivity.js → stopSpeakingActivity.ts} +0 -0
  547. /package/src/actions/{updateConnectionStatus.js → updateConnectionStatus.ts} +0 -0
@@ -1,267 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = createActivitiesReducer;
8
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
- var _simpleUpdateIn = _interopRequireDefault(require("simple-update-in"));
11
- var _deleteActivity = require("../actions/deleteActivity");
12
- var _incomingActivity = require("../actions/incomingActivity");
13
- var _markActivity = require("../actions/markActivity");
14
- var _postActivity = require("../actions/postActivity");
15
- var _SendStatus = require("../types/internal/SendStatus");
16
- var _findBeforeAfter3 = _interopRequireDefault(require("./private/findBeforeAfter"));
17
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } /* eslint no-magic-numbers: ["error", { "ignore": [0, 1, -1] }] */
19
- var DEFAULT_STATE = [];
20
- var DIRECT_LINE_PLACEHOLDER_URL = 'https://docs.botframework.com/static/devportal/client/images/bot-framework-default-placeholder.png';
21
- function getClientActivityID(activity) {
22
- var _activity$channelData;
23
- return (_activity$channelData = activity.channelData) === null || _activity$channelData === void 0 ? void 0 : _activity$channelData.clientActivityID;
24
- }
25
- function findByClientActivityID(clientActivityID) {
26
- return function (activity) {
27
- return getClientActivityID(activity) === clientActivityID;
28
- };
29
- }
30
- function isPartOfLivestreamSession(activity) {
31
- return activity.type === 'typing' && 'text' in activity && typeof activity.text === 'string';
32
- }
33
- function patchActivity(activity, activities, _ref) {
34
- var Date = _ref.Date;
35
- // Direct Line channel will return a placeholder image for the user-uploaded image.
36
- // As observed, the URL for the placeholder image is https://docs.botframework.com/static/devportal/client/images/bot-framework-default-placeholder.png.
37
- // To make our code simpler, we are removing the value if "contentUrl" is pointing to a placeholder image.
38
-
39
- // TODO: [P2] #2869 This "contentURL" removal code should be moved to DirectLineJS adapter.
40
-
41
- // Also, if the "contentURL" starts with "blob:", this means the user is uploading a file (the URL is constructed by URL.createObjectURL)
42
- // Although the copy/reference of the file is temporary in-memory, to make the UX consistent across page refresh, we do not allow the user to re-download the file either.
43
-
44
- activity = (0, _simpleUpdateIn["default"])(activity, ['attachments', function () {
45
- return true;
46
- }, 'contentUrl'], function (contentUrl) {
47
- if (contentUrl !== DIRECT_LINE_PLACEHOLDER_URL && !/^blob:/i.test(contentUrl)) {
48
- return contentUrl;
49
- }
50
- });
51
- activity = (0, _simpleUpdateIn["default"])(activity, ['channelData'], function (channelData) {
52
- return _objectSpread({}, channelData);
53
- });
54
- activity = (0, _simpleUpdateIn["default"])(activity, ['channelData', 'webChat', 'receivedAt'], function () {
55
- return Date.now();
56
- });
57
- var _activity = activity,
58
- sequenceId = _activity.channelData['webchat:sequence-id'];
59
-
60
- // TODO: [P1] #3953 We should move this patching logic to a DLJS wrapper for simplicity.
61
- // If the message does not have sequence ID, use these fallback values:
62
- // 1. "channelData.streamSequence" field (if available)
63
- // - 0.0001 * streamSequence should be good
64
- // 2. "timestamp" field
65
- // - outgoing activity will not have "timestamp" field
66
- // 3. last activity sequence ID (or 0) + 0.001
67
- // - best effort to put this message the last one in the chat history
68
- if (typeof sequenceId !== 'number') {
69
- var after;
70
- var before;
71
- if (isPartOfLivestreamSession(activity) && typeof activity.channelData.streamSequence === 'number') {
72
- var _findBeforeAfter = (0, _findBeforeAfter3["default"])(activities, function (target) {
73
- if (target.type === 'typing' && target.channelData.streamId === activity.channelData.streamId) {
74
- return target.channelData.streamSequence < activity.channelData.streamSequence ? 'before' : 'after';
75
- }
76
- return 'unknown';
77
- });
78
- var _findBeforeAfter2 = (0, _slicedToArray2["default"])(_findBeforeAfter, 2);
79
- before = _findBeforeAfter2[0];
80
- after = _findBeforeAfter2[1];
81
- }
82
- var _sequenceId;
83
- if (before) {
84
- // eslint-disable-next-line no-magic-numbers
85
- _sequenceId = before.channelData['webchat:sequence-id'] + 0.001;
86
- } else if (after) {
87
- // eslint-disable-next-line no-magic-numbers
88
- _sequenceId = after.channelData['webchat:sequence-id'] - 0.001;
89
- } else if (typeof activity.timestamp !== 'undefined') {
90
- _sequenceId = +new Date(activity.timestamp);
91
- } else {
92
- var _activities;
93
- // We assume there will be no more than 1,000 messages sent before receiving server response.
94
- // If there are more than 1,000 messages, some messages will get reordered and appear jumpy after receiving server response.
95
- // eslint-disable-next-line no-magic-numbers
96
- _sequenceId = (((_activities = activities[activities.length - 1]) === null || _activities === void 0 ? void 0 : _activities.channelData['webchat:sequence-id']) || 0) + 0.001;
97
- }
98
- activity = (0, _simpleUpdateIn["default"])(activity, ['channelData', 'webchat:sequence-id'], function () {
99
- return _sequenceId;
100
- });
101
- }
102
- return activity;
103
- }
104
- function upsertActivityWithSort(activities, nextActivity, ponyfill) {
105
- nextActivity = patchActivity(nextActivity, activities, ponyfill);
106
- var _nextActivity = nextActivity,
107
- _nextActivity$channel = _nextActivity.channelData;
108
- _nextActivity$channel = _nextActivity$channel === void 0 ? {} : _nextActivity$channel;
109
- var nextClientActivityID = _nextActivity$channel.clientActivityID,
110
- nextSequenceId = _nextActivity$channel['webchat:sequence-id'];
111
- var nextActivities = activities.filter(function (_ref2) {
112
- var _ref2$channelData = _ref2.channelData;
113
- _ref2$channelData = _ref2$channelData === void 0 ? {} : _ref2$channelData;
114
- var clientActivityID = _ref2$channelData.clientActivityID,
115
- id = _ref2.id;
116
- return (
117
- // We will remove all "sending messages" activities and activities with same ID
118
- // "clientActivityID" is unique and used to track if the message has been sent and echoed back from the server
119
- !(nextClientActivityID && clientActivityID === nextClientActivityID) && !(id && id === nextActivity.id)
120
- );
121
- });
122
-
123
- // Then, find the right (sorted) place to insert the new activity at, based on sequence ID.
124
- var indexToInsert = nextActivities.findIndex(function (_ref3) {
125
- var _ref3$channelData = _ref3.channelData;
126
- _ref3$channelData = _ref3$channelData === void 0 ? {} : _ref3$channelData;
127
- var sequenceId = _ref3$channelData['webchat:sequence-id'];
128
- return (sequenceId || 0) > (nextSequenceId || 0);
129
- });
130
-
131
- // If no right place are found, append it
132
- nextActivities.splice(~indexToInsert ? indexToInsert : nextActivities.length, 0, nextActivity);
133
- return nextActivities;
134
- }
135
- function createActivitiesReducer(ponyfill) {
136
- return function activities() {
137
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_STATE;
138
- var action = arguments.length > 1 ? arguments[1] : undefined;
139
- switch (action.type) {
140
- case _deleteActivity.DELETE_ACTIVITY:
141
- state = (0, _simpleUpdateIn["default"])(state, [function (_ref4) {
142
- var id = _ref4.id;
143
- return id === action.payload.activityID;
144
- }]);
145
- break;
146
- case _markActivity.MARK_ACTIVITY:
147
- {
148
- var payload = action.payload;
149
- state = (0, _simpleUpdateIn["default"])(state, [function (_ref5) {
150
- var id = _ref5.id;
151
- return id === payload.activityID;
152
- }, 'channelData', payload.name], function () {
153
- return payload.value;
154
- });
155
- }
156
- break;
157
- case _postActivity.POST_ACTIVITY_PENDING:
158
- {
159
- var _activity2 = action.payload.activity;
160
-
161
- // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.
162
- // Please refer to #4362 for details. Remove on or after 2024-07-31.
163
- _activity2 = (0, _simpleUpdateIn["default"])(_activity2, ['channelData', 'state'], function () {
164
- return _SendStatus.SENDING;
165
- });
166
- _activity2 = (0, _simpleUpdateIn["default"])(_activity2, ['channelData', 'webchat:send-status'], function () {
167
- return _SendStatus.SENDING;
168
- });
169
- state = upsertActivityWithSort(state, _activity2, ponyfill);
170
- }
171
- break;
172
- case _postActivity.POST_ACTIVITY_IMPEDED:
173
- state = (0, _simpleUpdateIn["default"])(state,
174
- // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.
175
- // Please refer to #4362 for details. Remove on or after 2024-07-31.
176
- [findByClientActivityID(action.meta.clientActivityID), 'channelData', 'state'], function () {
177
- return _SendStatus.SEND_FAILED;
178
- });
179
- break;
180
- case _postActivity.POST_ACTIVITY_REJECTED:
181
- state = (0, _simpleUpdateIn["default"])(state, [findByClientActivityID(action.meta.clientActivityID)], function (activity) {
182
- activity = (0, _simpleUpdateIn["default"])(activity, ['channelData', 'state'], function () {
183
- return _SendStatus.SEND_FAILED;
184
- });
185
- return (0, _simpleUpdateIn["default"])(activity, ['channelData', 'webchat:send-status'], function () {
186
- return _SendStatus.SEND_FAILED;
187
- });
188
- });
189
- break;
190
- case _postActivity.POST_ACTIVITY_FULFILLED:
191
- {
192
- // We will replace the activity with the version from the server
193
- var _activity3 = (0, _simpleUpdateIn["default"])((0, _simpleUpdateIn["default"])(patchActivity(action.payload.activity, state, ponyfill),
194
- // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.
195
- // Please refer to #4362 for details. Remove on or after 2024-07-31.
196
- ['channelData', 'state'], function () {
197
- return _SendStatus.SENT;
198
- }), ['channelData', 'webchat:send-status'], function () {
199
- return _SendStatus.SENT;
200
- });
201
- state = (0, _simpleUpdateIn["default"])(state, [findByClientActivityID(action.meta.clientActivityID)], function () {
202
- return _activity3;
203
- });
204
- }
205
- break;
206
- case _incomingActivity.INCOMING_ACTIVITY:
207
- {
208
- var _activity4 = action.payload.activity;
209
-
210
- // If the incoming activity is an echo back, we should keep the existing `channelData['webchat:send-status']` field.
211
- //
212
- // Otherwise, it will fail following scenario:
213
- //
214
- // 1. Send an activity to the service
215
- // 2. Service echoed back the activity
216
- // 3. Service did NOT return `postActivity` call
217
- // - EXPECT: `channelData['webchat:send-status']` should be "sending".
218
- // - ACTUAL: `channelData['webchat:send-status']` is `undefined` because the activity get overwritten by the echo back activity.
219
- // The echo back activity contains no `channelData['webchat:send-status']`.
220
- //
221
- // While we are looking out for the scenario above, we should also look at the following scenarios:
222
- //
223
- // 1. Service restore chat history, including activities sent from the user. These activities has the following characteristics:
224
- // - They do not have `channelData['webchat:send-status']`;
225
- // - They do not have an ongoing `postActivitySaga`;
226
- // - They should not previously appear in the chat history.
227
- // 2. We need to mark these activities as "sent".
228
- //
229
- // In the future, when we revamp our object model, we could use a different signal so we don't need the code below, for example:
230
- //
231
- // - If `activity.id` is set, it is "sent", because the chat service assigned an ID to the activity;
232
- // - If `activity.id` is not set, it is either "sending" or "send failed";
233
- // - If `activity.channelData['webchat:send-failed-reason']` is set, it is "send failed" with the reason, otherwise;
234
- // - It is sending.
235
- if (_activity4.from.role === 'user') {
236
- var _activity5 = _activity4,
237
- id = _activity5.id;
238
- var clientActivityID = getClientActivityID(_activity4);
239
- var existingActivity = state.find(function (activity) {
240
- return clientActivityID && getClientActivityID(activity) === clientActivityID || id && activity.id === id;
241
- });
242
- if (existingActivity) {
243
- var sendStatus = existingActivity.channelData['webchat:send-status'];
244
- if (sendStatus === _SendStatus.SENDING || sendStatus === _SendStatus.SEND_FAILED || sendStatus === _SendStatus.SENT) {
245
- _activity4 = (0, _simpleUpdateIn["default"])(_activity4, ['channelData', 'webchat:send-status'], function () {
246
- return sendStatus;
247
- });
248
- }
249
- } else {
250
- // If there are no existing activity, probably this activity is restored from chat history.
251
- // All outgoing activities restored from service means they arrived at the service successfully.
252
- // Thus, we are marking them as "sent".
253
- _activity4 = (0, _simpleUpdateIn["default"])(_activity4, ['channelData', 'webchat:send-status'], function () {
254
- return _SendStatus.SENT;
255
- });
256
- }
257
- }
258
- state = upsertActivityWithSort(state, _activity4, ponyfill);
259
- }
260
- break;
261
- default:
262
- break;
263
- }
264
- return state;
265
- };
266
- }
267
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2ltcGxlVXBkYXRlSW4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9kZWxldGVBY3Rpdml0eSIsIl9pbmNvbWluZ0FjdGl2aXR5IiwiX21hcmtBY3Rpdml0eSIsIl9wb3N0QWN0aXZpdHkiLCJfU2VuZFN0YXR1cyIsIl9maW5kQmVmb3JlQWZ0ZXIzIiwib3duS2V5cyIsIm9iamVjdCIsImVudW1lcmFibGVPbmx5Iiwia2V5cyIsIk9iamVjdCIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJmb3JFYWNoIiwia2V5IiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJERUZBVUxUX1NUQVRFIiwiRElSRUNUX0xJTkVfUExBQ0VIT0xERVJfVVJMIiwiZ2V0Q2xpZW50QWN0aXZpdHlJRCIsImFjdGl2aXR5IiwiX2FjdGl2aXR5JGNoYW5uZWxEYXRhIiwiY2hhbm5lbERhdGEiLCJjbGllbnRBY3Rpdml0eUlEIiwiZmluZEJ5Q2xpZW50QWN0aXZpdHlJRCIsImlzUGFydE9mTGl2ZXN0cmVhbVNlc3Npb24iLCJ0eXBlIiwidGV4dCIsInBhdGNoQWN0aXZpdHkiLCJhY3Rpdml0aWVzIiwiX3JlZiIsIkRhdGUiLCJ1cGRhdGVJbiIsImNvbnRlbnRVcmwiLCJ0ZXN0Iiwibm93IiwiX2FjdGl2aXR5Iiwic2VxdWVuY2VJZCIsImFmdGVyIiwiYmVmb3JlIiwic3RyZWFtU2VxdWVuY2UiLCJfZmluZEJlZm9yZUFmdGVyIiwiZmluZEJlZm9yZUFmdGVyIiwic3RyZWFtSWQiLCJfZmluZEJlZm9yZUFmdGVyMiIsIl9zbGljZWRUb0FycmF5MiIsInRpbWVzdGFtcCIsIl9hY3Rpdml0aWVzIiwidXBzZXJ0QWN0aXZpdHlXaXRoU29ydCIsIm5leHRBY3Rpdml0eSIsInBvbnlmaWxsIiwiX25leHRBY3Rpdml0eSIsIl9uZXh0QWN0aXZpdHkkY2hhbm5lbCIsIm5leHRDbGllbnRBY3Rpdml0eUlEIiwibmV4dFNlcXVlbmNlSWQiLCJuZXh0QWN0aXZpdGllcyIsIl9yZWYyIiwiX3JlZjIkY2hhbm5lbERhdGEiLCJpZCIsImluZGV4VG9JbnNlcnQiLCJmaW5kSW5kZXgiLCJfcmVmMyIsIl9yZWYzJGNoYW5uZWxEYXRhIiwic3BsaWNlIiwiY3JlYXRlQWN0aXZpdGllc1JlZHVjZXIiLCJzdGF0ZSIsInVuZGVmaW5lZCIsImFjdGlvbiIsIkRFTEVURV9BQ1RJVklUWSIsIl9yZWY0IiwicGF5bG9hZCIsImFjdGl2aXR5SUQiLCJNQVJLX0FDVElWSVRZIiwiX3JlZjUiLCJuYW1lIiwidmFsdWUiLCJQT1NUX0FDVElWSVRZX1BFTkRJTkciLCJTRU5ESU5HIiwiUE9TVF9BQ1RJVklUWV9JTVBFREVEIiwibWV0YSIsIlNFTkRfRkFJTEVEIiwiUE9TVF9BQ1RJVklUWV9SRUpFQ1RFRCIsIlBPU1RfQUNUSVZJVFlfRlVMRklMTEVEIiwiU0VOVCIsIklOQ09NSU5HX0FDVElWSVRZIiwiZnJvbSIsInJvbGUiLCJfYWN0aXZpdHk1IiwiZXhpc3RpbmdBY3Rpdml0eSIsImZpbmQiLCJzZW5kU3RhdHVzIl0sInNvdXJjZVJvb3QiOiJjb3JlOi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlZHVjZXJzL2NyZWF0ZUFjdGl2aXRpZXNSZWR1Y2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBuby1tYWdpYy1udW1iZXJzOiBbXCJlcnJvclwiLCB7IFwiaWdub3JlXCI6IFswLCAxLCAtMV0gfV0gKi9cblxuaW1wb3J0IHVwZGF0ZUluIGZyb20gJ3NpbXBsZS11cGRhdGUtaW4nO1xuXG5pbXBvcnQgeyBERUxFVEVfQUNUSVZJVFkgfSBmcm9tICcuLi9hY3Rpb25zL2RlbGV0ZUFjdGl2aXR5JztcbmltcG9ydCB7IElOQ09NSU5HX0FDVElWSVRZIH0gZnJvbSAnLi4vYWN0aW9ucy9pbmNvbWluZ0FjdGl2aXR5JztcbmltcG9ydCB7IE1BUktfQUNUSVZJVFkgfSBmcm9tICcuLi9hY3Rpb25zL21hcmtBY3Rpdml0eSc7XG5pbXBvcnQge1xuICBQT1NUX0FDVElWSVRZX0ZVTEZJTExFRCxcbiAgUE9TVF9BQ1RJVklUWV9JTVBFREVELFxuICBQT1NUX0FDVElWSVRZX1BFTkRJTkcsXG4gIFBPU1RfQUNUSVZJVFlfUkVKRUNURURcbn0gZnJvbSAnLi4vYWN0aW9ucy9wb3N0QWN0aXZpdHknO1xuaW1wb3J0IHsgU0VORElORywgU0VORF9GQUlMRUQsIFNFTlQgfSBmcm9tICcuLi90eXBlcy9pbnRlcm5hbC9TZW5kU3RhdHVzJztcbmltcG9ydCBmaW5kQmVmb3JlQWZ0ZXIgZnJvbSAnLi9wcml2YXRlL2ZpbmRCZWZvcmVBZnRlcic7XG5cbmltcG9ydCB0eXBlIHsgUmVkdWNlciB9IGZyb20gJ3JlZHV4JztcbmltcG9ydCB0eXBlIHsgRGVsZXRlQWN0aXZpdHlBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL2RlbGV0ZUFjdGl2aXR5JztcbmltcG9ydCB0eXBlIHsgSW5jb21pbmdBY3Rpdml0eUFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvaW5jb21pbmdBY3Rpdml0eSc7XG5pbXBvcnQgdHlwZSB7IE1hcmtBY3Rpdml0eUFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvbWFya0FjdGl2aXR5JztcbmltcG9ydCB0eXBlIHtcbiAgUG9zdEFjdGl2aXR5RnVsZmlsbGVkQWN0aW9uLFxuICBQb3N0QWN0aXZpdHlJbXBlZGVkQWN0aW9uLFxuICBQb3N0QWN0aXZpdHlQZW5kaW5nQWN0aW9uLFxuICBQb3N0QWN0aXZpdHlSZWplY3RlZEFjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zL3Bvc3RBY3Rpdml0eSc7XG5pbXBvcnQgdHlwZSB7IEdsb2JhbFNjb3BlUG9ueWZpbGwgfSBmcm9tICcuLi90eXBlcy9HbG9iYWxTY29wZVBvbnlmaWxsJztcbmltcG9ydCB0eXBlIHsgV2ViQ2hhdEFjdGl2aXR5IH0gZnJvbSAnLi4vdHlwZXMvV2ViQ2hhdEFjdGl2aXR5JztcblxudHlwZSBBY3Rpdml0aWVzQWN0aW9uID1cbiAgfCBEZWxldGVBY3Rpdml0eUFjdGlvblxuICB8IEluY29taW5nQWN0aXZpdHlBY3Rpb25cbiAgfCBNYXJrQWN0aXZpdHlBY3Rpb25cbiAgfCBQb3N0QWN0aXZpdHlGdWxmaWxsZWRBY3Rpb25cbiAgfCBQb3N0QWN0aXZpdHlJbXBlZGVkQWN0aW9uXG4gIHwgUG9zdEFjdGl2aXR5UGVuZGluZ0FjdGlvblxuICB8IFBvc3RBY3Rpdml0eVJlamVjdGVkQWN0aW9uO1xuXG50eXBlIEFjdGl2aXRpZXNTdGF0ZSA9IFdlYkNoYXRBY3Rpdml0eVtdO1xuXG5jb25zdCBERUZBVUxUX1NUQVRFOiBBY3Rpdml0aWVzU3RhdGUgPSBbXTtcbmNvbnN0IERJUkVDVF9MSU5FX1BMQUNFSE9MREVSX1VSTCA9XG4gICdodHRwczovL2RvY3MuYm90ZnJhbWV3b3JrLmNvbS9zdGF0aWMvZGV2cG9ydGFsL2NsaWVudC9pbWFnZXMvYm90LWZyYW1ld29yay1kZWZhdWx0LXBsYWNlaG9sZGVyLnBuZyc7XG5cbmZ1bmN0aW9uIGdldENsaWVudEFjdGl2aXR5SUQoYWN0aXZpdHk6IFdlYkNoYXRBY3Rpdml0eSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBhY3Rpdml0eS5jaGFubmVsRGF0YT8uY2xpZW50QWN0aXZpdHlJRDtcbn1cblxuZnVuY3Rpb24gZmluZEJ5Q2xpZW50QWN0aXZpdHlJRChjbGllbnRBY3Rpdml0eUlEOiBzdHJpbmcpOiAoYWN0aXZpdHk6IFdlYkNoYXRBY3Rpdml0eSkgPT4gYm9vbGVhbiB7XG4gIHJldHVybiAoYWN0aXZpdHk6IFdlYkNoYXRBY3Rpdml0eSkgPT4gZ2V0Q2xpZW50QWN0aXZpdHlJRChhY3Rpdml0eSkgPT09IGNsaWVudEFjdGl2aXR5SUQ7XG59XG5cbmZ1bmN0aW9uIGlzUGFydE9mTGl2ZXN0cmVhbVNlc3Npb24oXG4gIGFjdGl2aXR5OiBXZWJDaGF0QWN0aXZpdHlcbik6IGFjdGl2aXR5IGlzIFdlYkNoYXRBY3Rpdml0eSAmIHsgdGV4dDogc3RyaW5nOyB0eXBlOiAndHlwaW5nJyB9IHtcbiAgcmV0dXJuIGFjdGl2aXR5LnR5cGUgPT09ICd0eXBpbmcnICYmICd0ZXh0JyBpbiBhY3Rpdml0eSAmJiB0eXBlb2YgYWN0aXZpdHkudGV4dCA9PT0gJ3N0cmluZyc7XG59XG5cbmZ1bmN0aW9uIHBhdGNoQWN0aXZpdHkoXG4gIGFjdGl2aXR5OiBXZWJDaGF0QWN0aXZpdHksXG4gIGFjdGl2aXRpZXM6IFdlYkNoYXRBY3Rpdml0eVtdLFxuICB7IERhdGUgfTogR2xvYmFsU2NvcGVQb255ZmlsbFxuKTogV2ViQ2hhdEFjdGl2aXR5IHtcbiAgLy8gRGlyZWN0IExpbmUgY2hhbm5lbCB3aWxsIHJldHVybiBhIHBsYWNlaG9sZGVyIGltYWdlIGZvciB0aGUgdXNlci11cGxvYWRlZCBpbWFnZS5cbiAgLy8gQXMgb2JzZXJ2ZWQsIHRoZSBVUkwgZm9yIHRoZSBwbGFjZWhvbGRlciBpbWFnZSBpcyBodHRwczovL2RvY3MuYm90ZnJhbWV3b3JrLmNvbS9zdGF0aWMvZGV2cG9ydGFsL2NsaWVudC9pbWFnZXMvYm90LWZyYW1ld29yay1kZWZhdWx0LXBsYWNlaG9sZGVyLnBuZy5cbiAgLy8gVG8gbWFrZSBvdXIgY29kZSBzaW1wbGVyLCB3ZSBhcmUgcmVtb3ZpbmcgdGhlIHZhbHVlIGlmIFwiY29udGVudFVybFwiIGlzIHBvaW50aW5nIHRvIGEgcGxhY2Vob2xkZXIgaW1hZ2UuXG5cbiAgLy8gVE9ETzogW1AyXSAjMjg2OSBUaGlzIFwiY29udGVudFVSTFwiIHJlbW92YWwgY29kZSBzaG91bGQgYmUgbW92ZWQgdG8gRGlyZWN0TGluZUpTIGFkYXB0ZXIuXG5cbiAgLy8gQWxzbywgaWYgdGhlIFwiY29udGVudFVSTFwiIHN0YXJ0cyB3aXRoIFwiYmxvYjpcIiwgdGhpcyBtZWFucyB0aGUgdXNlciBpcyB1cGxvYWRpbmcgYSBmaWxlICh0aGUgVVJMIGlzIGNvbnN0cnVjdGVkIGJ5IFVSTC5jcmVhdGVPYmplY3RVUkwpXG4gIC8vIEFsdGhvdWdoIHRoZSBjb3B5L3JlZmVyZW5jZSBvZiB0aGUgZmlsZSBpcyB0ZW1wb3JhcnkgaW4tbWVtb3J5LCB0byBtYWtlIHRoZSBVWCBjb25zaXN0ZW50IGFjcm9zcyBwYWdlIHJlZnJlc2gsIHdlIGRvIG5vdCBhbGxvdyB0aGUgdXNlciB0byByZS1kb3dubG9hZCB0aGUgZmlsZSBlaXRoZXIuXG5cbiAgYWN0aXZpdHkgPSB1cGRhdGVJbihhY3Rpdml0eSwgWydhdHRhY2htZW50cycsICgpID0+IHRydWUsICdjb250ZW50VXJsJ10sIChjb250ZW50VXJsOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoY29udGVudFVybCAhPT0gRElSRUNUX0xJTkVfUExBQ0VIT0xERVJfVVJMICYmICEvXmJsb2I6L2l1LnRlc3QoY29udGVudFVybCkpIHtcbiAgICAgIHJldHVybiBjb250ZW50VXJsO1xuICAgIH1cbiAgfSk7XG5cbiAgYWN0aXZpdHkgPSB1cGRhdGVJbihhY3Rpdml0eSwgWydjaGFubmVsRGF0YSddLCBjaGFubmVsRGF0YSA9PiAoeyAuLi5jaGFubmVsRGF0YSB9KSk7XG4gIGFjdGl2aXR5ID0gdXBkYXRlSW4oYWN0aXZpdHksIFsnY2hhbm5lbERhdGEnLCAnd2ViQ2hhdCcsICdyZWNlaXZlZEF0J10sICgpID0+IERhdGUubm93KCkpO1xuXG4gIGNvbnN0IHtcbiAgICBjaGFubmVsRGF0YTogeyAnd2ViY2hhdDpzZXF1ZW5jZS1pZCc6IHNlcXVlbmNlSWQgfVxuICB9ID0gYWN0aXZpdHk7XG5cbiAgLy8gVE9ETzogW1AxXSAjMzk1MyBXZSBzaG91bGQgbW92ZSB0aGlzIHBhdGNoaW5nIGxvZ2ljIHRvIGEgRExKUyB3cmFwcGVyIGZvciBzaW1wbGljaXR5LlxuICAvLyBJZiB0aGUgbWVzc2FnZSBkb2VzIG5vdCBoYXZlIHNlcXVlbmNlIElELCB1c2UgdGhlc2UgZmFsbGJhY2sgdmFsdWVzOlxuICAvLyAxLiBcImNoYW5uZWxEYXRhLnN0cmVhbVNlcXVlbmNlXCIgZmllbGQgKGlmIGF2YWlsYWJsZSlcbiAgLy8gICAgLSAwLjAwMDEgKiBzdHJlYW1TZXF1ZW5jZSBzaG91bGQgYmUgZ29vZFxuICAvLyAyLiBcInRpbWVzdGFtcFwiIGZpZWxkXG4gIC8vICAgIC0gb3V0Z29pbmcgYWN0aXZpdHkgd2lsbCBub3QgaGF2ZSBcInRpbWVzdGFtcFwiIGZpZWxkXG4gIC8vIDMuIGxhc3QgYWN0aXZpdHkgc2VxdWVuY2UgSUQgKG9yIDApICsgMC4wMDFcbiAgLy8gICAgLSBiZXN0IGVmZm9ydCB0byBwdXQgdGhpcyBtZXNzYWdlIHRoZSBsYXN0IG9uZSBpbiB0aGUgY2hhdCBoaXN0b3J5XG4gIGlmICh0eXBlb2Ygc2VxdWVuY2VJZCAhPT0gJ251bWJlcicpIHtcbiAgICBsZXQgYWZ0ZXI6IFdlYkNoYXRBY3Rpdml0eTtcbiAgICBsZXQgYmVmb3JlOiBXZWJDaGF0QWN0aXZpdHk7XG5cbiAgICBpZiAoaXNQYXJ0T2ZMaXZlc3RyZWFtU2Vzc2lvbihhY3Rpdml0eSkgJiYgdHlwZW9mIGFjdGl2aXR5LmNoYW5uZWxEYXRhLnN0cmVhbVNlcXVlbmNlID09PSAnbnVtYmVyJykge1xuICAgICAgW2JlZm9yZSwgYWZ0ZXJdID0gZmluZEJlZm9yZUFmdGVyKGFjdGl2aXRpZXMsIHRhcmdldCA9PiB7XG4gICAgICAgIGlmICh0YXJnZXQudHlwZSA9PT0gJ3R5cGluZycgJiYgdGFyZ2V0LmNoYW5uZWxEYXRhLnN0cmVhbUlkID09PSBhY3Rpdml0eS5jaGFubmVsRGF0YS5zdHJlYW1JZCkge1xuICAgICAgICAgIHJldHVybiB0YXJnZXQuY2hhbm5lbERhdGEuc3RyZWFtU2VxdWVuY2UgPCBhY3Rpdml0eS5jaGFubmVsRGF0YS5zdHJlYW1TZXF1ZW5jZSA/ICdiZWZvcmUnIDogJ2FmdGVyJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAndW5rbm93bic7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBsZXQgc2VxdWVuY2VJZDogbnVtYmVyO1xuXG4gICAgaWYgKGJlZm9yZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW1hZ2ljLW51bWJlcnNcbiAgICAgIHNlcXVlbmNlSWQgPSBiZWZvcmUuY2hhbm5lbERhdGFbJ3dlYmNoYXQ6c2VxdWVuY2UtaWQnXSArIDAuMDAxO1xuICAgIH0gZWxzZSBpZiAoYWZ0ZXIpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tYWdpYy1udW1iZXJzXG4gICAgICBzZXF1ZW5jZUlkID0gYWZ0ZXIuY2hhbm5lbERhdGFbJ3dlYmNoYXQ6c2VxdWVuY2UtaWQnXSAtIDAuMDAxO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGFjdGl2aXR5LnRpbWVzdGFtcCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHNlcXVlbmNlSWQgPSArbmV3IERhdGUoYWN0aXZpdHkudGltZXN0YW1wKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gV2UgYXNzdW1lIHRoZXJlIHdpbGwgYmUgbm8gbW9yZSB0aGFuIDEsMDAwIG1lc3NhZ2VzIHNlbnQgYmVmb3JlIHJlY2VpdmluZyBzZXJ2ZXIgcmVzcG9uc2UuXG4gICAgICAvLyBJZiB0aGVyZSBhcmUgbW9yZSB0aGFuIDEsMDAwIG1lc3NhZ2VzLCBzb21lIG1lc3NhZ2VzIHdpbGwgZ2V0IHJlb3JkZXJlZCBhbmQgYXBwZWFyIGp1bXB5IGFmdGVyIHJlY2VpdmluZyBzZXJ2ZXIgcmVzcG9uc2UuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbWFnaWMtbnVtYmVyc1xuICAgICAgc2VxdWVuY2VJZCA9IChhY3Rpdml0aWVzW2FjdGl2aXRpZXMubGVuZ3RoIC0gMV0/LmNoYW5uZWxEYXRhWyd3ZWJjaGF0OnNlcXVlbmNlLWlkJ10gfHwgMCkgKyAwLjAwMTtcbiAgICB9XG5cbiAgICBhY3Rpdml0eSA9IHVwZGF0ZUluKGFjdGl2aXR5LCBbJ2NoYW5uZWxEYXRhJywgJ3dlYmNoYXQ6c2VxdWVuY2UtaWQnXSwgKCkgPT4gc2VxdWVuY2VJZCk7XG4gIH1cblxuICByZXR1cm4gYWN0aXZpdHk7XG59XG5cbmZ1bmN0aW9uIHVwc2VydEFjdGl2aXR5V2l0aFNvcnQoXG4gIGFjdGl2aXRpZXM6IFdlYkNoYXRBY3Rpdml0eVtdLFxuICBuZXh0QWN0aXZpdHk6IFdlYkNoYXRBY3Rpdml0eSxcbiAgcG9ueWZpbGw6IEdsb2JhbFNjb3BlUG9ueWZpbGxcbik6IFdlYkNoYXRBY3Rpdml0eVtdIHtcbiAgbmV4dEFjdGl2aXR5ID0gcGF0Y2hBY3Rpdml0eShuZXh0QWN0aXZpdHksIGFjdGl2aXRpZXMsIHBvbnlmaWxsKTtcblxuICBjb25zdCB7IGNoYW5uZWxEYXRhOiB7IGNsaWVudEFjdGl2aXR5SUQ6IG5leHRDbGllbnRBY3Rpdml0eUlELCAnd2ViY2hhdDpzZXF1ZW5jZS1pZCc6IG5leHRTZXF1ZW5jZUlkIH0gPSB7fSB9ID1cbiAgICBuZXh0QWN0aXZpdHk7XG5cbiAgY29uc3QgbmV4dEFjdGl2aXRpZXMgPSBhY3Rpdml0aWVzLmZpbHRlcihcbiAgICAoeyBjaGFubmVsRGF0YTogeyBjbGllbnRBY3Rpdml0eUlEIH0gPSB7fSwgaWQgfSkgPT5cbiAgICAgIC8vIFdlIHdpbGwgcmVtb3ZlIGFsbCBcInNlbmRpbmcgbWVzc2FnZXNcIiBhY3Rpdml0aWVzIGFuZCBhY3Rpdml0aWVzIHdpdGggc2FtZSBJRFxuICAgICAgLy8gXCJjbGllbnRBY3Rpdml0eUlEXCIgaXMgdW5pcXVlIGFuZCB1c2VkIHRvIHRyYWNrIGlmIHRoZSBtZXNzYWdlIGhhcyBiZWVuIHNlbnQgYW5kIGVjaG9lZCBiYWNrIGZyb20gdGhlIHNlcnZlclxuICAgICAgIShuZXh0Q2xpZW50QWN0aXZpdHlJRCAmJiBjbGllbnRBY3Rpdml0eUlEID09PSBuZXh0Q2xpZW50QWN0aXZpdHlJRCkgJiYgIShpZCAmJiBpZCA9PT0gbmV4dEFjdGl2aXR5LmlkKVxuICApO1xuXG4gIC8vIFRoZW4sIGZpbmQgdGhlIHJpZ2h0IChzb3J0ZWQpIHBsYWNlIHRvIGluc2VydCB0aGUgbmV3IGFjdGl2aXR5IGF0LCBiYXNlZCBvbiBzZXF1ZW5jZSBJRC5cbiAgY29uc3QgaW5kZXhUb0luc2VydCA9IG5leHRBY3Rpdml0aWVzLmZpbmRJbmRleChcbiAgICAoeyBjaGFubmVsRGF0YTogeyAnd2ViY2hhdDpzZXF1ZW5jZS1pZCc6IHNlcXVlbmNlSWQgfSA9IHt9IH0pID0+IChzZXF1ZW5jZUlkIHx8IDApID4gKG5leHRTZXF1ZW5jZUlkIHx8IDApXG4gICk7XG5cbiAgLy8gSWYgbm8gcmlnaHQgcGxhY2UgYXJlIGZvdW5kLCBhcHBlbmQgaXRcbiAgbmV4dEFjdGl2aXRpZXMuc3BsaWNlKH5pbmRleFRvSW5zZXJ0ID8gaW5kZXhUb0luc2VydCA6IG5leHRBY3Rpdml0aWVzLmxlbmd0aCwgMCwgbmV4dEFjdGl2aXR5KTtcblxuICByZXR1cm4gbmV4dEFjdGl2aXRpZXM7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZUFjdGl2aXRpZXNSZWR1Y2VyKFxuICBwb255ZmlsbDogR2xvYmFsU2NvcGVQb255ZmlsbFxuKTogUmVkdWNlcjxBY3Rpdml0aWVzU3RhdGUsIEFjdGl2aXRpZXNBY3Rpb24+IHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGFjdGl2aXRpZXMoc3RhdGU6IEFjdGl2aXRpZXNTdGF0ZSA9IERFRkFVTFRfU1RBVEUsIGFjdGlvbjogQWN0aXZpdGllc0FjdGlvbik6IEFjdGl2aXRpZXNTdGF0ZSB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgY2FzZSBERUxFVEVfQUNUSVZJVFk6XG4gICAgICAgIHN0YXRlID0gdXBkYXRlSW4oc3RhdGUsIFsoeyBpZCB9OiBXZWJDaGF0QWN0aXZpdHkpID0+IGlkID09PSBhY3Rpb24ucGF5bG9hZC5hY3Rpdml0eUlEXSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIE1BUktfQUNUSVZJVFk6XG4gICAgICAgIHtcbiAgICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcblxuICAgICAgICAgIHN0YXRlID0gdXBkYXRlSW4oXG4gICAgICAgICAgICBzdGF0ZSxcbiAgICAgICAgICAgIFsoeyBpZCB9OiBXZWJDaGF0QWN0aXZpdHkpID0+IGlkID09PSBwYXlsb2FkLmFjdGl2aXR5SUQsICdjaGFubmVsRGF0YScsIHBheWxvYWQubmFtZV0sXG4gICAgICAgICAgICAoKSA9PiBwYXlsb2FkLnZhbHVlXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFBPU1RfQUNUSVZJVFlfUEVORElORzpcbiAgICAgICAge1xuICAgICAgICAgIGxldCB7XG4gICAgICAgICAgICBwYXlsb2FkOiB7IGFjdGl2aXR5IH1cbiAgICAgICAgICB9ID0gYWN0aW9uO1xuXG4gICAgICAgICAgLy8gYGNoYW5uZWxEYXRhLnN0YXRlYCBpcyBiZWluZyBkZXByZWNhdGVkIGluIGZhdm9yIG9mIGBjaGFubmVsRGF0YVsnd2ViY2hhdDpzZW5kLXN0YXR1cyddYC5cbiAgICAgICAgICAvLyBQbGVhc2UgcmVmZXIgdG8gIzQzNjIgZm9yIGRldGFpbHMuIFJlbW92ZSBvbiBvciBhZnRlciAyMDI0LTA3LTMxLlxuICAgICAgICAgIGFjdGl2aXR5ID0gdXBkYXRlSW4oYWN0aXZpdHksIFsnY2hhbm5lbERhdGEnLCAnc3RhdGUnXSwgKCkgPT4gU0VORElORyk7XG4gICAgICAgICAgYWN0aXZpdHkgPSB1cGRhdGVJbihhY3Rpdml0eSwgWydjaGFubmVsRGF0YScsICd3ZWJjaGF0OnNlbmQtc3RhdHVzJ10sICgpID0+IFNFTkRJTkcpO1xuXG4gICAgICAgICAgc3RhdGUgPSB1cHNlcnRBY3Rpdml0eVdpdGhTb3J0KHN0YXRlLCBhY3Rpdml0eSwgcG9ueWZpbGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgUE9TVF9BQ1RJVklUWV9JTVBFREVEOlxuICAgICAgICBzdGF0ZSA9IHVwZGF0ZUluKFxuICAgICAgICAgIHN0YXRlLFxuICAgICAgICAgIC8vIGBjaGFubmVsRGF0YS5zdGF0ZWAgaXMgYmVpbmcgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiBgY2hhbm5lbERhdGFbJ3dlYmNoYXQ6c2VuZC1zdGF0dXMnXWAuXG4gICAgICAgICAgLy8gUGxlYXNlIHJlZmVyIHRvICM0MzYyIGZvciBkZXRhaWxzLiBSZW1vdmUgb24gb3IgYWZ0ZXIgMjAyNC0wNy0zMS5cbiAgICAgICAgICBbZmluZEJ5Q2xpZW50QWN0aXZpdHlJRChhY3Rpb24ubWV0YS5jbGllbnRBY3Rpdml0eUlEKSwgJ2NoYW5uZWxEYXRhJywgJ3N0YXRlJ10sXG4gICAgICAgICAgKCkgPT4gU0VORF9GQUlMRURcbiAgICAgICAgKTtcblxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBQT1NUX0FDVElWSVRZX1JFSkVDVEVEOlxuICAgICAgICBzdGF0ZSA9IHVwZGF0ZUluKHN0YXRlLCBbZmluZEJ5Q2xpZW50QWN0aXZpdHlJRChhY3Rpb24ubWV0YS5jbGllbnRBY3Rpdml0eUlEKV0sIGFjdGl2aXR5ID0+IHtcbiAgICAgICAgICBhY3Rpdml0eSA9IHVwZGF0ZUluKGFjdGl2aXR5LCBbJ2NoYW5uZWxEYXRhJywgJ3N0YXRlJ10sICgpID0+IFNFTkRfRkFJTEVEKTtcblxuICAgICAgICAgIHJldHVybiB1cGRhdGVJbihhY3Rpdml0eSwgWydjaGFubmVsRGF0YScsICd3ZWJjaGF0OnNlbmQtc3RhdHVzJ10sICgpID0+IFNFTkRfRkFJTEVEKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgUE9TVF9BQ1RJVklUWV9GVUxGSUxMRUQ6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBXZSB3aWxsIHJlcGxhY2UgdGhlIGFjdGl2aXR5IHdpdGggdGhlIHZlcnNpb24gZnJvbSB0aGUgc2VydmVyXG4gICAgICAgICAgY29uc3QgYWN0aXZpdHkgPSB1cGRhdGVJbihcbiAgICAgICAgICAgIHVwZGF0ZUluKFxuICAgICAgICAgICAgICBwYXRjaEFjdGl2aXR5KGFjdGlvbi5wYXlsb2FkLmFjdGl2aXR5LCBzdGF0ZSwgcG9ueWZpbGwpLFxuICAgICAgICAgICAgICAvLyBgY2hhbm5lbERhdGEuc3RhdGVgIGlzIGJlaW5nIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgYGNoYW5uZWxEYXRhWyd3ZWJjaGF0OnNlbmQtc3RhdHVzJ11gLlxuICAgICAgICAgICAgICAvLyBQbGVhc2UgcmVmZXIgdG8gIzQzNjIgZm9yIGRldGFpbHMuIFJlbW92ZSBvbiBvciBhZnRlciAyMDI0LTA3LTMxLlxuICAgICAgICAgICAgICBbJ2NoYW5uZWxEYXRhJywgJ3N0YXRlJ10sXG4gICAgICAgICAgICAgICgpID0+IFNFTlRcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBbJ2NoYW5uZWxEYXRhJywgJ3dlYmNoYXQ6c2VuZC1zdGF0dXMnXSxcbiAgICAgICAgICAgICgpID0+IFNFTlRcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgc3RhdGUgPSB1cGRhdGVJbihzdGF0ZSwgW2ZpbmRCeUNsaWVudEFjdGl2aXR5SUQoYWN0aW9uLm1ldGEuY2xpZW50QWN0aXZpdHlJRCldLCAoKSA9PiBhY3Rpdml0eSk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBJTkNPTUlOR19BQ1RJVklUWTpcbiAgICAgICAge1xuICAgICAgICAgIGxldCB7XG4gICAgICAgICAgICBwYXlsb2FkOiB7IGFjdGl2aXR5IH1cbiAgICAgICAgICB9ID0gYWN0aW9uO1xuXG4gICAgICAgICAgLy8gSWYgdGhlIGluY29taW5nIGFjdGl2aXR5IGlzIGFuIGVjaG8gYmFjaywgd2Ugc2hvdWxkIGtlZXAgdGhlIGV4aXN0aW5nIGBjaGFubmVsRGF0YVsnd2ViY2hhdDpzZW5kLXN0YXR1cyddYCBmaWVsZC5cbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vIE90aGVyd2lzZSwgaXQgd2lsbCBmYWlsIGZvbGxvd2luZyBzY2VuYXJpbzpcbiAgICAgICAgICAvL1xuICAgICAgICAgIC8vIDEuIFNlbmQgYW4gYWN0aXZpdHkgdG8gdGhlIHNlcnZpY2VcbiAgICAgICAgICAvLyAyLiBTZXJ2aWNlIGVjaG9lZCBiYWNrIHRoZSBhY3Rpdml0eVxuICAgICAgICAgIC8vIDMuIFNlcnZpY2UgZGlkIE5PVCByZXR1cm4gYHBvc3RBY3Rpdml0eWAgY2FsbFxuICAgICAgICAgIC8vIC0gIEVYUEVDVDogYGNoYW5uZWxEYXRhWyd3ZWJjaGF0OnNlbmQtc3RhdHVzJ11gIHNob3VsZCBiZSBcInNlbmRpbmdcIi5cbiAgICAgICAgICAvLyAtICBBQ1RVQUw6IGBjaGFubmVsRGF0YVsnd2ViY2hhdDpzZW5kLXN0YXR1cyddYCBpcyBgdW5kZWZpbmVkYCBiZWNhdXNlIHRoZSBhY3Rpdml0eSBnZXQgb3ZlcndyaXR0ZW4gYnkgdGhlIGVjaG8gYmFjayBhY3Rpdml0eS5cbiAgICAgICAgICAvLyAgICAgICAgICAgIFRoZSBlY2hvIGJhY2sgYWN0aXZpdHkgY29udGFpbnMgbm8gYGNoYW5uZWxEYXRhWyd3ZWJjaGF0OnNlbmQtc3RhdHVzJ11gLlxuICAgICAgICAgIC8vXG4gICAgICAgICAgLy8gV2hpbGUgd2UgYXJlIGxvb2tpbmcgb3V0IGZvciB0aGUgc2NlbmFyaW8gYWJvdmUsIHdlIHNob3VsZCBhbHNvIGxvb2sgYXQgdGhlIGZvbGxvd2luZyBzY2VuYXJpb3M6XG4gICAgICAgICAgLy9cbiAgICAgICAgICAvLyAxLiBTZXJ2aWNlIHJlc3RvcmUgY2hhdCBoaXN0b3J5LCBpbmNsdWRpbmcgYWN0aXZpdGllcyBzZW50IGZyb20gdGhlIHVzZXIuIFRoZXNlIGFjdGl2aXRpZXMgaGFzIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVyaXN0aWNzOlxuICAgICAgICAgIC8vICAgIC0gVGhleSBkbyBub3QgaGF2ZSBgY2hhbm5lbERhdGFbJ3dlYmNoYXQ6c2VuZC1zdGF0dXMnXWA7XG4gICAgICAgICAgLy8gICAgLSBUaGV5IGRvIG5vdCBoYXZlIGFuIG9uZ29pbmcgYHBvc3RBY3Rpdml0eVNhZ2FgO1xuICAgICAgICAgIC8vICAgIC0gVGhleSBzaG91bGQgbm90IHByZXZpb3VzbHkgYXBwZWFyIGluIHRoZSBjaGF0IGhpc3RvcnkuXG4gICAgICAgICAgLy8gMi4gV2UgbmVlZCB0byBtYXJrIHRoZXNlIGFjdGl2aXRpZXMgYXMgXCJzZW50XCIuXG4gICAgICAgICAgLy9cbiAgICAgICAgICAvLyBJbiB0aGUgZnV0dXJlLCB3aGVuIHdlIHJldmFtcCBvdXIgb2JqZWN0IG1vZGVsLCB3ZSBjb3VsZCB1c2UgYSBkaWZmZXJlbnQgc2lnbmFsIHNvIHdlIGRvbid0IG5lZWQgdGhlIGNvZGUgYmVsb3csIGZvciBleGFtcGxlOlxuICAgICAgICAgIC8vXG4gICAgICAgICAgLy8gLSAgSWYgYGFjdGl2aXR5LmlkYCBpcyBzZXQsIGl0IGlzIFwic2VudFwiLCBiZWNhdXNlIHRoZSBjaGF0IHNlcnZpY2UgYXNzaWduZWQgYW4gSUQgdG8gdGhlIGFjdGl2aXR5O1xuICAgICAgICAgIC8vIC0gIElmIGBhY3Rpdml0eS5pZGAgaXMgbm90IHNldCwgaXQgaXMgZWl0aGVyIFwic2VuZGluZ1wiIG9yIFwic2VuZCBmYWlsZWRcIjtcbiAgICAgICAgICAvLyAgICAtIElmIGBhY3Rpdml0eS5jaGFubmVsRGF0YVsnd2ViY2hhdDpzZW5kLWZhaWxlZC1yZWFzb24nXWAgaXMgc2V0LCBpdCBpcyBcInNlbmQgZmFpbGVkXCIgd2l0aCB0aGUgcmVhc29uLCBvdGhlcndpc2U7XG4gICAgICAgICAgLy8gICAgLSBJdCBpcyBzZW5kaW5nLlxuICAgICAgICAgIGlmIChhY3Rpdml0eS5mcm9tLnJvbGUgPT09ICd1c2VyJykge1xuICAgICAgICAgICAgY29uc3QgeyBpZCB9ID0gYWN0aXZpdHk7XG4gICAgICAgICAgICBjb25zdCBjbGllbnRBY3Rpdml0eUlEID0gZ2V0Q2xpZW50QWN0aXZpdHlJRChhY3Rpdml0eSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGV4aXN0aW5nQWN0aXZpdHkgPSBzdGF0ZS5maW5kKFxuICAgICAgICAgICAgICBhY3Rpdml0eSA9PlxuICAgICAgICAgICAgICAgIChjbGllbnRBY3Rpdml0eUlEICYmIGdldENsaWVudEFjdGl2aXR5SUQoYWN0aXZpdHkpID09PSBjbGllbnRBY3Rpdml0eUlEKSB8fCAoaWQgJiYgYWN0aXZpdHkuaWQgPT09IGlkKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGV4aXN0aW5nQWN0aXZpdHkpIHtcbiAgICAgICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgICAgIGNoYW5uZWxEYXRhOiB7ICd3ZWJjaGF0OnNlbmQtc3RhdHVzJzogc2VuZFN0YXR1cyB9XG4gICAgICAgICAgICAgIH0gPSBleGlzdGluZ0FjdGl2aXR5O1xuXG4gICAgICAgICAgICAgIGlmIChzZW5kU3RhdHVzID09PSBTRU5ESU5HIHx8IHNlbmRTdGF0dXMgPT09IFNFTkRfRkFJTEVEIHx8IHNlbmRTdGF0dXMgPT09IFNFTlQpIHtcbiAgICAgICAgICAgICAgICBhY3Rpdml0eSA9IHVwZGF0ZUluKGFjdGl2aXR5LCBbJ2NoYW5uZWxEYXRhJywgJ3dlYmNoYXQ6c2VuZC1zdGF0dXMnXSwgKCkgPT4gc2VuZFN0YXR1cyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIElmIHRoZXJlIGFyZSBubyBleGlzdGluZyBhY3Rpdml0eSwgcHJvYmFibHkgdGhpcyBhY3Rpdml0eSBpcyByZXN0b3JlZCBmcm9tIGNoYXQgaGlzdG9yeS5cbiAgICAgICAgICAgICAgLy8gQWxsIG91dGdvaW5nIGFjdGl2aXRpZXMgcmVzdG9yZWQgZnJvbSBzZXJ2aWNlIG1lYW5zIHRoZXkgYXJyaXZlZCBhdCB0aGUgc2VydmljZSBzdWNjZXNzZnVsbHkuXG4gICAgICAgICAgICAgIC8vIFRodXMsIHdlIGFyZSBtYXJraW5nIHRoZW0gYXMgXCJzZW50XCIuXG4gICAgICAgICAgICAgIGFjdGl2aXR5ID0gdXBkYXRlSW4oYWN0aXZpdHksIFsnY2hhbm5lbERhdGEnLCAnd2ViY2hhdDpzZW5kLXN0YXR1cyddLCAoKSA9PiBTRU5UKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzdGF0ZSA9IHVwc2VydEFjdGl2aXR5V2l0aFNvcnQoc3RhdGUsIGFjdGl2aXR5LCBwb255ZmlsbCk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFFQSxJQUFBQSxlQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxlQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxpQkFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsYUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksYUFBQSxHQUFBSixPQUFBO0FBTUEsSUFBQUssV0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0saUJBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUF3RCxTQUFBTyxRQUFBQyxNQUFBLEVBQUFDLGNBQUEsUUFBQUMsSUFBQSxHQUFBQyxNQUFBLENBQUFELElBQUEsQ0FBQUYsTUFBQSxPQUFBRyxNQUFBLENBQUFDLHFCQUFBLFFBQUFDLE9BQUEsR0FBQUYsTUFBQSxDQUFBQyxxQkFBQSxDQUFBSixNQUFBLEdBQUFDLGNBQUEsS0FBQUksT0FBQSxHQUFBQSxPQUFBLENBQUFDLE1BQUEsV0FBQUMsR0FBQSxXQUFBSixNQUFBLENBQUFLLHdCQUFBLENBQUFSLE1BQUEsRUFBQU8sR0FBQSxFQUFBRSxVQUFBLE9BQUFQLElBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULElBQUEsRUFBQUcsT0FBQSxZQUFBSCxJQUFBO0FBQUEsU0FBQVUsY0FBQUMsTUFBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQUMsU0FBQSxDQUFBQyxNQUFB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
@@ -1,10 +0,0 @@
1
- import type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';
2
- /**
3
- * Creates a Redux reducer to store the ponyfill.
4
- *
5
- * The ponyfill is used to check if React and Redux does not use a matching ponyfill.
6
- */
7
- export default function createInternalReducer(ponyfill: GlobalScopePonyfill): () => {
8
- ponyfill: GlobalScopePonyfill;
9
- };
10
- //# sourceMappingURL=createInternalReducer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createInternalReducer.d.ts","sourceRoot":"","sources":["../../src/reducers/createInternalReducer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAAE,QAAQ,EAAE,mBAAmB,CAAA;CAAE,CAEpH"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = createInternalReducer;
7
- /**
8
- * Creates a Redux reducer to store the ponyfill.
9
- *
10
- * The ponyfill is used to check if React and Redux does not use a matching ponyfill.
11
- */
12
- function createInternalReducer(ponyfill) {
13
- return function () {
14
- return {
15
- ponyfill: ponyfill
16
- };
17
- };
18
- }
19
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVJbnRlcm5hbFJlZHVjZXIiLCJwb255ZmlsbCJdLCJzb3VyY2VSb290IjoiY29yZTovLy8iLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWR1Y2Vycy9jcmVhdGVJbnRlcm5hbFJlZHVjZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBHbG9iYWxTY29wZVBvbnlmaWxsIH0gZnJvbSAnLi4vdHlwZXMvR2xvYmFsU2NvcGVQb255ZmlsbCc7XG5cbi8qKlxuICogQ3JlYXRlcyBhIFJlZHV4IHJlZHVjZXIgdG8gc3RvcmUgdGhlIHBvbnlmaWxsLlxuICpcbiAqIFRoZSBwb255ZmlsbCBpcyB1c2VkIHRvIGNoZWNrIGlmIFJlYWN0IGFuZCBSZWR1eCBkb2VzIG5vdCB1c2UgYSBtYXRjaGluZyBwb255ZmlsbC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlSW50ZXJuYWxSZWR1Y2VyKHBvbnlmaWxsOiBHbG9iYWxTY29wZVBvbnlmaWxsKTogKCkgPT4geyBwb255ZmlsbDogR2xvYmFsU2NvcGVQb255ZmlsbCB9IHtcbiAgcmV0dXJuICgpID0+ICh7IHBvbnlmaWxsIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsU0FBU0EscUJBQXFCQSxDQUFDQyxRQUE2QixFQUEyQztFQUNwSCxPQUFPO0lBQUEsT0FBTztNQUFFQSxRQUFRLEVBQVJBO0lBQVMsQ0FBQztFQUFBLENBQUM7QUFDN0IifQ==
@@ -1,11 +0,0 @@
1
- import type { DismissNotificationAction } from '../actions/dismissNotification';
2
- import type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';
3
- import type { Notification } from '../types/internal/Notification';
4
- import type { Reducer } from 'redux';
5
- import type { SagaErrorAction } from '../actions/sagaError';
6
- import type { SetNotificationAction } from '../actions/setNotification';
7
- type NotificationsAction = DismissNotificationAction | SagaErrorAction | SetNotificationAction;
8
- type NotificationsState = Record<string, Notification>;
9
- export default function createNotificationsReducer({ Date }: GlobalScopePonyfill): Reducer<NotificationsState, NotificationsAction>;
10
- export {};
11
- //# sourceMappingURL=createNotificationsReducer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createNotificationsReducer.d.ts","sourceRoot":"","sources":["../../src/reducers/createNotificationsReducer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE,KAAK,mBAAmB,GAAG,yBAAyB,GAAG,eAAe,GAAG,qBAAqB,CAAC;AAC/F,KAAK,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAIvD,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,EACjD,IAAI,EACL,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAyCxE"}
@@ -1,55 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = createNotificationsReducer;
8
- var _simpleUpdateIn = _interopRequireDefault(require("simple-update-in"));
9
- var _dismissNotification = require("../actions/dismissNotification");
10
- var _sagaError = require("../actions/sagaError");
11
- var _setNotification = require("../actions/setNotification");
12
- var _isForbiddenPropertyName = _interopRequireDefault(require("../utils/isForbiddenPropertyName"));
13
- var DEFAULT_STATE = {};
14
- function createNotificationsReducer(_ref) {
15
- var Date = _ref.Date;
16
- return function notifications() {
17
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_STATE;
18
- var action = arguments.length > 1 ? arguments[1] : undefined;
19
- var type = action.type;
20
- var now = Date.now();
21
- if (type === _dismissNotification.DISMISS_NOTIFICATION) {
22
- state = (0, _simpleUpdateIn["default"])(state, [action.payload.id]);
23
- } else if (type === _sagaError.SAGA_ERROR) {
24
- state = (0, _simpleUpdateIn["default"])(state, ['connectivitystatus', 'message'], function () {
25
- return 'javascripterror';
26
- });
27
- } else if (type === _setNotification.SET_NOTIFICATION) {
28
- var _action$payload = action.payload,
29
- alt = _action$payload.alt,
30
- data = _action$payload.data,
31
- id = _action$payload.id,
32
- level = _action$payload.level,
33
- message = _action$payload.message;
34
- if (!(0, _isForbiddenPropertyName["default"])(id)) {
35
- // Mitigated through denylisting.
36
- // eslint-disable-next-line security/detect-object-injection
37
- var notification = state[id];
38
- if (!notification || alt !== notification.alt || !Object.is(data, notification.data) || level !== notification.level || message !== notification.message) {
39
- state = (0, _simpleUpdateIn["default"])(state, [id], function () {
40
- return {
41
- alt: alt,
42
- data: data,
43
- id: id,
44
- level: level,
45
- message: message,
46
- timestamp: now
47
- };
48
- });
49
- }
50
- }
51
- }
52
- return state;
53
- };
54
- }
55
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2ltcGxlVXBkYXRlSW4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9kaXNtaXNzTm90aWZpY2F0aW9uIiwiX3NhZ2FFcnJvciIsIl9zZXROb3RpZmljYXRpb24iLCJfaXNGb3JiaWRkZW5Qcm9wZXJ0eU5hbWUiLCJERUZBVUxUX1NUQVRFIiwiY3JlYXRlTm90aWZpY2F0aW9uc1JlZHVjZXIiLCJfcmVmIiwiRGF0ZSIsIm5vdGlmaWNhdGlvbnMiLCJzdGF0ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImFjdGlvbiIsInR5cGUiLCJub3ciLCJESVNNSVNTX05PVElGSUNBVElPTiIsInVwZGF0ZUluIiwicGF5bG9hZCIsImlkIiwiU0FHQV9FUlJPUiIsIlNFVF9OT1RJRklDQVRJT04iLCJfYWN0aW9uJHBheWxvYWQiLCJhbHQiLCJkYXRhIiwibGV2ZWwiLCJtZXNzYWdlIiwiaXNGb3JiaWRkZW5Qcm9wZXJ0eU5hbWUiLCJub3RpZmljYXRpb24iLCJPYmplY3QiLCJpcyIsInRpbWVzdGFtcCJdLCJzb3VyY2VSb290IjoiY29yZTovLy8iLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWR1Y2Vycy9jcmVhdGVOb3RpZmljYXRpb25zUmVkdWNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdXBkYXRlSW4gZnJvbSAnc2ltcGxlLXVwZGF0ZS1pbic7XG5cbmltcG9ydCB7IERJU01JU1NfTk9USUZJQ0FUSU9OIH0gZnJvbSAnLi4vYWN0aW9ucy9kaXNtaXNzTm90aWZpY2F0aW9uJztcbmltcG9ydCB7IFNBR0FfRVJST1IgfSBmcm9tICcuLi9hY3Rpb25zL3NhZ2FFcnJvcic7XG5pbXBvcnQgeyBTRVRfTk9USUZJQ0FUSU9OIH0gZnJvbSAnLi4vYWN0aW9ucy9zZXROb3RpZmljYXRpb24nO1xuaW1wb3J0IGlzRm9yYmlkZGVuUHJvcGVydHlOYW1lIGZyb20gJy4uL3V0aWxzL2lzRm9yYmlkZGVuUHJvcGVydHlOYW1lJztcblxuaW1wb3J0IHR5cGUgeyBEaXNtaXNzTm90aWZpY2F0aW9uQWN0aW9uIH0gZnJvbSAnLi4vYWN0aW9ucy9kaXNtaXNzTm90aWZpY2F0aW9uJztcbmltcG9ydCB0eXBlIHsgR2xvYmFsU2NvcGVQb255ZmlsbCB9IGZyb20gJy4uL3R5cGVzL0dsb2JhbFNjb3BlUG9ueWZpbGwnO1xuaW1wb3J0IHR5cGUgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi90eXBlcy9pbnRlcm5hbC9Ob3RpZmljYXRpb24nO1xuaW1wb3J0IHR5cGUgeyBSZWR1Y2VyIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IHR5cGUgeyBTYWdhRXJyb3JBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL3NhZ2FFcnJvcic7XG5pbXBvcnQgdHlwZSB7IFNldE5vdGlmaWNhdGlvbkFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvc2V0Tm90aWZpY2F0aW9uJztcblxudHlwZSBOb3RpZmljYXRpb25zQWN0aW9uID0gRGlzbWlzc05vdGlmaWNhdGlvbkFjdGlvbiB8IFNhZ2FFcnJvckFjdGlvbiB8IFNldE5vdGlmaWNhdGlvbkFjdGlvbjtcbnR5cGUgTm90aWZpY2F0aW9uc1N0YXRlID0gUmVjb3JkPHN0cmluZywgTm90aWZpY2F0aW9uPjtcblxuY29uc3QgREVGQVVMVF9TVEFURTogTm90aWZpY2F0aW9uc1N0YXRlID0ge307XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZU5vdGlmaWNhdGlvbnNSZWR1Y2VyKHtcbiAgRGF0ZVxufTogR2xvYmFsU2NvcGVQb255ZmlsbCk6IFJlZHVjZXI8Tm90aWZpY2F0aW9uc1N0YXRlLCBOb3RpZmljYXRpb25zQWN0aW9uPiB7XG4gIHJldHVybiBmdW5jdGlvbiBub3RpZmljYXRpb25zKFxuICAgIHN0YXRlOiBOb3RpZmljYXRpb25zU3RhdGUgPSBERUZBVUxUX1NUQVRFLFxuICAgIGFjdGlvbjogTm90aWZpY2F0aW9uc0FjdGlvblxuICApOiBOb3RpZmljYXRpb25zU3RhdGUge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gYWN0aW9uO1xuICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG5cbiAgICBpZiAodHlwZSA9PT0gRElTTUlTU19OT1RJRklDQVRJT04pIHtcbiAgICAgIHN0YXRlID0gdXBkYXRlSW4oc3RhdGUsIFthY3Rpb24ucGF5bG9hZC5pZF0pO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gU0FHQV9FUlJPUikge1xuICAgICAgc3RhdGUgPSB1cGRhdGVJbihzdGF0ZSwgWydjb25uZWN0aXZpdHlzdGF0dXMnLCAnbWVzc2FnZSddLCAoKSA9PiAnamF2YXNjcmlwdGVycm9yJyk7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSBTRVRfTk9USUZJQ0FUSU9OKSB7XG4gICAgICBjb25zdCB7IGFsdCwgZGF0YSwgaWQsIGxldmVsLCBtZXNzYWdlIH0gPSBhY3Rpb24ucGF5bG9hZDtcblxuICAgICAgaWYgKCFpc0ZvcmJpZGRlblByb3BlcnR5TmFtZShpZCkpIHtcbiAgICAgICAgLy8gTWl0aWdhdGVkIHRocm91Z2ggZGVueWxpc3RpbmcuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWN1cml0eS9kZXRlY3Qtb2JqZWN0LWluamVjdGlvblxuICAgICAgICBjb25zdCBub3RpZmljYXRpb24gPSBzdGF0ZVtpZF07XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICFub3RpZmljYXRpb24gfHxcbiAgICAgICAgICBhbHQgIT09IG5vdGlmaWNhdGlvbi5hbHQgfHxcbiAgICAgICAgICAhT2JqZWN0LmlzKGRhdGEsIG5vdGlmaWNhdGlvbi5kYXRhKSB8fFxuICAgICAgICAgIGxldmVsICE9PSBub3RpZmljYXRpb24ubGV2ZWwgfHxcbiAgICAgICAgICBtZXNzYWdlICE9PSBub3RpZmljYXRpb24ubWVzc2FnZVxuICAgICAgICApIHtcbiAgICAgICAgICBzdGF0ZSA9IHVwZGF0ZUluKHN0YXRlLCBbaWRdLCAoKSA9PiAoe1xuICAgICAgICAgICAgYWx0LFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgbGV2ZWwsXG4gICAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgICAgdGltZXN0YW1wOiBub3dcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGU7XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxlQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxvQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsZ0JBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLHdCQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFZQSxJQUFNSyxhQUFpQyxHQUFHLENBQUMsQ0FBQztBQUU3QixTQUFTQywwQkFBMEJBLENBQUFDLElBQUEsRUFFd0I7RUFBQSxJQUR4RUMsSUFBSSxHQUFBRCxJQUFBLENBQUpDLElBQUk7RUFFSixPQUFPLFNBQVNDLGFBQWFBLENBQUEsRUFHUDtJQUFBLElBRnBCQyxLQUF5QixHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBR04sYUFBYTtJQUFBLElBQ3pDUyxNQUEyQixHQUFBSCxTQUFBLENBQUFDLE1BQUEsT0FBQUQsU0FBQSxNQUFBRSxTQUFBO0lBRTNCLElBQVFFLElBQUksR0FBS0QsTUFBTSxDQUFmQyxJQUFJO0lBQ1osSUFBTUMsR0FBRyxHQUFHUixJQUFJLENBQUNRLEdBQUcsQ0FBQyxDQUFDO0lBRXRCLElBQUlELElBQUksS0FBS0UseUNBQW9CLEVBQUU7TUFDakNQLEtBQUssR0FBRyxJQUFBUSwwQkFBUSxFQUFDUixLQUFLLEVBQUUsQ0FBQ0ksTUFBTSxDQUFDSyxPQUFPLENBQUNDLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUMsTUFBTSxJQUFJTCxJQUFJLEtBQUtNLHFCQUFVLEVBQUU7TUFDOUJYLEtBQUssR0FBRyxJQUFBUSwwQkFBUSxFQUFDUixLQUFLLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxTQUFTLENBQUMsRUFBRTtRQUFBLE9BQU0saUJBQWlCO01BQUEsRUFBQztJQUNyRixDQUFDLE1BQU0sSUFBSUssSUFBSSxLQUFLTyxpQ0FBZ0IsRUFBRTtNQUNwQyxJQUFBQyxlQUFBLEdBQTBDVCxNQUFNLENBQUNLLE9BQU87UUFBaERLLEdBQUcsR0FBQUQsZUFBQSxDQUFIQyxHQUFHO1FBQUVDLElBQUksR0FBQUYsZUFBQSxDQUFKRSxJQUFJO1FBQUVMLEVBQUUsR0FBQUcsZUFBQSxDQUFGSCxFQUFFO1FBQUVNLEtBQUssR0FBQUgsZUFBQSxDQUFMRyxLQUFLO1FBQUVDLE9BQU8sR0FBQUosZUFBQSxDQUFQSSxPQUFPO01BRXJDLElBQUksQ0FBQyxJQUFBQyxtQ0FBdUIsRUFBQ1IsRUFBRSxDQUFDLEVBQUU7UUFDaEM7UUFDQTtRQUNBLElBQU1TLFlBQVksR0FBR25CLEtBQUssQ0FBQ1UsRUFBRSxDQUFDO1FBRTlCLElBQ0UsQ0FBQ1MsWUFBWSxJQUNiTCxHQUFHLEtBQUtLLFlBQVksQ0FBQ0wsR0FBRyxJQUN4QixDQUFDTSxNQUFNLENBQUNDLEVBQUUsQ0FBQ04sSUFBSSxFQUFFSSxZQUFZLENBQUNKLElBQUksQ0FBQyxJQUNuQ0MsS0FBSyxLQUFLRyxZQUFZLENBQUNILEtBQUssSUFDNUJDLE9BQU8sS0FBS0UsWUFBWSxDQUFDRixPQUFPLEVBQ2hDO1VBQ0FqQixLQUFLLEdBQUcsSUFBQVEsMEJBQVEsRUFBQ1IsS0FBSyxFQUFFLENBQUNVLEVBQUUsQ0FBQyxFQUFFO1lBQUEsT0FBTztjQUNuQ0ksR0FBRyxFQUFIQSxHQUFHO2NBQ0hDLElBQUksRUFBSkEsSUFBSTtjQUNKTCxFQUFFLEVBQUZBLEVBQUU7Y0FDRk0sS0FBSyxFQUFMQSxLQUFLO2NBQ0xDLE9BQU8sRUFBUEEsT0FBTztjQUNQSyxTQUFTLEVBQUVoQjtZQUNiLENBQUM7VUFBQSxDQUFDLENBQUM7UUFDTDtNQUNGO0lBQ0Y7SUFFQSxPQUFPTixLQUFLO0VBQ2QsQ0FBQztBQUNIIn0=
@@ -1,14 +0,0 @@
1
- import type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';
2
- import type { IncomingActivityAction } from '../actions/incomingActivity';
3
- import type { PostActivityPendingAction } from '../actions/postActivity';
4
- import type { Reducer } from 'redux';
5
- type TypingState = Record<string, {
6
- at: number;
7
- last: number;
8
- name: string;
9
- role: 'bot' | 'channel' | 'user';
10
- }>;
11
- type TypingAction = IncomingActivityAction | PostActivityPendingAction;
12
- export default function createLastTypingReducer({ Date }: GlobalScopePonyfill): Reducer<TypingState, TypingAction>;
13
- export {};
14
- //# sourceMappingURL=createTypingReducer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createTypingReducer.d.ts","sourceRoot":"","sources":["../../src/reducers/createTypingReducer.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAErC,KAAK,WAAW,GAAG,MAAM,CACvB,MAAM,EACN;IACE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;CAClC,CACF,CAAC;AACF,KAAK,YAAY,GAAG,sBAAsB,GAAG,yBAAyB,CAAC;AAIvE,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAAE,IAAI,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAwBjH"}
@@ -1,50 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = createLastTypingReducer;
8
- var _simpleUpdateIn = _interopRequireDefault(require("simple-update-in"));
9
- var _incomingActivity = require("../actions/incomingActivity");
10
- var _postActivity = require("../actions/postActivity");
11
- /* eslint no-case-declarations: "off" */
12
- /* eslint no-unused-vars: "off" */
13
-
14
- var DEFAULT_STATE = {};
15
- function createLastTypingReducer(_ref) {
16
- var Date = _ref.Date;
17
- return function lastTyping() {
18
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_STATE;
19
- var _ref2 = arguments.length > 1 ? arguments[1] : undefined,
20
- payload = _ref2.payload,
21
- type = _ref2.type;
22
- if (type === _incomingActivity.INCOMING_ACTIVITY || type === _postActivity.POST_ACTIVITY_PENDING) {
23
- var _payload$activity = payload.activity,
24
- _payload$activity$fro = _payload$activity.from,
25
- id = _payload$activity$fro.id,
26
- name = _payload$activity$fro.name,
27
- role = _payload$activity$fro.role,
28
- activityType = _payload$activity.type;
29
- if (activityType === 'typing') {
30
- var now = Date.now();
31
- state = (0, _simpleUpdateIn["default"])(state, [id, 'at'], function (at) {
32
- return at || now;
33
- });
34
- state = (0, _simpleUpdateIn["default"])(state, [id, 'last'], function () {
35
- return now;
36
- });
37
- state = (0, _simpleUpdateIn["default"])(state, [id, 'name'], function () {
38
- return name;
39
- });
40
- state = (0, _simpleUpdateIn["default"])(state, [id, 'role'], function () {
41
- return role;
42
- });
43
- } else if (activityType === 'message') {
44
- state = (0, _simpleUpdateIn["default"])(state, [id]);
45
- }
46
- }
47
- return state;
48
- };
49
- }
50
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2ltcGxlVXBkYXRlSW4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9pbmNvbWluZ0FjdGl2aXR5IiwiX3Bvc3RBY3Rpdml0eSIsIkRFRkFVTFRfU1RBVEUiLCJjcmVhdGVMYXN0VHlwaW5nUmVkdWNlciIsIl9yZWYiLCJEYXRlIiwibGFzdFR5cGluZyIsInN0YXRlIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiX3JlZjIiLCJwYXlsb2FkIiwidHlwZSIsIklOQ09NSU5HX0FDVElWSVRZIiwiUE9TVF9BQ1RJVklUWV9QRU5ESU5HIiwiX3BheWxvYWQkYWN0aXZpdHkiLCJhY3Rpdml0eSIsIl9wYXlsb2FkJGFjdGl2aXR5JGZybyIsImZyb20iLCJpZCIsIm5hbWUiLCJyb2xlIiwiYWN0aXZpdHlUeXBlIiwibm93IiwidXBkYXRlSW4iLCJhdCJdLCJzb3VyY2VSb290IjoiY29yZTovLy8iLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWR1Y2Vycy9jcmVhdGVUeXBpbmdSZWR1Y2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBuby1jYXNlLWRlY2xhcmF0aW9uczogXCJvZmZcIiAqL1xuLyogZXNsaW50IG5vLXVudXNlZC12YXJzOiBcIm9mZlwiICovXG5cbmltcG9ydCB1cGRhdGVJbiBmcm9tICdzaW1wbGUtdXBkYXRlLWluJztcblxuaW1wb3J0IHsgSU5DT01JTkdfQUNUSVZJVFkgfSBmcm9tICcuLi9hY3Rpb25zL2luY29taW5nQWN0aXZpdHknO1xuaW1wb3J0IHsgUE9TVF9BQ1RJVklUWV9QRU5ESU5HIH0gZnJvbSAnLi4vYWN0aW9ucy9wb3N0QWN0aXZpdHknO1xuXG5pbXBvcnQgdHlwZSB7IEdsb2JhbFNjb3BlUG9ueWZpbGwgfSBmcm9tICcuLi90eXBlcy9HbG9iYWxTY29wZVBvbnlmaWxsJztcbmltcG9ydCB0eXBlIHsgSW5jb21pbmdBY3Rpdml0eUFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvaW5jb21pbmdBY3Rpdml0eSc7XG5pbXBvcnQgdHlwZSB7IFBvc3RBY3Rpdml0eVBlbmRpbmdBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL3Bvc3RBY3Rpdml0eSc7XG5pbXBvcnQgdHlwZSB7IFJlZHVjZXIgfSBmcm9tICdyZWR1eCc7XG5cbnR5cGUgVHlwaW5nU3RhdGUgPSBSZWNvcmQ8XG4gIHN0cmluZyxcbiAge1xuICAgIGF0OiBudW1iZXI7XG4gICAgbGFzdDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICByb2xlOiAnYm90JyB8ICdjaGFubmVsJyB8ICd1c2VyJztcbiAgfVxuPjtcbnR5cGUgVHlwaW5nQWN0aW9uID0gSW5jb21pbmdBY3Rpdml0eUFjdGlvbiB8IFBvc3RBY3Rpdml0eVBlbmRpbmdBY3Rpb247XG5cbmNvbnN0IERFRkFVTFRfU1RBVEU6IFR5cGluZ1N0YXRlID0ge307XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZUxhc3RUeXBpbmdSZWR1Y2VyKHsgRGF0ZSB9OiBHbG9iYWxTY29wZVBvbnlmaWxsKTogUmVkdWNlcjxUeXBpbmdTdGF0ZSwgVHlwaW5nQWN0aW9uPiB7XG4gIHJldHVybiBmdW5jdGlvbiBsYXN0VHlwaW5nKHN0YXRlOiBUeXBpbmdTdGF0ZSA9IERFRkFVTFRfU1RBVEUsIHsgcGF5bG9hZCwgdHlwZSB9OiBUeXBpbmdBY3Rpb24pOiBUeXBpbmdTdGF0ZSB7XG4gICAgaWYgKHR5cGUgPT09IElOQ09NSU5HX0FDVElWSVRZIHx8IHR5cGUgPT09IFBPU1RfQUNUSVZJVFlfUEVORElORykge1xuICAgICAgY29uc3Qge1xuICAgICAgICBhY3Rpdml0eToge1xuICAgICAgICAgIGZyb206IHsgaWQsIG5hbWUsIHJvbGUgfSxcbiAgICAgICAgICB0eXBlOiBhY3Rpdml0eVR5cGVcbiAgICAgICAgfVxuICAgICAgfSA9IHBheWxvYWQ7XG5cbiAgICAgIGlmIChhY3Rpdml0eVR5cGUgPT09ICd0eXBpbmcnKSB7XG4gICAgICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG5cbiAgICAgICAgc3RhdGUgPSB1cGRhdGVJbihzdGF0ZSwgW2lkLCAnYXQnXSwgYXQgPT4gYXQgfHwgbm93KTtcbiAgICAgICAgc3RhdGUgPSB1cGRhdGVJbihzdGF0ZSwgW2lkLCAnbGFzdCddLCAoKSA9PiBub3cpO1xuICAgICAgICBzdGF0ZSA9IHVwZGF0ZUluKHN0YXRlLCBbaWQsICduYW1lJ10sICgpID0+IG5hbWUpO1xuICAgICAgICBzdGF0ZSA9IHVwZGF0ZUluKHN0YXRlLCBbaWQsICdyb2xlJ10sICgpID0+IHJvbGUpO1xuICAgICAgfSBlbHNlIGlmIChhY3Rpdml0eVR5cGUgPT09ICdtZXNzYWdlJykge1xuICAgICAgICBzdGF0ZSA9IHVwZGF0ZUluKHN0YXRlLCBbaWRdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGU7XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSxJQUFBQSxlQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxpQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsYUFBQSxHQUFBRixPQUFBO0FBTkE7QUFDQTs7QUF1QkEsSUFBTUcsYUFBMEIsR0FBRyxDQUFDLENBQUM7QUFFdEIsU0FBU0MsdUJBQXVCQSxDQUFBQyxJQUFBLEVBQW9FO0VBQUEsSUFBakVDLElBQUksR0FBQUQsSUFBQSxDQUFKQyxJQUFJO0VBQ3BELE9BQU8sU0FBU0MsVUFBVUEsQ0FBQSxFQUFtRjtJQUFBLElBQWxGQyxLQUFrQixHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBR04sYUFBYTtJQUFBLElBQUFTLEtBQUEsR0FBQUgsU0FBQSxDQUFBQyxNQUFBLE9BQUFELFNBQUEsTUFBQUUsU0FBQTtNQUFJRSxPQUFPLEdBQUFELEtBQUEsQ0FBUEMsT0FBTztNQUFFQyxJQUFJLEdBQUFGLEtBQUEsQ0FBSkUsSUFBSTtJQUM1RSxJQUFJQSxJQUFJLEtBQUtDLG1DQUFpQixJQUFJRCxJQUFJLEtBQUtFLG1DQUFxQixFQUFFO01BQ2hFLElBQUFDLGlCQUFBLEdBS0lKLE9BQU8sQ0FKVEssUUFBUTtRQUFBQyxxQkFBQSxHQUFBRixpQkFBQSxDQUNORyxJQUFJO1FBQUlDLEVBQUUsR0FBQUYscUJBQUEsQ0FBRkUsRUFBRTtRQUFFQyxJQUFJLEdBQUFILHFCQUFBLENBQUpHLElBQUk7UUFBRUMsSUFBSSxHQUFBSixxQkFBQSxDQUFKSSxJQUFJO1FBQ2hCQyxZQUFZLEdBQUFQLGlCQUFBLENBQWxCSCxJQUFJO01BSVIsSUFBSVUsWUFBWSxLQUFLLFFBQVEsRUFBRTtRQUM3QixJQUFNQyxHQUFHLEdBQUduQixJQUFJLENBQUNtQixHQUFHLENBQUMsQ0FBQztRQUV0QmpCLEtBQUssR0FBRyxJQUFBa0IsMEJBQVEsRUFBQ2xCLEtBQUssRUFBRSxDQUFDYSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsVUFBQU0sRUFBRTtVQUFBLE9BQUlBLEVBQUUsSUFBSUYsR0FBRztRQUFBLEVBQUM7UUFDcERqQixLQUFLLEdBQUcsSUFBQWtCLDBCQUFRLEVBQUNsQixLQUFLLEVBQUUsQ0FBQ2EsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFO1VBQUEsT0FBTUksR0FBRztRQUFBLEVBQUM7UUFDaERqQixLQUFLLEdBQUcsSUFBQWtCLDBCQUFRLEVBQUNsQixLQUFLLEVBQUUsQ0FBQ2EsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFO1VBQUEsT0FBTUMsSUFBSTtRQUFBLEVBQUM7UUFDakRkLEtBQUssR0FBRyxJQUFBa0IsMEJBQVEsRUFBQ2xCLEtBQUssRUFBRSxDQUFDYSxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7VUFBQSxPQUFNRSxJQUFJO1FBQUEsRUFBQztNQUNuRCxDQUFDLE1BQU0sSUFBSUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtRQUNyQ2hCLEtBQUssR0FBRyxJQUFBa0IsMEJBQVEsRUFBQ2xCLEtBQUssRUFBRSxDQUFDYSxFQUFFLENBQUMsQ0FBQztNQUMvQjtJQUNGO0lBRUEsT0FBT2IsS0FBSztFQUNkLENBQUM7QUFDSCJ9
@@ -1,23 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = dictateInterims;
7
- var _setDictateInterims = require("../actions/setDictateInterims");
8
- var DEFAULT_STATE = [];
9
- function dictateInterims() {
10
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_STATE;
11
- var _ref = arguments.length > 1 ? arguments[1] : undefined,
12
- payload = _ref.payload,
13
- type = _ref.type;
14
- switch (type) {
15
- case _setDictateInterims.SET_DICTATE_INTERIMS:
16
- state = payload.dictateInterims;
17
- break;
18
- default:
19
- break;
20
- }
21
- return state;
22
- }
23
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2V0RGljdGF0ZUludGVyaW1zIiwicmVxdWlyZSIsIkRFRkFVTFRfU1RBVEUiLCJkaWN0YXRlSW50ZXJpbXMiLCJzdGF0ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIl9yZWYiLCJwYXlsb2FkIiwidHlwZSIsIlNFVF9ESUNUQVRFX0lOVEVSSU1TIl0sInNvdXJjZVJvb3QiOiJjb3JlOi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlZHVjZXJzL2RpY3RhdGVJbnRlcmltcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTRVRfRElDVEFURV9JTlRFUklNUyB9IGZyb20gJy4uL2FjdGlvbnMvc2V0RGljdGF0ZUludGVyaW1zJztcblxuY29uc3QgREVGQVVMVF9TVEFURSA9IFtdO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkaWN0YXRlSW50ZXJpbXMoc3RhdGUgPSBERUZBVUxUX1NUQVRFLCB7IHBheWxvYWQsIHR5cGUgfSkge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFNFVF9ESUNUQVRFX0lOVEVSSU1TOlxuICAgICAgc3RhdGUgPSBwYXlsb2FkLmRpY3RhdGVJbnRlcmltcztcbiAgICAgIGJyZWFrO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxtQkFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBTUMsYUFBYSxHQUFHLEVBQUU7QUFFVCxTQUFTQyxlQUFlQSxDQUFBLEVBQTJDO0VBQUEsSUFBMUNDLEtBQUssR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUdILGFBQWE7RUFBQSxJQUFBTSxJQUFBLEdBQUFILFNBQUEsQ0FBQUMsTUFBQSxPQUFBRCxTQUFBLE1BQUFFLFNBQUE7SUFBSUUsT0FBTyxHQUFBRCxJQUFBLENBQVBDLE9BQU87SUFBRUMsSUFBSSxHQUFBRixJQUFBLENBQUpFLElBQUk7RUFDNUUsUUFBUUEsSUFBSTtJQUNWLEtBQUtDLHdDQUFvQjtNQUN2QlAsS0FBSyxHQUFHSyxPQUFPLENBQUNOLGVBQWU7TUFDL0I7SUFFRjtNQUNFO0VBQ0o7RUFFQSxPQUFPQyxLQUFLO0FBQ2QifQ==
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = dictateState;
7
- var _DictateState = require("../constants/DictateState");
8
- var _setDictateState = require("../actions/setDictateState");
9
- var _startDictate = require("../actions/startDictate");
10
- var _stopDictate = require("../actions/stopDictate");
11
- var DEFAULT_STATE = _DictateState.IDLE;
12
- function dictateState() {
13
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_STATE;
14
- var _ref = arguments.length > 1 ? arguments[1] : undefined,
15
- payload = _ref.payload,
16
- type = _ref.type;
17
- switch (type) {
18
- case _setDictateState.SET_DICTATE_STATE:
19
- state = payload.dictateState;
20
- break;
21
- case _startDictate.START_DICTATE:
22
- if (state === _DictateState.IDLE || state === _DictateState.STOPPING || state === _DictateState.WILL_START) {
23
- state = _DictateState.STARTING;
24
- }
25
- break;
26
- case _stopDictate.STOP_DICTATE:
27
- if (state === _DictateState.STARTING || state === _DictateState.DICTATING) {
28
- state = _DictateState.STOPPING;
29
- } else if (state === _DictateState.WILL_START) {
30
- state = _DictateState.IDLE;
31
- }
32
- break;
33
- default:
34
- break;
35
- }
36
- return state;
37
- }
38
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRGljdGF0ZVN0YXRlIiwicmVxdWlyZSIsIl9zZXREaWN0YXRlU3RhdGUiLCJfc3RhcnREaWN0YXRlIiwiX3N0b3BEaWN0YXRlIiwiREVGQVVMVF9TVEFURSIsIklETEUiLCJkaWN0YXRlU3RhdGUiLCJzdGF0ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIl9yZWYiLCJwYXlsb2FkIiwidHlwZSIsIlNFVF9ESUNUQVRFX1NUQVRFIiwiU1RBUlRfRElDVEFURSIsIlNUT1BQSU5HIiwiV0lMTF9TVEFSVCIsIlNUQVJUSU5HIiwiU1RPUF9ESUNUQVRFIiwiRElDVEFUSU5HIl0sInNvdXJjZVJvb3QiOiJjb3JlOi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlZHVjZXJzL2RpY3RhdGVTdGF0ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBESUNUQVRJTkcsIElETEUsIFNUQVJUSU5HLCBTVE9QUElORywgV0lMTF9TVEFSVCB9IGZyb20gJy4uL2NvbnN0YW50cy9EaWN0YXRlU3RhdGUnO1xuXG5pbXBvcnQgeyBTRVRfRElDVEFURV9TVEFURSB9IGZyb20gJy4uL2FjdGlvbnMvc2V0RGljdGF0ZVN0YXRlJztcbmltcG9ydCB7IFNUQVJUX0RJQ1RBVEUgfSBmcm9tICcuLi9hY3Rpb25zL3N0YXJ0RGljdGF0ZSc7XG5pbXBvcnQgeyBTVE9QX0RJQ1RBVEUgfSBmcm9tICcuLi9hY3Rpb25zL3N0b3BEaWN0YXRlJztcblxuY29uc3QgREVGQVVMVF9TVEFURSA9IElETEU7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGRpY3RhdGVTdGF0ZShzdGF0ZSA9IERFRkFVTFRfU1RBVEUsIHsgcGF5bG9hZCwgdHlwZSB9KSB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgU0VUX0RJQ1RBVEVfU1RBVEU6XG4gICAgICBzdGF0ZSA9IHBheWxvYWQuZGljdGF0ZVN0YXRlO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFNUQVJUX0RJQ1RBVEU6XG4gICAgICBpZiAoc3RhdGUgPT09IElETEUgfHwgc3RhdGUgPT09IFNUT1BQSU5HIHx8IHN0YXRlID09PSBXSUxMX1NUQVJUKSB7XG4gICAgICAgIHN0YXRlID0gU1RBUlRJTkc7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBTVE9QX0RJQ1RBVEU6XG4gICAgICBpZiAoc3RhdGUgPT09IFNUQVJUSU5HIHx8IHN0YXRlID09PSBESUNUQVRJTkcpIHtcbiAgICAgICAgc3RhdGUgPSBTVE9QUElORztcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09IFdJTExfU1RBUlQpIHtcbiAgICAgICAgc3RhdGUgPSBJRExFO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBzdGF0ZTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsYUFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsZ0JBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGFBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFlBQUEsR0FBQUgsT0FBQTtBQUVBLElBQU1JLGFBQWEsR0FBR0Msa0JBQUk7QUFFWCxTQUFTQyxZQUFZQSxDQUFBLEVBQTJDO0VBQUEsSUFBMUNDLEtBQUssR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUdKLGFBQWE7RUFBQSxJQUFBTyxJQUFBLEdBQUFILFNBQUEsQ0FBQUMsTUFBQSxPQUFBRCxTQUFBLE1BQUFFLFNBQUE7SUFBSUUsT0FBTyxHQUFBRCxJQUFBLENBQVBDLE9BQU87SUFBRUMsSUFBSSxHQUFBRixJQUFBLENBQUpFLElBQUk7RUFDekUsUUFBUUEsSUFBSTtJQUNWLEtBQUtDLGtDQUFpQjtNQUNwQlAsS0FBSyxHQUFHSyxPQUFPLENBQUNOLFlBQVk7TUFDNUI7SUFFRixLQUFLUywyQkFBYTtNQUNoQixJQUFJUixLQUFLLEtBQUtGLGtCQUFJLElBQUlFLEtBQUssS0FBS1Msc0JBQVEsSUFBSVQsS0FBSyxLQUFLVSx3QkFBVSxFQUFFO1FBQ2hFVixLQUFLLEdBQUdXLHNCQUFRO01BQ2xCO01BRUE7SUFFRixLQUFLQyx5QkFBWTtNQUNmLElBQUlaLEtBQUssS0FBS1csc0JBQVEsSUFBSVgsS0FBSyxLQUFLYSx1QkFBUyxFQUFFO1FBQzdDYixLQUFLLEdBQUdTLHNCQUFRO01BQ2xCLENBQUMsTUFBTSxJQUFJVCxLQUFLLEtBQUtVLHdCQUFVLEVBQUU7UUFDL0JWLEtBQUssR0FBR0Ysa0JBQUk7TUFDZDtNQUVBO0lBRUY7TUFDRTtFQUNKO0VBRUEsT0FBT0UsS0FBSztBQUNkIn0=
@@ -1,23 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = language;
7
- var _setLanguage = require("../actions/setLanguage");
8
- var DEFAULT_STATE = 'en-US';
9
- function language() {
10
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_STATE;
11
- var _ref = arguments.length > 1 ? arguments[1] : undefined,
12
- payload = _ref.payload,
13
- type = _ref.type;
14
- switch (type) {
15
- case _setLanguage.SET_LANGUAGE:
16
- state = payload.language;
17
- break;
18
- default:
19
- break;
20
- }
21
- return state;
22
- }
23
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2V0TGFuZ3VhZ2UiLCJyZXF1aXJlIiwiREVGQVVMVF9TVEFURSIsImxhbmd1YWdlIiwic3RhdGUiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJfcmVmIiwicGF5bG9hZCIsInR5cGUiLCJTRVRfTEFOR1VBR0UiXSwic291cmNlUm9vdCI6ImNvcmU6Ly8vIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVkdWNlcnMvbGFuZ3VhZ2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0VUX0xBTkdVQUdFIH0gZnJvbSAnLi4vYWN0aW9ucy9zZXRMYW5ndWFnZSc7XG5cbmNvbnN0IERFRkFVTFRfU1RBVEUgPSAnZW4tVVMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBsYW5ndWFnZShzdGF0ZSA9IERFRkFVTFRfU1RBVEUsIHsgcGF5bG9hZCwgdHlwZSB9KSB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgU0VUX0xBTkdVQUdFOlxuICAgICAgc3RhdGUgPSBwYXlsb2FkLmxhbmd1YWdlO1xuICAgICAgYnJlYWs7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gc3RhdGU7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFlBQUEsR0FBQUMsT0FBQTtBQUVBLElBQU1DLGFBQWEsR0FBRyxPQUFPO0FBRWQsU0FBU0MsUUFBUUEsQ0FBQSxFQUEyQztFQUFBLElBQTFDQyxLQUFLLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHSCxhQUFhO0VBQUEsSUFBQU0sSUFBQSxHQUFBSCxTQUFBLENBQUFDLE1BQUEsT0FBQUQsU0FBQSxNQUFBRSxTQUFBO0lBQUlFLE9BQU8sR0FBQUQsSUFBQSxDQUFQQyxPQUFPO0lBQUVDLElBQUksR0FBQUYsSUFBQSxDQUFKRSxJQUFJO0VBQ3JFLFFBQVFBLElBQUk7SUFDVixLQUFLQyx5QkFBWTtNQUNmUCxLQUFLLEdBQUdLLE9BQU8sQ0FBQ04sUUFBUTtNQUN4QjtJQUVGO01BQ0U7RUFDSjtFQUVBLE9BQU9DLEtBQUs7QUFDZCJ9
@@ -1,4 +0,0 @@
1
- type Position = 'after' | 'before' | 'unknown';
2
- export default function findBeforeAfter<T>(array: T[], getPosition: (value: T) => Position): [T | undefined, T | undefined, number | undefined];
3
- export {};
4
- //# sourceMappingURL=findBeforeAfter.d.ts.map