botframework-webchat-core 4.14.1 → 4.15.2-main.20220413.af6e8a3

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 (238) hide show
  1. package/.eslintrc.yml +4 -198
  2. package/.prettierrc.yml +1 -1
  3. package/babel.config.json +1 -1
  4. package/lib/actions/clearSuggestedActions.js +1 -1
  5. package/lib/actions/connect.js +1 -1
  6. package/lib/actions/connectionStatusUpdate.js +1 -1
  7. package/lib/actions/deleteActivity.d.ts +13 -0
  8. package/lib/actions/deleteActivity.d.ts.map +1 -0
  9. package/lib/actions/deleteActivity.js +5 -3
  10. package/lib/actions/disconnect.js +1 -1
  11. package/lib/actions/dismissNotification.js +1 -1
  12. package/lib/actions/emitTypingIndicator.js +1 -1
  13. package/lib/actions/incomingActivity.d.ts +14 -0
  14. package/lib/actions/incomingActivity.d.ts.map +1 -0
  15. package/lib/actions/incomingActivity.js +5 -3
  16. package/lib/actions/markActivity.d.ts +17 -0
  17. package/lib/actions/markActivity.d.ts.map +1 -0
  18. package/lib/actions/markActivity.js +5 -3
  19. package/lib/actions/postActivity.d.ts +52 -0
  20. package/lib/actions/postActivity.d.ts.map +1 -0
  21. package/lib/actions/postActivity.js +5 -3
  22. package/lib/actions/queueIncomingActivity.js +1 -1
  23. package/lib/actions/sagaError.js +1 -1
  24. package/lib/actions/sendEvent.js +1 -1
  25. package/lib/actions/sendFiles.js +1 -1
  26. package/lib/actions/sendMessage.js +1 -1
  27. package/lib/actions/sendMessageBack.js +1 -1
  28. package/lib/actions/sendPostBack.js +1 -1
  29. package/lib/actions/setDictateInterims.js +1 -1
  30. package/lib/actions/setDictateState.js +1 -1
  31. package/lib/actions/setLanguage.js +1 -1
  32. package/lib/actions/setNotification.js +2 -2
  33. package/lib/actions/setReferenceGrammarID.js +1 -1
  34. package/lib/actions/setSendBox.js +1 -1
  35. package/lib/actions/setSendTimeout.js +1 -1
  36. package/lib/actions/setSendTypingIndicator.js +1 -1
  37. package/lib/actions/setSuggestedActions.js +1 -1
  38. package/lib/actions/startDictate.js +1 -1
  39. package/lib/actions/startSpeakingActivity.js +1 -1
  40. package/lib/actions/stopDictate.js +1 -1
  41. package/lib/actions/stopSpeakingActivity.js +1 -1
  42. package/lib/actions/submitSendBox.js +1 -1
  43. package/lib/actions/updateConnectionStatus.js +1 -1
  44. package/lib/constants/ActivityClientState.js +1 -1
  45. package/lib/createStore.d.ts.map +1 -1
  46. package/lib/createStore.js +5 -5
  47. package/lib/definitions/speakingActivity.js +4 -2
  48. package/lib/index.d.ts +17 -15
  49. package/lib/index.d.ts.map +1 -1
  50. package/lib/index.js +12 -3
  51. package/lib/reducer.d.ts +1 -2
  52. package/lib/reducer.d.ts.map +1 -1
  53. package/lib/reducer.js +1 -4
  54. package/lib/reducers/activities.d.ts +10 -0
  55. package/lib/reducers/activities.d.ts.map +1 -0
  56. package/lib/reducers/activities.js +65 -45
  57. package/lib/reducers/notifications.js +21 -14
  58. package/lib/reducers/typing.js +13 -7
  59. package/lib/sagas/connectionStatusToNotificationSaga.js +1 -1
  60. package/lib/sagas/effects/observeOnce.js +1 -1
  61. package/lib/sagas/effects/whileConnected.js +1 -1
  62. package/lib/sagas/observeActivitySaga.js +21 -3
  63. package/lib/sagas/postActivitySaga.js +51 -72
  64. package/lib/sagas/queueIncomingActivitySaga.js +1 -1
  65. package/lib/sagas/sendFilesToPostActivitySaga.js +4 -4
  66. package/lib/sagas/sendMessageBackToPostActivitySaga.js +1 -1
  67. package/lib/sagas/sendTypingIndicatorOnSetSendBoxSaga.js +1 -1
  68. package/lib/sagas/speakActivityAndStartDictateOnIncomingActivityFromOthersSaga.js +1 -1
  69. package/lib/sagas/startSpeakActivityOnPostActivitySaga.js +1 -1
  70. package/lib/sagas/stopSpeakingActivityOnInputSaga.js +1 -1
  71. package/lib/sagas/submitSendBoxSaga.js +1 -1
  72. package/lib/selectors/activities.js +1 -1
  73. package/lib/selectors/combineSelectors.js +9 -4
  74. package/lib/selectors/dictateState.js +1 -1
  75. package/lib/selectors/language.js +1 -1
  76. package/lib/selectors/notifications.js +1 -1
  77. package/lib/selectors/sendBoxValue.js +1 -1
  78. package/lib/selectors/sendTimeout.js +1 -1
  79. package/lib/selectors/sendTypingIndicator.js +1 -1
  80. package/lib/selectors/shouldSpeakIncomingActivity.js +1 -1
  81. package/lib/types/AnyAnd.d.ts +2 -0
  82. package/lib/types/AnyAnd.d.ts.map +1 -0
  83. package/lib/types/AnyAnd.js +6 -0
  84. package/lib/types/OneOrMany.js +4 -0
  85. package/lib/types/WebChatActivity.d.ts +81 -0
  86. package/lib/types/WebChatActivity.d.ts.map +1 -0
  87. package/lib/types/WebChatActivity.js +6 -0
  88. package/lib/types/external/DirectLineActivity.d.ts +2 -2
  89. package/lib/types/external/DirectLineActivity.d.ts.map +1 -1
  90. package/lib/types/external/DirectLineActivity.js +4 -0
  91. package/lib/types/external/DirectLineAnimationCard.d.ts +5 -2
  92. package/lib/types/external/DirectLineAnimationCard.d.ts.map +1 -1
  93. package/lib/types/external/DirectLineAnimationCard.js +4 -0
  94. package/lib/types/external/DirectLineAttachment.d.ts +8 -2
  95. package/lib/types/external/DirectLineAttachment.d.ts.map +1 -1
  96. package/lib/types/external/DirectLineAttachment.js +4 -0
  97. package/lib/types/external/DirectLineAudioCard.d.ts +5 -2
  98. package/lib/types/external/DirectLineAudioCard.d.ts.map +1 -1
  99. package/lib/types/external/DirectLineAudioCard.js +4 -0
  100. package/lib/types/external/DirectLineBasicCardEssence.d.ts +12 -0
  101. package/lib/types/external/DirectLineBasicCardEssence.d.ts.map +1 -0
  102. package/lib/types/external/DirectLineBasicCardEssence.js +6 -0
  103. package/lib/types/external/DirectLineCardAction.d.ts +1 -1
  104. package/lib/types/external/DirectLineCardAction.d.ts.map +1 -1
  105. package/lib/types/external/DirectLineCardAction.js +4 -0
  106. package/lib/types/external/DirectLineCardImage.d.ts +8 -0
  107. package/lib/types/external/DirectLineCardImage.d.ts.map +1 -0
  108. package/lib/types/external/DirectLineCardImage.js +6 -0
  109. package/lib/types/external/DirectLineHeroCard.d.ts +5 -2
  110. package/lib/types/external/DirectLineHeroCard.d.ts.map +1 -1
  111. package/lib/types/external/DirectLineHeroCard.js +4 -0
  112. package/lib/types/external/DirectLineJSBotConnection.d.ts +1 -1
  113. package/lib/types/external/DirectLineJSBotConnection.d.ts.map +1 -1
  114. package/lib/types/external/DirectLineJSBotConnection.js +4 -0
  115. package/lib/types/external/DirectLineMediaCardEssence.d.ts +21 -0
  116. package/lib/types/external/DirectLineMediaCardEssence.d.ts.map +1 -0
  117. package/lib/types/external/DirectLineMediaCardEssence.js +6 -0
  118. package/lib/types/external/DirectLineOAuthCard.d.ts +7 -2
  119. package/lib/types/external/DirectLineOAuthCard.d.ts.map +1 -1
  120. package/lib/types/external/DirectLineOAuthCard.js +4 -0
  121. package/lib/types/external/DirectLineReceiptCard.d.ts +27 -2
  122. package/lib/types/external/DirectLineReceiptCard.d.ts.map +1 -1
  123. package/lib/types/external/DirectLineReceiptCard.js +4 -0
  124. package/lib/types/external/DirectLineSignInCard.d.ts +7 -2
  125. package/lib/types/external/DirectLineSignInCard.d.ts.map +1 -1
  126. package/lib/types/external/DirectLineSignInCard.js +4 -0
  127. package/lib/types/external/DirectLineSuggestedAction.d.ts +6 -2
  128. package/lib/types/external/DirectLineSuggestedAction.d.ts.map +1 -1
  129. package/lib/types/external/DirectLineSuggestedAction.js +4 -0
  130. package/lib/types/external/DirectLineThumbnailCard.d.ts +5 -2
  131. package/lib/types/external/DirectLineThumbnailCard.d.ts.map +1 -1
  132. package/lib/types/external/DirectLineThumbnailCard.js +4 -0
  133. package/lib/types/external/DirectLineVideoCard.d.ts +5 -2
  134. package/lib/types/external/DirectLineVideoCard.d.ts.map +1 -1
  135. package/lib/types/external/DirectLineVideoCard.js +4 -0
  136. package/lib/types/external/Observable.js +6 -0
  137. package/lib/types/internal/Notification.js +6 -0
  138. package/lib/types/internal/ReduxState.js +6 -0
  139. package/lib/utils/dateToLocaleISOString.js +5 -5
  140. package/lib/utils/deleteKey.js +2 -3
  141. package/lib/utils/isForbiddenPropertyName.d.ts +2 -0
  142. package/lib/utils/isForbiddenPropertyName.d.ts.map +1 -0
  143. package/lib/utils/isForbiddenPropertyName.js +21 -0
  144. package/lib/utils/sleep.js +1 -1
  145. package/lib/utils/uniqueID.js +1 -1
  146. package/package.json +20 -23
  147. package/src/__tests__/detectSlowConnectionSaga.spec.js +1 -1
  148. package/src/__tests__/observeOnce.spec.js +3 -3
  149. package/src/actions/deleteActivity.ts +19 -0
  150. package/src/actions/incomingActivity.ts +21 -0
  151. package/src/actions/markActivity.ts +23 -0
  152. package/src/actions/postActivity.ts +48 -0
  153. package/src/actions/setNotification.js +8 -2
  154. package/src/createStore.ts +4 -4
  155. package/src/definitions/speakingActivity.js +1 -1
  156. package/src/index.ts +19 -14
  157. package/src/reducer.ts +0 -2
  158. package/src/reducers/activities.ts +172 -0
  159. package/src/reducers/notifications.js +22 -16
  160. package/src/reducers/typing.js +6 -5
  161. package/src/sagas/connectionStatusToNotificationSaga.js +1 -1
  162. package/src/sagas/effects/{observeOnce.js → observeOnce.ts} +6 -4
  163. package/src/sagas/effects/{whileConnected.js → whileConnected.ts} +20 -1
  164. package/src/sagas/{observeActivitySaga.js → observeActivitySaga.ts} +25 -6
  165. package/src/sagas/{postActivitySaga.js → postActivitySaga.ts} +57 -48
  166. package/src/sagas/queueIncomingActivitySaga.js +40 -39
  167. package/src/sagas/sendFilesToPostActivitySaga.js +1 -1
  168. package/src/sagas/sendMessageBackToPostActivitySaga.js +0 -1
  169. package/src/sagas/sendTypingIndicatorOnSetSendBoxSaga.js +1 -1
  170. package/src/sagas/speakActivityAndStartDictateOnIncomingActivityFromOthersSaga.js +1 -1
  171. package/src/sagas/startSpeakActivityOnPostActivitySaga.js +1 -1
  172. package/src/sagas/stopSpeakingActivityOnInputSaga.js +1 -1
  173. package/src/sagas/submitSendBoxSaga.js +1 -1
  174. package/src/selectors/activities.ts +12 -0
  175. package/src/selectors/combineSelectors.ts +21 -0
  176. package/src/selectors/dictateState.ts +3 -0
  177. package/src/selectors/language.ts +3 -0
  178. package/src/selectors/notifications.ts +6 -0
  179. package/src/selectors/sendBoxValue.ts +3 -0
  180. package/src/selectors/sendTimeout.ts +3 -0
  181. package/src/selectors/sendTypingIndicator.ts +3 -0
  182. package/src/selectors/shouldSpeakIncomingActivity.ts +3 -0
  183. package/src/types/AnyAnd.ts +1 -0
  184. package/src/types/WebChatActivity.ts +154 -0
  185. package/src/types/external/DirectLineActivity.ts +4 -3
  186. package/src/types/external/DirectLineAnimationCard.ts +6 -4
  187. package/src/types/external/DirectLineAttachment.ts +10 -5
  188. package/src/types/external/DirectLineAudioCard.ts +6 -4
  189. package/src/types/external/DirectLineBasicCardEssence.ts +14 -0
  190. package/src/types/external/DirectLineCardAction.ts +1 -1
  191. package/src/types/external/DirectLineCardImage.ts +9 -0
  192. package/src/types/external/DirectLineHeroCard.ts +6 -4
  193. package/src/types/external/DirectLineJSBotConnection.ts +1 -2
  194. package/src/types/external/DirectLineMediaCardEssence.ts +19 -0
  195. package/src/types/external/DirectLineOAuthCard.ts +7 -4
  196. package/src/types/external/DirectLineReceiptCard.ts +30 -4
  197. package/src/types/external/DirectLineSignInCard.ts +8 -4
  198. package/src/types/external/DirectLineSuggestedAction.ts +6 -4
  199. package/src/types/external/DirectLineThumbnailCard.ts +6 -4
  200. package/src/types/external/DirectLineVideoCard.ts +6 -4
  201. package/src/types/external/Observable.ts +69 -0
  202. package/src/types/internal/Notification.ts +10 -0
  203. package/src/types/internal/ReduxState.ts +16 -0
  204. package/src/utils/dateToLocaleISOString.chatham.spec.js +1 -0
  205. package/src/utils/dateToLocaleISOString.japan.spec.js +1 -0
  206. package/src/utils/dateToLocaleISOString.pacific.spec.js +1 -0
  207. package/src/utils/{dateToLocaleISOString.js → dateToLocaleISOString.ts} +6 -6
  208. package/src/utils/dateToLocaleISOString.utc.spec.js +2 -0
  209. package/src/utils/deleteKey.ts +9 -0
  210. package/src/utils/isForbiddenPropertyName.spec.js +6 -0
  211. package/src/utils/isForbiddenPropertyName.ts +33 -0
  212. package/src/utils/{sleep.js → sleep.ts} +1 -1
  213. package/src/utils/uniqueID.ts +7 -0
  214. package/.eslintignore +0 -9
  215. package/lib/reducers/clockSkewAdjustment.js +0 -44
  216. package/lib/sagas/effects/callUntil.js +0 -48
  217. package/lib/selectors/clockSkewAdjustment.js +0 -14
  218. package/lib/utils/mime-wrapper.js +0 -49
  219. package/src/actions/deleteActivity.js +0 -8
  220. package/src/actions/incomingActivity.js +0 -10
  221. package/src/actions/markActivity.js +0 -14
  222. package/src/actions/postActivity.js +0 -14
  223. package/src/reducers/activities.js +0 -116
  224. package/src/reducers/clockSkewAdjustment.js +0 -29
  225. package/src/sagas/effects/callUntil.js +0 -13
  226. package/src/selectors/activities.js +0 -8
  227. package/src/selectors/clockSkewAdjustment.js +0 -1
  228. package/src/selectors/combineSelectors.js +0 -8
  229. package/src/selectors/dictateState.js +0 -1
  230. package/src/selectors/language.js +0 -1
  231. package/src/selectors/notifications.js +0 -3
  232. package/src/selectors/sendBoxValue.js +0 -1
  233. package/src/selectors/sendTimeout.js +0 -1
  234. package/src/selectors/sendTypingIndicator.js +0 -1
  235. package/src/selectors/shouldSpeakIncomingActivity.js +0 -1
  236. package/src/utils/deleteKey.js +0 -11
  237. package/src/utils/mime-wrapper.js +0 -40
  238. package/src/utils/uniqueID.js +0 -12
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZVJvb3QiOiJjb3JlOi8vLyIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZVJvb3QiOiJjb3JlOi8vLyIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -13,13 +13,13 @@ function pad(value) {
13
13
  throw new Error('First argument must be a number');
14
14
  }
15
15
 
16
- value += '';
16
+ var stringValue = value + '';
17
17
 
18
- while (value.length < count) {
19
- value = '0' + value;
18
+ while (stringValue.length < count) {
19
+ stringValue = '0' + stringValue;
20
20
  }
21
21
 
22
- return value;
22
+ return stringValue;
23
23
  } // Adopted from https://stackoverflow.com/questions/17415579/how-to-iso-8601-format-a-date-with-timezone-offset-in-javascript.
24
24
 
25
25
 
@@ -34,4 +34,4 @@ function dateToLocaleISOString(date) {
34
34
 
35
35
  return "".concat(date.getFullYear(), "-").concat(pad(date.getMonth() + 1), "-").concat(pad(date.getDate()), "T").concat(pad(date.getHours()), ":").concat(pad(date.getMinutes()), ":").concat(pad(date.getSeconds()), ".").concat(pad(date.getMilliseconds(), 3)).concat(timezoneOffset ? "".concat(timezoneSign).concat(pad(~~(Math.abs(timezoneOffset) / 60)), ":").concat(pad(timezoneOffset % 60)) : 'Z');
36
36
  }
37
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9kYXRlVG9Mb2NhbGVJU09TdHJpbmcuanMiXSwibmFtZXMiOlsicGFkIiwidmFsdWUiLCJjb3VudCIsIkVycm9yIiwibGVuZ3RoIiwiZGF0ZVRvTG9jYWxlSVNPU3RyaW5nIiwiZGF0ZSIsIkRhdGUiLCJ0aW1lem9uZU9mZnNldCIsImdldFRpbWV6b25lT2Zmc2V0IiwidGltZXpvbmVTaWduIiwiZ2V0RnVsbFllYXIiLCJnZXRNb250aCIsImdldERhdGUiLCJnZXRIb3VycyIsImdldE1pbnV0ZXMiLCJnZXRTZWNvbmRzIiwiZ2V0TWlsbGlzZWNvbmRzIiwiTWF0aCIsImFicyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBRUEsU0FBU0EsR0FBVCxDQUFhQyxLQUFiLEVBQStCO0FBQUEsTUFBWEMsS0FBVyx1RUFBSCxDQUFHOztBQUM3QixNQUFJLE9BQU9ELEtBQVAsS0FBaUIsUUFBckIsRUFBK0I7QUFDN0IsVUFBTSxJQUFJRSxLQUFKLENBQVUsaUNBQVYsQ0FBTjtBQUNEOztBQUVERixFQUFBQSxLQUFLLElBQUksRUFBVDs7QUFFQSxTQUFPQSxLQUFLLENBQUNHLE1BQU4sR0FBZUYsS0FBdEIsRUFBNkI7QUFDM0JELElBQUFBLEtBQUssR0FBRyxNQUFNQSxLQUFkO0FBQ0Q7O0FBRUQsU0FBT0EsS0FBUDtBQUNELEMsQ0FFRDs7O0FBQ2UsU0FBU0kscUJBQVQsQ0FBK0JDLElBQS9CLEVBQXFDO0FBQ2xELE1BQUksRUFBRUEsSUFBSSxZQUFZQyxJQUFsQixDQUFKLEVBQTZCO0FBQzNCLFVBQU0sSUFBSUosS0FBSixDQUFVLHNDQUFWLENBQU47QUFDRDs7QUFFRCxNQUFNSyxjQUFjLEdBQUcsQ0FBQ0YsSUFBSSxDQUFDRyxpQkFBTCxFQUF4QjtBQUNBLE1BQU1DLFlBQVksR0FBR0YsY0FBYyxHQUFHLENBQWpCLEdBQXFCLEdBQXJCLEdBQTJCLEdBQWhELENBTmtELENBUWxEO0FBQ0E7O0FBRUEsbUJBQVVGLElBQUksQ0FBQ0ssV0FBTCxFQUFWLGNBQWdDWCxHQUFHLENBQUNNLElBQUksQ0FBQ00sUUFBTCxLQUFrQixDQUFuQixDQUFuQyxjQUE0RFosR0FBRyxDQUFDTSxJQUFJLENBQUNPLE9BQUwsRUFBRCxDQUEvRCxjQUFtRmIsR0FBRyxDQUFDTSxJQUFJLENBQUNRLFFBQUwsRUFBRCxDQUF0RixjQUEyR2QsR0FBRyxDQUM1R00sSUFBSSxDQUFDUyxVQUFMLEVBRDRHLENBQTlHLGNBRUtmLEdBQUcsQ0FBQ00sSUFBSSxDQUFDVSxVQUFMLEVBQUQsQ0FGUixjQUUrQmhCLEdBQUcsQ0FBQ00sSUFBSSxDQUFDVyxlQUFMLEVBQUQsRUFBeUIsQ0FBekIsQ0FGbEMsU0FHRVQsY0FBYyxhQUFNRSxZQUFOLFNBQXFCVixHQUFHLENBQUMsQ0FBQyxFQUFFa0IsSUFBSSxDQUFDQyxHQUFMLENBQVNYLGNBQVQsSUFBMkIsRUFBN0IsQ0FBRixDQUF4QixjQUErRFIsR0FBRyxDQUFDUSxjQUFjLEdBQUcsRUFBbEIsQ0FBbEUsSUFBNEYsR0FINUc7QUFLRCIsInNvdXJjZVJvb3QiOiJjb3JlOi8vLyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBuby1tYWdpYy1udW1iZXJzOiBbXCJvZmZcIiwgeyBcImlnbm9yZVwiOiBbMSwgMiwgMywgNjBdIH1dICovXG5cbmZ1bmN0aW9uIHBhZCh2YWx1ZSwgY291bnQgPSAyKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgIT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJyk7XG4gIH1cblxuICB2YWx1ZSArPSAnJztcblxuICB3aGlsZSAodmFsdWUubGVuZ3RoIDwgY291bnQpIHtcbiAgICB2YWx1ZSA9ICcwJyArIHZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG4vLyBBZG9wdGVkIGZyb20gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTc0MTU1NzkvaG93LXRvLWlzby04NjAxLWZvcm1hdC1hLWRhdGUtd2l0aC10aW1lem9uZS1vZmZzZXQtaW4tamF2YXNjcmlwdC5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGRhdGVUb0xvY2FsZUlTT1N0cmluZyhkYXRlKSB7XG4gIGlmICghKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignRmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIERhdGUgb2JqZWN0Jyk7XG4gIH1cblxuICBjb25zdCB0aW1lem9uZU9mZnNldCA9IC1kYXRlLmdldFRpbWV6b25lT2Zmc2V0KCk7XG4gIGNvbnN0IHRpbWV6b25lU2lnbiA9IHRpbWV6b25lT2Zmc2V0IDwgMCA/ICctJyA6ICcrJztcblxuICAvLyBcInl5eXktTU0tRERUSEg6bW06c3MuZmZmKzA4OjAwXCIgZm9yIEdNVCswOFxuICAvLyBcInl5eXktTU0tRERUSEg6bW06c3MuZmZmWlwiIGZvciBVVENcblxuICByZXR1cm4gYCR7ZGF0ZS5nZXRGdWxsWWVhcigpfS0ke3BhZChkYXRlLmdldE1vbnRoKCkgKyAxKX0tJHtwYWQoZGF0ZS5nZXREYXRlKCkpfVQke3BhZChkYXRlLmdldEhvdXJzKCkpfToke3BhZChcbiAgICBkYXRlLmdldE1pbnV0ZXMoKVxuICApfToke3BhZChkYXRlLmdldFNlY29uZHMoKSl9LiR7cGFkKGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCksIDMpfSR7XG4gICAgdGltZXpvbmVPZmZzZXQgPyBgJHt0aW1lem9uZVNpZ259JHtwYWQofn4oTWF0aC5hYnModGltZXpvbmVPZmZzZXQpIC8gNjApKX06JHtwYWQodGltZXpvbmVPZmZzZXQgJSA2MCl9YCA6ICdaJ1xuICB9YDtcbn1cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9kYXRlVG9Mb2NhbGVJU09TdHJpbmcudHMiXSwibmFtZXMiOlsicGFkIiwidmFsdWUiLCJjb3VudCIsIkVycm9yIiwic3RyaW5nVmFsdWUiLCJsZW5ndGgiLCJkYXRlVG9Mb2NhbGVJU09TdHJpbmciLCJkYXRlIiwiRGF0ZSIsInRpbWV6b25lT2Zmc2V0IiwiZ2V0VGltZXpvbmVPZmZzZXQiLCJ0aW1lem9uZVNpZ24iLCJnZXRGdWxsWWVhciIsImdldE1vbnRoIiwiZ2V0RGF0ZSIsImdldEhvdXJzIiwiZ2V0TWludXRlcyIsImdldFNlY29uZHMiLCJnZXRNaWxsaXNlY29uZHMiLCJNYXRoIiwiYWJzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFFQSxTQUFTQSxHQUFULENBQWFDLEtBQWIsRUFBK0M7QUFBQSxNQUFuQkMsS0FBbUIsdUVBQVgsQ0FBVzs7QUFDN0MsTUFBSSxPQUFPRCxLQUFQLEtBQWlCLFFBQXJCLEVBQStCO0FBQzdCLFVBQU0sSUFBSUUsS0FBSixDQUFVLGlDQUFWLENBQU47QUFDRDs7QUFFRCxNQUFJQyxXQUFXLEdBQUdILEtBQUssR0FBRyxFQUExQjs7QUFFQSxTQUFPRyxXQUFXLENBQUNDLE1BQVosR0FBcUJILEtBQTVCLEVBQW1DO0FBQ2pDRSxJQUFBQSxXQUFXLEdBQUcsTUFBTUEsV0FBcEI7QUFDRDs7QUFFRCxTQUFPQSxXQUFQO0FBQ0QsQyxDQUVEOzs7QUFDZSxTQUFTRSxxQkFBVCxDQUErQkMsSUFBL0IsRUFBbUQ7QUFDaEUsTUFBSSxFQUFFQSxJQUFJLFlBQVlDLElBQWxCLENBQUosRUFBNkI7QUFDM0IsVUFBTSxJQUFJTCxLQUFKLENBQVUsc0NBQVYsQ0FBTjtBQUNEOztBQUVELE1BQU1NLGNBQWMsR0FBRyxDQUFDRixJQUFJLENBQUNHLGlCQUFMLEVBQXhCO0FBQ0EsTUFBTUMsWUFBWSxHQUFHRixjQUFjLEdBQUcsQ0FBakIsR0FBcUIsR0FBckIsR0FBMkIsR0FBaEQsQ0FOZ0UsQ0FRaEU7QUFDQTs7QUFFQSxtQkFBVUYsSUFBSSxDQUFDSyxXQUFMLEVBQVYsY0FBZ0NaLEdBQUcsQ0FBQ08sSUFBSSxDQUFDTSxRQUFMLEtBQWtCLENBQW5CLENBQW5DLGNBQTREYixHQUFHLENBQUNPLElBQUksQ0FBQ08sT0FBTCxFQUFELENBQS9ELGNBQW1GZCxHQUFHLENBQUNPLElBQUksQ0FBQ1EsUUFBTCxFQUFELENBQXRGLGNBQTJHZixHQUFHLENBQzVHTyxJQUFJLENBQUNTLFVBQUwsRUFENEcsQ0FBOUcsY0FFS2hCLEdBQUcsQ0FBQ08sSUFBSSxDQUFDVSxVQUFMLEVBQUQsQ0FGUixjQUUrQmpCLEdBQUcsQ0FBQ08sSUFBSSxDQUFDVyxlQUFMLEVBQUQsRUFBeUIsQ0FBekIsQ0FGbEMsU0FHRVQsY0FBYyxhQUFNRSxZQUFOLFNBQXFCWCxHQUFHLENBQUMsQ0FBQyxFQUFFbUIsSUFBSSxDQUFDQyxHQUFMLENBQVNYLGNBQVQsSUFBMkIsRUFBN0IsQ0FBRixDQUF4QixjQUErRFQsR0FBRyxDQUFDUyxjQUFjLEdBQUcsRUFBbEIsQ0FBbEUsSUFBNEYsR0FINUc7QUFLRCIsInNvdXJjZVJvb3QiOiJjb3JlOi8vLyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBuby1tYWdpYy1udW1iZXJzOiBbXCJvZmZcIiwgeyBcImlnbm9yZVwiOiBbMSwgMiwgMywgNjBdIH1dICovXG5cbmZ1bmN0aW9uIHBhZCh2YWx1ZTogbnVtYmVyLCBjb3VudCA9IDIpOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBFcnJvcignRmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIG51bWJlcicpO1xuICB9XG5cbiAgbGV0IHN0cmluZ1ZhbHVlID0gdmFsdWUgKyAnJztcblxuICB3aGlsZSAoc3RyaW5nVmFsdWUubGVuZ3RoIDwgY291bnQpIHtcbiAgICBzdHJpbmdWYWx1ZSA9ICcwJyArIHN0cmluZ1ZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIHN0cmluZ1ZhbHVlO1xufVxuXG4vLyBBZG9wdGVkIGZyb20gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTc0MTU1NzkvaG93LXRvLWlzby04NjAxLWZvcm1hdC1hLWRhdGUtd2l0aC10aW1lem9uZS1vZmZzZXQtaW4tamF2YXNjcmlwdC5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGRhdGVUb0xvY2FsZUlTT1N0cmluZyhkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgaWYgKCEoZGF0ZSBpbnN0YW5jZW9mIERhdGUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgRGF0ZSBvYmplY3QnKTtcbiAgfVxuXG4gIGNvbnN0IHRpbWV6b25lT2Zmc2V0ID0gLWRhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKTtcbiAgY29uc3QgdGltZXpvbmVTaWduID0gdGltZXpvbmVPZmZzZXQgPCAwID8gJy0nIDogJysnO1xuXG4gIC8vIFwieXl5eS1NTS1ERFRISDptbTpzcy5mZmYrMDg6MDBcIiBmb3IgR01UKzA4XG4gIC8vIFwieXl5eS1NTS1ERFRISDptbTpzcy5mZmZaXCIgZm9yIFVUQ1xuXG4gIHJldHVybiBgJHtkYXRlLmdldEZ1bGxZZWFyKCl9LSR7cGFkKGRhdGUuZ2V0TW9udGgoKSArIDEpfS0ke3BhZChkYXRlLmdldERhdGUoKSl9VCR7cGFkKGRhdGUuZ2V0SG91cnMoKSl9OiR7cGFkKFxuICAgIGRhdGUuZ2V0TWludXRlcygpXG4gICl9OiR7cGFkKGRhdGUuZ2V0U2Vjb25kcygpKX0uJHtwYWQoZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSwgMyl9JHtcbiAgICB0aW1lem9uZU9mZnNldCA/IGAke3RpbWV6b25lU2lnbn0ke3BhZCh+fihNYXRoLmFicyh0aW1lem9uZU9mZnNldCkgLyA2MCkpfToke3BhZCh0aW1lem9uZU9mZnNldCAlIDYwKX1gIDogJ1onXG4gIH1gO1xufVxuIl19
@@ -17,14 +17,13 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
17
17
 
18
18
  function _toPrimitive(input, hint) { if ((0, _typeof2["default"])(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if ((0, _typeof2["default"])(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
19
19
 
20
- /* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^deleted$" }] */
21
20
  function deleteKey(map, key) {
22
21
  if (!map) {
23
22
  return map;
24
23
  }
25
24
 
26
- var deleted = map[key],
25
+ var _deleted = map[key],
27
26
  nextMap = (0, _objectWithoutProperties2["default"])(map, [key].map(_toPropertyKey));
28
27
  return nextMap;
29
28
  }
30
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9kZWxldGVLZXkuanMiXSwibmFtZXMiOlsiZGVsZXRlS2V5IiwibWFwIiwia2V5IiwiZGVsZXRlZCIsIm5leHRNYXAiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUVlLFNBQVNBLFNBQVQsQ0FBbUJDLEdBQW5CLEVBQXdCQyxHQUF4QixFQUE2QjtBQUMxQyxNQUFJLENBQUNELEdBQUwsRUFBVTtBQUNSLFdBQU9BLEdBQVA7QUFDRDs7QUFFRCxNQUFlRSxPQUFmLEdBQXVDRixHQUF2QyxDQUFTQyxHQUFUO0FBQUEsTUFBMkJFLE9BQTNCLDZDQUF1Q0gsR0FBdkMsR0FBU0MsR0FBVDtBQUVBLFNBQU9FLE9BQVA7QUFDRCIsInNvdXJjZVJvb3QiOiJjb3JlOi8vLyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBuby11bnVzZWQtdmFyczogW1wiZXJyb3JcIiwgeyBcInZhcnNJZ25vcmVQYXR0ZXJuXCI6IFwiXmRlbGV0ZWQkXCIgfV0gKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGVsZXRlS2V5KG1hcCwga2V5KSB7XG4gIGlmICghbWFwKSB7XG4gICAgcmV0dXJuIG1hcDtcbiAgfVxuXG4gIGNvbnN0IHsgW2tleV06IGRlbGV0ZWQsIC4uLm5leHRNYXAgfSA9IG1hcDtcblxuICByZXR1cm4gbmV4dE1hcDtcbn1cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9kZWxldGVLZXkudHMiXSwibmFtZXMiOlsiZGVsZXRlS2V5IiwibWFwIiwia2V5IiwiX2RlbGV0ZWQiLCJuZXh0TWFwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWUsU0FBU0EsU0FBVCxDQUFrREMsR0FBbEQsRUFBNkRDLEdBQTdELEVBQTBGO0FBQ3ZHLE1BQUksQ0FBQ0QsR0FBTCxFQUFVO0FBQ1IsV0FBT0EsR0FBUDtBQUNEOztBQUVELE1BQWVFLFFBQWYsR0FBd0NGLEdBQXhDLENBQVNDLEdBQVQ7QUFBQSxNQUE0QkUsT0FBNUIsNkNBQXdDSCxHQUF4QyxHQUFTQyxHQUFUO0FBRUEsU0FBT0UsT0FBUDtBQUNEIiwic291cmNlUm9vdCI6ImNvcmU6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGVsZXRlS2V5PFRNYXAsIFRLZXkgZXh0ZW5kcyBrZXlvZiBUTWFwPihtYXA6IFRNYXAsIGtleTogVEtleSk6IE9taXQ8VE1hcCwgVEtleT4ge1xuICBpZiAoIW1hcCkge1xuICAgIHJldHVybiBtYXA7XG4gIH1cblxuICBjb25zdCB7IFtrZXldOiBfZGVsZXRlZCwgLi4ubmV4dE1hcCB9ID0gbWFwO1xuXG4gIHJldHVybiBuZXh0TWFwO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export default function isForbiddenPropertyName(propertyName: string): boolean;
2
+ //# sourceMappingURL=isForbiddenPropertyName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isForbiddenPropertyName.d.ts","sourceRoot":"","sources":["../../src/utils/isForbiddenPropertyName.ts"],"names":[],"mappings":"AA8BA,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAE7E"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = isForbiddenPropertyName;
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var FORBIDDEN_PROPERTY_NAMES;
13
+
14
+ function getForbiddenPropertyNames() {
15
+ return FORBIDDEN_PROPERTY_NAMES || (FORBIDDEN_PROPERTY_NAMES = Object.freeze(Array.from(new Set([].concat((0, _toConsumableArray2["default"])(Object.getOwnPropertyNames(Object.prototype)), ['prototype'])))));
16
+ }
17
+
18
+ function isForbiddenPropertyName(propertyName) {
19
+ return getForbiddenPropertyNames().includes(propertyName);
20
+ }
21
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9pc0ZvcmJpZGRlblByb3BlcnR5TmFtZS50cyJdLCJuYW1lcyI6WyJGT1JCSURERU5fUFJPUEVSVFlfTkFNRVMiLCJnZXRGb3JiaWRkZW5Qcm9wZXJ0eU5hbWVzIiwiT2JqZWN0IiwiZnJlZXplIiwiQXJyYXkiLCJmcm9tIiwiU2V0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3RvdHlwZSIsImlzRm9yYmlkZGVuUHJvcGVydHlOYW1lIiwicHJvcGVydHlOYW1lIiwiaW5jbHVkZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBSUEsd0JBQUo7O0FBRUEsU0FBU0MseUJBQVQsR0FBK0M7QUFDN0MsU0FDRUQsd0JBQXdCLEtBQ3ZCQSx3QkFBd0IsR0FBR0UsTUFBTSxDQUFDQyxNQUFQLENBQzFCQyxLQUFLLENBQUNDLElBQU4sQ0FDRSxJQUFJQyxHQUFKLCtDQWNLSixNQUFNLENBQUNLLG1CQUFQLENBQTJCTCxNQUFNLENBQUNNLFNBQWxDLENBZEwsSUFnQkUsV0FoQkYsR0FERixDQUQwQixDQURKLENBRDFCO0FBeUJEOztBQUVjLFNBQVNDLHVCQUFULENBQWlDQyxZQUFqQyxFQUFnRTtBQUM3RSxTQUFPVCx5QkFBeUIsR0FBR1UsUUFBNUIsQ0FBcUNELFlBQXJDLENBQVA7QUFDRCIsInNvdXJjZVJvb3QiOiJjb3JlOi8vLyIsInNvdXJjZXNDb250ZW50IjpbImxldCBGT1JCSURERU5fUFJPUEVSVFlfTkFNRVM7XG5cbmZ1bmN0aW9uIGdldEZvcmJpZGRlblByb3BlcnR5TmFtZXMoKTogc3RyaW5nW10ge1xuICByZXR1cm4gKFxuICAgIEZPUkJJRERFTl9QUk9QRVJUWV9OQU1FUyB8fFxuICAgIChGT1JCSURERU5fUFJPUEVSVFlfTkFNRVMgPSBPYmplY3QuZnJlZXplKFxuICAgICAgQXJyYXkuZnJvbShcbiAgICAgICAgbmV3IFNldChbXG4gICAgICAgICAgLy8gQXMtb2Ygd3JpdGluZywgYE9iamVjdC5wcm90b3R5cGVgIGluY2x1ZGVzOlxuICAgICAgICAgIC8vICAgX19kZWZpbmVHZXR0ZXJfX1xuICAgICAgICAgIC8vICAgX19kZWZpbmVTZXR0ZXJfX1xuICAgICAgICAgIC8vICAgX19sb29rdXBHZXR0ZXJfX1xuICAgICAgICAgIC8vICAgX19sb29rdXBTZXR0ZXJcbiAgICAgICAgICAvLyAgIF9fcHJvdG9fX1xuICAgICAgICAgIC8vICAgY29uc3RydWN0b3JcbiAgICAgICAgICAvLyAgIGhhc093blByb3BlcnR5XG4gICAgICAgICAgLy8gICBpc1Byb3RvdHlwZU9mXG4gICAgICAgICAgLy8gICBwcm9wZXJ0eUlzRW51bWVyYWJsZVxuICAgICAgICAgIC8vICAgdG9Mb2NhbGVTdHJpbmdcbiAgICAgICAgICAvLyAgIHRvU3RyaW5nXG4gICAgICAgICAgLy8gICB2YWx1ZU9mXG4gICAgICAgICAgLi4uT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoT2JqZWN0LnByb3RvdHlwZSksXG5cbiAgICAgICAgICAncHJvdG90eXBlJ1xuICAgICAgICBdKVxuICAgICAgKVxuICAgICkpXG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGlzRm9yYmlkZGVuUHJvcGVydHlOYW1lKHByb3BlcnR5TmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBnZXRGb3JiaWRkZW5Qcm9wZXJ0eU5hbWVzKCkuaW5jbHVkZXMocHJvcGVydHlOYW1lKTtcbn1cbiJdfQ==
@@ -10,4 +10,4 @@ function sleep(interval) {
10
10
  return setTimeout(resolve, interval);
11
11
  });
12
12
  }
13
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zbGVlcC5qcyJdLCJuYW1lcyI6WyJzbGVlcCIsImludGVydmFsIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXRUaW1lb3V0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQWUsU0FBU0EsS0FBVCxDQUFlQyxRQUFmLEVBQXlCO0FBQ3RDLFNBQU8sSUFBSUMsT0FBSixDQUFZLFVBQUFDLE9BQU87QUFBQSxXQUFJQyxVQUFVLENBQUNELE9BQUQsRUFBVUYsUUFBVixDQUFkO0FBQUEsR0FBbkIsQ0FBUDtBQUNEIiwic291cmNlUm9vdCI6ImNvcmU6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2xlZXAoaW50ZXJ2YWwpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCBpbnRlcnZhbCkpO1xufVxuIl19
13
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zbGVlcC50cyJdLCJuYW1lcyI6WyJzbGVlcCIsImludGVydmFsIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXRUaW1lb3V0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQWUsU0FBU0EsS0FBVCxDQUFlQyxRQUFmLEVBQWdEO0FBQzdELFNBQU8sSUFBSUMsT0FBSixDQUFZLFVBQUFDLE9BQU87QUFBQSxXQUFJQyxVQUFVLENBQUNELE9BQUQsRUFBVUYsUUFBVixDQUFkO0FBQUEsR0FBbkIsQ0FBUDtBQUNEIiwic291cmNlUm9vdCI6ImNvcmU6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2xlZXAoaW50ZXJ2YWw6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIGludGVydmFsKSk7XG59XG4iXX0=
@@ -13,4 +13,4 @@ var _mathRandom = _interopRequireDefault(require("math-random"));
13
13
  function uniqueID() {
14
14
  return Date.now() + (0, _mathRandom["default"])().toString(36).substr(2);
15
15
  }
16
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy91bmlxdWVJRC5qcyJdLCJuYW1lcyI6WyJ1bmlxdWVJRCIsIkRhdGUiLCJub3ciLCJ0b1N0cmluZyIsInN1YnN0ciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUE7O0FBRkE7QUFJZSxTQUFTQSxRQUFULEdBQW9CO0FBQ2pDLFNBQ0VDLElBQUksQ0FBQ0MsR0FBTCxLQUNBLDhCQUNHQyxRQURILENBQ1ksRUFEWixFQUVHQyxNQUZILENBRVUsQ0FGVixDQUZGO0FBTUQiLCJzb3VyY2VSb290IjoiY29yZTovLy8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tbWFnaWMtbnVtYmVyczogW1wiZXJyb3JcIiwgeyBcImlnbm9yZVwiOiBbMiwgMzZdIH1dICovXG5cbmltcG9ydCByYW5kb20gZnJvbSAnbWF0aC1yYW5kb20nO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlxdWVJRCgpIHtcbiAgcmV0dXJuIChcbiAgICBEYXRlLm5vdygpICtcbiAgICByYW5kb20oKVxuICAgICAgLnRvU3RyaW5nKDM2KVxuICAgICAgLnN1YnN0cigyKVxuICApO1xufVxuIl19
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy91bmlxdWVJRC50cyJdLCJuYW1lcyI6WyJ1bmlxdWVJRCIsIkRhdGUiLCJub3ciLCJ0b1N0cmluZyIsInN1YnN0ciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUE7O0FBRkE7QUFJZSxTQUFTQSxRQUFULEdBQTRCO0FBQ3pDLFNBQU9DLElBQUksQ0FBQ0MsR0FBTCxLQUFhLDhCQUFTQyxRQUFULENBQWtCLEVBQWxCLEVBQXNCQyxNQUF0QixDQUE2QixDQUE3QixDQUFwQjtBQUNEIiwic291cmNlUm9vdCI6ImNvcmU6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50IG5vLW1hZ2ljLW51bWJlcnM6IFtcImVycm9yXCIsIHsgXCJpZ25vcmVcIjogWzIsIDM2XSB9XSAqL1xuXG5pbXBvcnQgcmFuZG9tIGZyb20gJ21hdGgtcmFuZG9tJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pcXVlSUQoKTogc3RyaW5nIHtcbiAgcmV0dXJuIERhdGUubm93KCkgKyByYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIpO1xufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "botframework-webchat-core",
3
- "version": "4.14.1",
3
+ "version": "4.15.2-main.20220413.af6e8a3",
4
4
  "description": "Core of botframework-webchat",
5
5
  "main": "lib/index.js",
6
6
  "publishConfig": {
@@ -20,43 +20,40 @@
20
20
  "build": "npm run build:typescript && npm run build:babel",
21
21
  "build:babel": "babel src --extensions .js,.ts,.tsx --ignore **/*.spec.js,**/*.spec.ts,**/*.spec.tsx,**/*.test.js,**/*.test.ts,**/*.test.tsx,__tests__/**/*.js,__tests__/**/*.ts,__tests__/**/*.tsx --out-dir lib --verbose",
22
22
  "build:typescript": "tsc --project src/tsconfig.json",
23
+ "bump": "npm run bump:prod && npm run bump:dev",
24
+ "bump:dev": "npm install $(cat package.json | jq -r '(.devDependencies | keys) - .skipBump | .[]' | awk '{print $1 \"@latest\"}')",
25
+ "bump:prod": "npm install --save-exact $(cat package.json | jq -r '(.dependencies | keys) - .skipBump | .[]' | awk '{print $1 \"@latest\"}')",
23
26
  "eslint": "npm run precommit",
24
27
  "precommit": "npm run precommit:eslint -- src && npm run precommit:typecheck",
25
- "precommit:eslint": "eslint",
28
+ "precommit:eslint": "../../node_modules/.bin/eslint --report-unused-disable-directives --max-warnings 0",
26
29
  "precommit:typecheck": "tsc --project ./src --emitDeclarationOnly false --esModuleInterop true --noEmit --pretty false",
27
- "prettier": "prettier --check src/**/*.{js,ts,tsx}",
28
30
  "prestart": "npm run build:babel",
29
31
  "start": "concurrently --kill-others --names \"babel,tsc\" \"npm run start:babel\" \"npm run start:typescript\"",
30
32
  "start:babel": "npm run build:babel -- --skip-initial-build --watch",
31
33
  "start:typescript": "npm run build:typescript -- --watch"
32
34
  },
35
+ "skipBump": [],
33
36
  "devDependencies": {
34
- "@babel/cli": "^7.14.5",
35
- "@babel/core": "^7.14.6",
36
- "@babel/plugin-transform-runtime": "^7.14.5",
37
- "@babel/preset-env": "^7.14.7",
38
- "@babel/preset-typescript": "^7.14.5",
39
- "@types/node": "^16.3.1",
40
- "@typescript-eslint/eslint-plugin": "^4.28.3",
41
- "@typescript-eslint/parser": "^4.28.3",
42
- "babel-plugin-istanbul": "^6.0.0",
37
+ "@babel/cli": "^7.17.6",
38
+ "@babel/core": "^7.17.5",
39
+ "@babel/plugin-transform-runtime": "^7.17.0",
40
+ "@babel/plugin-transform-typescript": "^7.16.8",
41
+ "@babel/preset-env": "^7.16.11",
42
+ "@types/node": "^17.0.21",
43
+ "babel-plugin-istanbul": "^6.1.1",
43
44
  "babel-plugin-transform-inline-environment-variables": "^0.4.3",
44
- "botframework-directlinejs": "0.15.0",
45
- "concurrently": "^6.2.0",
46
- "eslint": "^7.30.0",
47
- "eslint-plugin-node": "^11.1.0",
48
- "eslint-plugin-prettier": "^3.4.0",
49
- "prettier": "^2.3.2",
50
- "typescript": "^4.3.5"
45
+ "botframework-directlinejs": "^0.15.1",
46
+ "concurrently": "^7.0.0",
47
+ "typescript": "^4.6.2"
51
48
  },
52
49
  "dependencies": {
53
- "@babel/runtime": "7.14.6",
50
+ "@babel/runtime": "7.17.2",
54
51
  "jwt-decode": "3.1.2",
55
52
  "math-random": "2.0.1",
56
- "mime": "2.5.2",
53
+ "mime": "3.0.0",
57
54
  "p-defer": "4.0.0",
58
- "p-defer-es5": "2.0.0",
59
- "redux": "4.0.5",
55
+ "p-defer-es5": "2.0.1",
56
+ "redux": "4.1.2",
60
57
  "redux-devtools-extension": "2.13.9",
61
58
  "redux-saga": "1.1.3",
62
59
  "simple-update-in": "2.2.0"
@@ -58,7 +58,7 @@ beforeEach(() => {
58
58
  applyMiddleware(sagaMiddleware)
59
59
  );
60
60
 
61
- sagaMiddleware.run(function*() {
61
+ sagaMiddleware.run(function* () {
62
62
  yield fork(connectSaga);
63
63
  yield fork(connectionStatusUpdateSaga);
64
64
  yield fork(detectSlowConnectionSaga);
@@ -36,7 +36,7 @@ describe('observeOnce', () => {
36
36
 
37
37
  test('should unsubscribe after first next', () =>
38
38
  new Promise((resolve, reject) => {
39
- runSaga(inputOutput, function*() {
39
+ runSaga(inputOutput, function* () {
40
40
  try {
41
41
  const [result] = yield all([observeOnce(observable), call(() => onNext('Hello, World!'))]);
42
42
 
@@ -53,7 +53,7 @@ describe('observeOnce', () => {
53
53
 
54
54
  test('should unsubscribe and throw after first error', () =>
55
55
  new Promise((resolve, reject) => {
56
- runSaga(inputOutput, function*() {
56
+ runSaga(inputOutput, function* () {
57
57
  try {
58
58
  try {
59
59
  yield all([observeOnce(observable), call(() => onError(new Error('Hello, World!')))]);
@@ -75,7 +75,7 @@ describe('observeOnce', () => {
75
75
 
76
76
  test('should unsubscribe after complete', () =>
77
77
  new Promise((resolve, reject) => {
78
- runSaga(inputOutput, function*() {
78
+ runSaga(inputOutput, function* () {
79
79
  try {
80
80
  const [result] = yield all([observeOnce(observable), call(() => onComplete())]);
81
81
 
@@ -0,0 +1,19 @@
1
+ type DeleteActivityActionType = 'DIRECT_LINE/DELETE_ACTIVITY';
2
+
3
+ type DeleteActivityAction = {
4
+ payload: { activityID: string };
5
+ type: DeleteActivityActionType;
6
+ };
7
+
8
+ const DELETE_ACTIVITY: DeleteActivityActionType = 'DIRECT_LINE/DELETE_ACTIVITY';
9
+
10
+ function deleteActivity(activityID: string): DeleteActivityAction {
11
+ return {
12
+ type: DELETE_ACTIVITY,
13
+ payload: { activityID }
14
+ };
15
+ }
16
+
17
+ export default deleteActivity;
18
+ export { DELETE_ACTIVITY };
19
+ export type { DeleteActivityAction };
@@ -0,0 +1,21 @@
1
+ import type { WebChatActivity } from '../types/WebChatActivity';
2
+
3
+ type IncomingActivityActionType = 'DIRECT_LINE/INCOMING_ACTIVITY';
4
+
5
+ type IncomingActivityAction = {
6
+ payload: { activity: WebChatActivity };
7
+ type: IncomingActivityActionType;
8
+ };
9
+
10
+ const INCOMING_ACTIVITY: IncomingActivityActionType = 'DIRECT_LINE/INCOMING_ACTIVITY';
11
+
12
+ function incomingActivity(activity: WebChatActivity): IncomingActivityAction {
13
+ return {
14
+ type: INCOMING_ACTIVITY,
15
+ payload: { activity }
16
+ };
17
+ }
18
+
19
+ export default incomingActivity;
20
+ export { INCOMING_ACTIVITY };
21
+ export type { IncomingActivityAction };
@@ -0,0 +1,23 @@
1
+ type MarkActivityActionType = 'WEB_CHAT/MARK_ACTIVITY';
2
+
3
+ type MarkActivityAction = {
4
+ payload: { activityID: string; name: string; value: any };
5
+ type: MarkActivityActionType;
6
+ };
7
+
8
+ const MARK_ACTIVITY: MarkActivityActionType = 'WEB_CHAT/MARK_ACTIVITY';
9
+
10
+ function markActivity({ id: activityID }: { id: string }, name: string, value: any): MarkActivityAction {
11
+ return {
12
+ type: MARK_ACTIVITY,
13
+ payload: {
14
+ activityID,
15
+ name,
16
+ value
17
+ }
18
+ };
19
+ }
20
+
21
+ export default markActivity;
22
+ export { MARK_ACTIVITY };
23
+ export type { MarkActivityAction };
@@ -0,0 +1,48 @@
1
+ import type { WebChatActivity } from '../types/WebChatActivity';
2
+
3
+ type PostActivityActionType = 'DIRECT_LINE/POST_ACTIVITY';
4
+ type PostActivityFulfilledActionType = 'DIRECT_LINE/POST_ACTIVITY_FULFILLED';
5
+ type PostActivityPendingActionType = 'DIRECT_LINE/POST_ACTIVITY_PENDING';
6
+ type PostActivityRejectedActionType = 'DIRECT_LINE/POST_ACTIVITY_REJECTED';
7
+
8
+ type PostActivityAction = {
9
+ meta: { method: string };
10
+ payload: { activity: WebChatActivity };
11
+ type: PostActivityActionType;
12
+ };
13
+
14
+ type PostActivityFulfilledAction = {
15
+ meta: { clientActivityID: string; method: string };
16
+ payload: { activity: WebChatActivity };
17
+ type: PostActivityFulfilledActionType;
18
+ };
19
+
20
+ type PostActivityPendingAction = {
21
+ meta: { clientActivityID: string; method: string };
22
+ payload: { activity: WebChatActivity };
23
+ type: PostActivityPendingActionType;
24
+ };
25
+
26
+ type PostActivityRejectedAction = {
27
+ error: true;
28
+ meta: { clientActivityID: string; method: string };
29
+ payload: Error;
30
+ type: PostActivityRejectedActionType;
31
+ };
32
+
33
+ const POST_ACTIVITY: PostActivityActionType = 'DIRECT_LINE/POST_ACTIVITY';
34
+ const POST_ACTIVITY_FULFILLED: PostActivityFulfilledActionType = `${POST_ACTIVITY}_FULFILLED`;
35
+ const POST_ACTIVITY_PENDING: PostActivityPendingActionType = `${POST_ACTIVITY}_PENDING`;
36
+ const POST_ACTIVITY_REJECTED: PostActivityRejectedActionType = `${POST_ACTIVITY}_REJECTED`;
37
+
38
+ function postActivity(activity: WebChatActivity, method = 'keyboard'): PostActivityAction {
39
+ return {
40
+ type: POST_ACTIVITY,
41
+ meta: { method },
42
+ payload: { activity }
43
+ };
44
+ }
45
+
46
+ export default postActivity;
47
+ export { POST_ACTIVITY, POST_ACTIVITY_FULFILLED, POST_ACTIVITY_PENDING, POST_ACTIVITY_REJECTED };
48
+ export type { PostActivityAction, PostActivityFulfilledAction, PostActivityPendingAction, PostActivityRejectedAction };
@@ -4,12 +4,18 @@ const SET_NOTIFICATION = 'WEB_CHAT/SET_NOTIFICATION';
4
4
 
5
5
  export default function setNotification({ alt, data, id, level, message }) {
6
6
  if (!id || typeof id !== 'string') {
7
- console.warn('botframework-webchat: The "id" argument passed to "setNotification" must be a string; defaulting to a random value.');
7
+ console.warn(
8
+ 'botframework-webchat: The "id" argument passed to "setNotification" must be a string; defaulting to a random value.'
9
+ );
10
+
8
11
  id = uniqueID();
9
12
  }
10
13
 
11
14
  if (!level || typeof level !== 'string') {
12
- console.warn('botframework-webchat: The "level" argument passed to "setNotification" must be a string; defaulting to "info".');
15
+ console.warn(
16
+ 'botframework-webchat: The "level" argument passed to "setNotification" must be a string; defaulting to "info".'
17
+ );
18
+
13
19
  level = 'info';
14
20
  }
15
21
 
@@ -1,7 +1,3 @@
1
- /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
2
- // This is for the racing between sagaMiddleware and store
3
- /* eslint no-use-before-define: "off" */
4
-
5
1
  import { applyMiddleware, createStore as createReduxStore, Store } from 'redux';
6
2
  import { composeWithDevTools } from 'redux-devtools-extension';
7
3
  import createSagaMiddleware from 'redux-saga';
@@ -30,6 +26,8 @@ function createEnhancerAndSagaMiddleware(getStore, ...middlewares) {
30
26
  }
31
27
 
32
28
  export default function createStore(initialState?, ...middlewares): Store {
29
+ // We are sure the "getStore" (first argument) is not called on "createEnhancerAndSagaMiddleware()".
30
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
33
31
  const { enhancer, sagaMiddleware } = createEnhancerAndSagaMiddleware(() => store, ...middlewares);
34
32
  const store = createReduxStore(reducer, initialState || {}, enhancer);
35
33
 
@@ -39,6 +37,8 @@ export default function createStore(initialState?, ...middlewares): Store {
39
37
  }
40
38
 
41
39
  export function withDevTools(initialState?, ...middlewares): Store {
40
+ // We are sure the "getStore" (first argument) is not called on "createEnhancerAndSagaMiddleware()".
41
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
42
42
  const { enhancer, sagaMiddleware } = createEnhancerAndSagaMiddleware(() => store, ...middlewares);
43
43
  const store = createReduxStore(reducer, initialState || {}, composeWithDevTools(enhancer));
44
44
 
@@ -1,5 +1,5 @@
1
1
  // If true, the activity is in the queue and needs to be spoken.
2
2
 
3
3
  export default function speakingActivity(activity) {
4
- return activity.channelData && activity.channelData.speak;
4
+ return activity.channelData?.speak;
5
5
  }
package/src/index.ts CHANGED
@@ -3,22 +3,10 @@ import * as DictateState from './constants/DictateState';
3
3
  import clearSuggestedActions from './actions/clearSuggestedActions';
4
4
  import connect from './actions/connect';
5
5
  import createStore, { withDevTools as createStoreWithDevTools } from './createStore';
6
- import DirectLineActivity from './types/external/DirectLineActivity';
7
- import DirectLineAnimationCard from './types/external/DirectLineAnimationCard';
8
- import DirectLineAttachment from './types/external/DirectLineAttachment';
9
- import DirectLineAudioCard from './types/external/DirectLineAudioCard';
10
- import DirectLineCardAction from './types/external/DirectLineCardAction';
11
- import DirectLineHeroCard from './types/external/DirectLineHeroCard';
12
- import DirectLineJSBotConnection from './types/external/DirectLineJSBotConnection';
13
- import DirectLineOAuthCard from './types/external/DirectLineOAuthCard';
14
- import DirectLineReceiptCard from './types/external/DirectLineReceiptCard';
15
- import DirectLineSignInCard from './types/external/DirectLineSignInCard';
16
- import DirectLineSuggestedAction from './types/external/DirectLineSuggestedAction';
17
- import DirectLineThumbnailCard from './types/external/DirectLineThumbnailCard';
18
- import DirectLineVideoCard from './types/external/DirectLineVideoCard';
19
6
  import disconnect from './actions/disconnect';
20
7
  import dismissNotification from './actions/dismissNotification';
21
8
  import emitTypingIndicator from './actions/emitTypingIndicator';
9
+ import isForbiddenPropertyName from './utils/isForbiddenPropertyName';
22
10
  import markActivity from './actions/markActivity';
23
11
  import OneOrMany from './types/OneOrMany';
24
12
  import postActivity from './actions/postActivity';
@@ -42,6 +30,21 @@ import stopSpeakingActivity from './actions/stopSpeakingActivity';
42
30
  import submitSendBox from './actions/submitSendBox';
43
31
  import warnOnce from './utils/warnOnce';
44
32
 
33
+ import type { DirectLineActivity } from './types/external/DirectLineActivity';
34
+ import type { DirectLineAnimationCard } from './types/external/DirectLineAnimationCard';
35
+ import type { DirectLineAttachment } from './types/external/DirectLineAttachment';
36
+ import type { DirectLineAudioCard } from './types/external/DirectLineAudioCard';
37
+ import type { DirectLineCardAction } from './types/external/DirectLineCardAction';
38
+ import type { DirectLineHeroCard } from './types/external/DirectLineHeroCard';
39
+ import type { DirectLineJSBotConnection } from './types/external/DirectLineJSBotConnection';
40
+ import type { DirectLineOAuthCard } from './types/external/DirectLineOAuthCard';
41
+ import type { DirectLineReceiptCard } from './types/external/DirectLineReceiptCard';
42
+ import type { DirectLineSignInCard } from './types/external/DirectLineSignInCard';
43
+ import type { DirectLineSuggestedAction } from './types/external/DirectLineSuggestedAction';
44
+ import type { DirectLineThumbnailCard } from './types/external/DirectLineThumbnailCard';
45
+ import type { DirectLineVideoCard } from './types/external/DirectLineVideoCard';
46
+ import type { WebChatActivity } from './types/WebChatActivity';
47
+
45
48
  const Constants = { ActivityClientState, DictateState };
46
49
  const version = process.env.npm_package_version;
47
50
 
@@ -54,6 +57,7 @@ export {
54
57
  disconnect,
55
58
  dismissNotification,
56
59
  emitTypingIndicator,
60
+ isForbiddenPropertyName,
57
61
  markActivity,
58
62
  postActivity,
59
63
  sendEvent,
@@ -92,5 +96,6 @@ export type {
92
96
  DirectLineSuggestedAction,
93
97
  DirectLineThumbnailCard,
94
98
  DirectLineVideoCard,
95
- OneOrMany
99
+ OneOrMany,
100
+ WebChatActivity
96
101
  };
package/src/reducer.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { combineReducers } from 'redux';
2
2
 
3
3
  import activities from './reducers/activities';
4
- import clockSkewAdjustment from './reducers/clockSkewAdjustment';
5
4
  import connectivityStatus from './reducers/connectivityStatus';
6
5
  import dictateInterims from './reducers/dictateInterims';
7
6
  import dictateState from './reducers/dictateState';
@@ -19,7 +18,6 @@ import typing from './reducers/typing';
19
18
 
20
19
  export default combineReducers({
21
20
  activities,
22
- clockSkewAdjustment,
23
21
  connectivityStatus,
24
22
  dictateInterims,
25
23
  dictateState,