botframework-webchat-core 4.14.1 → 4.15.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 (75) hide show
  1. package/.eslintrc.yml +4 -198
  2. package/.prettierrc.yml +1 -1
  3. package/lib/actions/setNotification.js +1 -1
  4. package/lib/createStore.d.ts.map +1 -1
  5. package/lib/createStore.js +5 -5
  6. package/lib/index.d.ts +2 -1
  7. package/lib/index.d.ts.map +1 -1
  8. package/lib/index.js +10 -2
  9. package/lib/reducers/notifications.js +21 -14
  10. package/lib/sagas/connectionStatusToNotificationSaga.js +1 -1
  11. package/lib/sagas/queueIncomingActivitySaga.js +1 -1
  12. package/lib/sagas/sendMessageBackToPostActivitySaga.js +1 -1
  13. package/lib/sagas/sendTypingIndicatorOnSetSendBoxSaga.js +1 -1
  14. package/lib/sagas/speakActivityAndStartDictateOnIncomingActivityFromOthersSaga.js +1 -1
  15. package/lib/sagas/startSpeakActivityOnPostActivitySaga.js +1 -1
  16. package/lib/sagas/stopSpeakingActivityOnInputSaga.js +1 -1
  17. package/lib/sagas/submitSendBoxSaga.js +1 -1
  18. package/lib/selectors/combineSelectors.js +7 -2
  19. package/lib/types/external/DirectLineActivity.d.ts +1 -1
  20. package/lib/types/external/DirectLineActivity.d.ts.map +1 -1
  21. package/lib/types/external/DirectLineAnimationCard.d.ts.map +1 -1
  22. package/lib/types/external/DirectLineAttachment.d.ts.map +1 -1
  23. package/lib/types/external/DirectLineAudioCard.d.ts.map +1 -1
  24. package/lib/types/external/DirectLineHeroCard.d.ts.map +1 -1
  25. package/lib/types/external/DirectLineJSBotConnection.d.ts.map +1 -1
  26. package/lib/types/external/DirectLineOAuthCard.d.ts.map +1 -1
  27. package/lib/types/external/DirectLineReceiptCard.d.ts.map +1 -1
  28. package/lib/types/external/DirectLineSignInCard.d.ts.map +1 -1
  29. package/lib/types/external/DirectLineSuggestedAction.d.ts.map +1 -1
  30. package/lib/types/external/DirectLineThumbnailCard.d.ts.map +1 -1
  31. package/lib/types/external/DirectLineVideoCard.d.ts.map +1 -1
  32. package/lib/utils/deleteKey.js +2 -3
  33. package/lib/utils/isForbiddenPropertyName.d.ts +2 -0
  34. package/lib/utils/isForbiddenPropertyName.d.ts.map +1 -0
  35. package/lib/utils/isForbiddenPropertyName.js +21 -0
  36. package/lib/utils/mime-wrapper.js +2 -4
  37. package/lib/utils/uniqueID.js +1 -1
  38. package/package.json +6 -13
  39. package/src/__tests__/detectSlowConnectionSaga.spec.js +1 -1
  40. package/src/__tests__/observeOnce.spec.js +3 -3
  41. package/src/actions/setNotification.js +8 -2
  42. package/src/createStore.ts +4 -4
  43. package/src/index.ts +2 -0
  44. package/src/reducers/notifications.js +22 -16
  45. package/src/sagas/connectionStatusToNotificationSaga.js +1 -1
  46. package/src/sagas/queueIncomingActivitySaga.js +40 -39
  47. package/src/sagas/sendMessageBackToPostActivitySaga.js +0 -1
  48. package/src/sagas/sendTypingIndicatorOnSetSendBoxSaga.js +1 -1
  49. package/src/sagas/speakActivityAndStartDictateOnIncomingActivityFromOthersSaga.js +1 -1
  50. package/src/sagas/startSpeakActivityOnPostActivitySaga.js +1 -1
  51. package/src/sagas/stopSpeakingActivityOnInputSaga.js +1 -1
  52. package/src/sagas/submitSendBoxSaga.js +1 -1
  53. package/src/selectors/combineSelectors.js +9 -1
  54. package/src/types/external/DirectLineActivity.ts +3 -2
  55. package/src/types/external/DirectLineAnimationCard.ts +0 -1
  56. package/src/types/external/DirectLineAttachment.ts +0 -1
  57. package/src/types/external/DirectLineAudioCard.ts +0 -1
  58. package/src/types/external/DirectLineHeroCard.ts +0 -1
  59. package/src/types/external/DirectLineJSBotConnection.ts +0 -1
  60. package/src/types/external/DirectLineOAuthCard.ts +0 -1
  61. package/src/types/external/DirectLineReceiptCard.ts +0 -1
  62. package/src/types/external/DirectLineSignInCard.ts +0 -1
  63. package/src/types/external/DirectLineSuggestedAction.ts +0 -1
  64. package/src/types/external/DirectLineThumbnailCard.ts +0 -1
  65. package/src/types/external/DirectLineVideoCard.ts +0 -1
  66. package/src/utils/dateToLocaleISOString.chatham.spec.js +1 -0
  67. package/src/utils/dateToLocaleISOString.japan.spec.js +1 -0
  68. package/src/utils/dateToLocaleISOString.pacific.spec.js +1 -0
  69. package/src/utils/dateToLocaleISOString.utc.spec.js +2 -0
  70. package/src/utils/deleteKey.js +1 -3
  71. package/src/utils/isForbiddenPropertyName.spec.js +6 -0
  72. package/src/utils/isForbiddenPropertyName.ts +33 -0
  73. package/src/utils/mime-wrapper.js +1 -2
  74. package/src/utils/uniqueID.js +1 -6
  75. package/.eslintignore +0 -9
@@ -78,4 +78,4 @@ function stopSpeakingActivityOnInputSaga() {
78
78
  }
79
79
  }, _marked2);
80
80
  }
81
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zYWdhcy9zdG9wU3BlYWtpbmdBY3Rpdml0eU9uSW5wdXRTYWdhLmpzIl0sIm5hbWVzIjpbInN0b3BTcGVha2luZ0FjdGl2aXR5T25JbnB1dCIsInN0b3BTcGVha2luZ0FjdGl2aXR5T25JbnB1dFNhZ2EiLCJtZXRhIiwicGF5bG9hZCIsInR5cGUiLCJTRVRfU0VORF9CT1giLCJ0ZXh0IiwiUE9TVF9BQ1RJVklUWV9QRU5ESU5HIiwibWV0aG9kIiwiYWN0aXZpdHkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7cURBRVVBLDJCO3NEQWVlQywrQjs7QUFmekIsU0FBVUQsMkJBQVY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0UsaUJBQU0sd0JBQ0o7QUFBQSxnQkFBR0UsSUFBSCxRQUFHQSxJQUFIO0FBQUEsZ0JBQVNDLE9BQVQsUUFBU0EsT0FBVDtBQUFBLGdCQUFrQkMsSUFBbEIsUUFBa0JBLElBQWxCO0FBQUEsbUJBQ0dBLElBQUksS0FBS0Msd0JBQVQsSUFBeUJGLE9BQU8sQ0FBQ0csSUFBbEMsSUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNDRixZQUFBQSxJQUFJLEtBQUtHLG1DQUFULElBQWtDTCxJQUFJLENBQUNNLE1BQUwsS0FBZ0IsUUFBbEQsSUFBOERMLE9BQU8sQ0FBQ00sUUFBUixDQUFpQkwsSUFBakIsS0FBMEIsU0FOM0Y7QUFBQSxXQURJLDRDQVFKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNFLDJCQUFNLGtCQUFJLHVDQUFKLENBQU47O0FBREY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsV0FSSSxFQUFOOztBQURGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQWVlLFNBQVVILCtCQUFWO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNiLGlCQUFNLGdDQUFlRCwyQkFBZixDQUFOOztBQURhO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBIiwic291cmNlUm9vdCI6ImNvcmU6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHV0LCB0YWtlRXZlcnkgfSBmcm9tICdyZWR1eC1zYWdhL2VmZmVjdHMnO1xuXG5pbXBvcnQgeyBQT1NUX0FDVElWSVRZX1BFTkRJTkcgfSBmcm9tICcuLi9hY3Rpb25zL3Bvc3RBY3Rpdml0eSc7XG5pbXBvcnQgeyBTRVRfU0VORF9CT1ggfSBmcm9tICcuLi9hY3Rpb25zL3NldFNlbmRCb3gnO1xuaW1wb3J0IHN0b3BTcGVha2luZ0FjdGl2aXR5IGZyb20gJy4uL2FjdGlvbnMvc3RvcFNwZWFraW5nQWN0aXZpdHknO1xuaW1wb3J0IHdoaWxlQ29ubmVjdGVkIGZyb20gJy4vZWZmZWN0cy93aGlsZUNvbm5lY3RlZCc7XG5cbmZ1bmN0aW9uKiBzdG9wU3BlYWtpbmdBY3Rpdml0eU9uSW5wdXQoKSB7XG4gIHlpZWxkIHRha2VFdmVyeShcbiAgICAoeyBtZXRhLCBwYXlsb2FkLCB0eXBlIH0pID0+XG4gICAgICAodHlwZSA9PT0gU0VUX1NFTkRfQk9YICYmIHBheWxvYWQudGV4dCkgfHxcbiAgICAgIC8vIFdlIHdhbnQgdG8gc3RvcCBzcGVha2luZyBhY3Rpdml0eSB3aGVuIHRoZSB1c2VyIGNsaWNrIG9uIGEgY2FyZCBhY3Rpb25cbiAgICAgIC8vIEJ1dCBjdXJyZW50bHkgdGhlcmUgYXJlIG5vIGFjdGlvbnMgZ2VuZXJhdGVkIG91dCBvZiBhIGNhcmQgYWN0aW9uXG4gICAgICAvLyBTbywgcmlnaHQgbm93LCB3ZSBhcmUgdXNpbmcgYmVzdC1lZmZvcnQgYnkgbGlzdGVuaW5nIHRvIFBPU1RfQUNUSVZJVFlfUEVORElORyB3aXRoIGEgXCJtZXNzYWdlXCIgZXZlbnRcbiAgICAgIC8vIFdlIGZpbHRlciBvdXQgc3BlZWNoIGJlY2F1c2Ugd2Ugd2lsbCBjYWxsIHN0YXJ0U3BlYWtpbmdBY3Rpdml0eSgpIGZvciBQT1NUX0FDVElWSVRZX1BFTkRJTkcgZGlzcGF0Y2hlZCBieSBzcGVlY2hcbiAgICAgICh0eXBlID09PSBQT1NUX0FDVElWSVRZX1BFTkRJTkcgJiYgbWV0YS5tZXRob2QgIT09ICdzcGVlY2gnICYmIHBheWxvYWQuYWN0aXZpdHkudHlwZSA9PT0gJ21lc3NhZ2UnKSxcbiAgICBmdW5jdGlvbiooKSB7XG4gICAgICB5aWVsZCBwdXQoc3RvcFNwZWFraW5nQWN0aXZpdHkoKSk7XG4gICAgfVxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiogc3RvcFNwZWFraW5nQWN0aXZpdHlPbklucHV0U2FnYSgpIHtcbiAgeWllbGQgd2hpbGVDb25uZWN0ZWQoc3RvcFNwZWFraW5nQWN0aXZpdHlPbklucHV0KTtcbn1cbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zYWdhcy9zdG9wU3BlYWtpbmdBY3Rpdml0eU9uSW5wdXRTYWdhLmpzIl0sIm5hbWVzIjpbInN0b3BTcGVha2luZ0FjdGl2aXR5T25JbnB1dCIsInN0b3BTcGVha2luZ0FjdGl2aXR5T25JbnB1dFNhZ2EiLCJtZXRhIiwicGF5bG9hZCIsInR5cGUiLCJTRVRfU0VORF9CT1giLCJ0ZXh0IiwiUE9TVF9BQ1RJVklUWV9QRU5ESU5HIiwibWV0aG9kIiwiYWN0aXZpdHkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7cURBRVVBLDJCO3NEQWVlQywrQjs7QUFmekIsU0FBVUQsMkJBQVY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0UsaUJBQU0sd0JBQ0o7QUFBQSxnQkFBR0UsSUFBSCxRQUFHQSxJQUFIO0FBQUEsZ0JBQVNDLE9BQVQsUUFBU0EsT0FBVDtBQUFBLGdCQUFrQkMsSUFBbEIsUUFBa0JBLElBQWxCO0FBQUEsbUJBQ0dBLElBQUksS0FBS0Msd0JBQVQsSUFBeUJGLE9BQU8sQ0FBQ0csSUFBbEMsSUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNDRixZQUFBQSxJQUFJLEtBQUtHLG1DQUFULElBQWtDTCxJQUFJLENBQUNNLE1BQUwsS0FBZ0IsUUFBbEQsSUFBOERMLE9BQU8sQ0FBQ00sUUFBUixDQUFpQkwsSUFBakIsS0FBMEIsU0FOM0Y7QUFBQSxXQURJLDRDQVFKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNFLDJCQUFNLGtCQUFJLHVDQUFKLENBQU47O0FBREY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsV0FSSSxFQUFOOztBQURGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQWVlLFNBQVVILCtCQUFWO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNiLGlCQUFNLGdDQUFlRCwyQkFBZixDQUFOOztBQURhO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBIiwic291cmNlUm9vdCI6ImNvcmU6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHV0LCB0YWtlRXZlcnkgfSBmcm9tICdyZWR1eC1zYWdhL2VmZmVjdHMnO1xuXG5pbXBvcnQgeyBQT1NUX0FDVElWSVRZX1BFTkRJTkcgfSBmcm9tICcuLi9hY3Rpb25zL3Bvc3RBY3Rpdml0eSc7XG5pbXBvcnQgeyBTRVRfU0VORF9CT1ggfSBmcm9tICcuLi9hY3Rpb25zL3NldFNlbmRCb3gnO1xuaW1wb3J0IHN0b3BTcGVha2luZ0FjdGl2aXR5IGZyb20gJy4uL2FjdGlvbnMvc3RvcFNwZWFraW5nQWN0aXZpdHknO1xuaW1wb3J0IHdoaWxlQ29ubmVjdGVkIGZyb20gJy4vZWZmZWN0cy93aGlsZUNvbm5lY3RlZCc7XG5cbmZ1bmN0aW9uKiBzdG9wU3BlYWtpbmdBY3Rpdml0eU9uSW5wdXQoKSB7XG4gIHlpZWxkIHRha2VFdmVyeShcbiAgICAoeyBtZXRhLCBwYXlsb2FkLCB0eXBlIH0pID0+XG4gICAgICAodHlwZSA9PT0gU0VUX1NFTkRfQk9YICYmIHBheWxvYWQudGV4dCkgfHxcbiAgICAgIC8vIFdlIHdhbnQgdG8gc3RvcCBzcGVha2luZyBhY3Rpdml0eSB3aGVuIHRoZSB1c2VyIGNsaWNrIG9uIGEgY2FyZCBhY3Rpb25cbiAgICAgIC8vIEJ1dCBjdXJyZW50bHkgdGhlcmUgYXJlIG5vIGFjdGlvbnMgZ2VuZXJhdGVkIG91dCBvZiBhIGNhcmQgYWN0aW9uXG4gICAgICAvLyBTbywgcmlnaHQgbm93LCB3ZSBhcmUgdXNpbmcgYmVzdC1lZmZvcnQgYnkgbGlzdGVuaW5nIHRvIFBPU1RfQUNUSVZJVFlfUEVORElORyB3aXRoIGEgXCJtZXNzYWdlXCIgZXZlbnRcbiAgICAgIC8vIFdlIGZpbHRlciBvdXQgc3BlZWNoIGJlY2F1c2Ugd2Ugd2lsbCBjYWxsIHN0YXJ0U3BlYWtpbmdBY3Rpdml0eSgpIGZvciBQT1NUX0FDVElWSVRZX1BFTkRJTkcgZGlzcGF0Y2hlZCBieSBzcGVlY2hcbiAgICAgICh0eXBlID09PSBQT1NUX0FDVElWSVRZX1BFTkRJTkcgJiYgbWV0YS5tZXRob2QgIT09ICdzcGVlY2gnICYmIHBheWxvYWQuYWN0aXZpdHkudHlwZSA9PT0gJ21lc3NhZ2UnKSxcbiAgICBmdW5jdGlvbiogKCkge1xuICAgICAgeWllbGQgcHV0KHN0b3BTcGVha2luZ0FjdGl2aXR5KCkpO1xuICAgIH1cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24qIHN0b3BTcGVha2luZ0FjdGl2aXR5T25JbnB1dFNhZ2EoKSB7XG4gIHlpZWxkIHdoaWxlQ29ubmVjdGVkKHN0b3BTcGVha2luZ0FjdGl2aXR5T25JbnB1dCk7XG59XG4iXX0=
@@ -91,4 +91,4 @@ function submitSendBoxSaga() {
91
91
  }
92
92
  }, _marked2);
93
93
  }
94
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zYWdhcy9zdWJtaXRTZW5kQm94U2FnYS5qcyJdLCJuYW1lcyI6WyJzdWJtaXRTZW5kQm94Iiwic3VibWl0U2VuZEJveFNhZ2EiLCJTVUJNSVRfU0VORF9CT1giLCJwYXlsb2FkIiwiY2hhbm5lbERhdGEiLCJtZXRob2QiLCJzZW5kQm94VmFsdWVTZWxlY3RvciIsInNlbmRCb3hWYWx1ZSIsInRyaW0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7cURBRVVBLGE7c0RBV2VDLGlCOztBQVh6QixTQUFVRCxhQUFWO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNFLGlCQUFNLHdCQUFVRSw4QkFBViw0Q0FBMkI7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHdDQUFZQyxPQUFaLEVBQXVCQyxXQUF2QixnQkFBdUJBLFdBQXZCLEVBQW9DQyxNQUFwQyxnQkFBb0NBLE1BQXBDO0FBQUE7QUFDViwyQkFBTSxxQkFBT0Msd0JBQVAsQ0FBTjs7QUFEVTtBQUN6QkMsb0JBQUFBLFlBRHlCOztBQUFBLHlCQUczQkEsWUFIMkI7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFJN0IsMkJBQU0sa0JBQUksNkJBQVlBLFlBQVksQ0FBQ0MsSUFBYixFQUFaLEVBQWlDSCxNQUFqQyxFQUF5QztBQUFFRCxzQkFBQUEsV0FBVyxFQUFYQTtBQUFGLHFCQUF6QyxDQUFKLENBQU47O0FBSjZCO0FBQUE7QUFLN0IsMkJBQU0sa0JBQUksNEJBQVcsRUFBWCxDQUFKLENBQU47O0FBTDZCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLFdBQTNCLEVBQU47O0FBREY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBV2UsU0FBVUgsaUJBQVY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ2IsaUJBQU0sZ0NBQWVELGFBQWYsQ0FBTjs7QUFEYTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSIsInNvdXJjZVJvb3QiOiJjb3JlOi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHB1dCwgc2VsZWN0LCB0YWtlRXZlcnkgfSBmcm9tICdyZWR1eC1zYWdhL2VmZmVjdHMnO1xuXG5pbXBvcnQgeyBTVUJNSVRfU0VORF9CT1ggfSBmcm9tICcuLi9hY3Rpb25zL3N1Ym1pdFNlbmRCb3gnO1xuaW1wb3J0IHNlbmRCb3hWYWx1ZVNlbGVjdG9yIGZyb20gJy4uL3NlbGVjdG9ycy9zZW5kQm94VmFsdWUnO1xuaW1wb3J0IHNlbmRNZXNzYWdlIGZyb20gJy4uL2FjdGlvbnMvc2VuZE1lc3NhZ2UnO1xuaW1wb3J0IHNldFNlbmRCb3ggZnJvbSAnLi4vYWN0aW9ucy9zZXRTZW5kQm94JztcbmltcG9ydCB3aGlsZUNvbm5lY3RlZCBmcm9tICcuL2VmZmVjdHMvd2hpbGVDb25uZWN0ZWQnO1xuXG5mdW5jdGlvbiogc3VibWl0U2VuZEJveCgpIHtcbiAgeWllbGQgdGFrZUV2ZXJ5KFNVQk1JVF9TRU5EX0JPWCwgZnVuY3Rpb24qKHsgcGF5bG9hZDogeyBjaGFubmVsRGF0YSwgbWV0aG9kIH0gfSkge1xuICAgIGNvbnN0IHNlbmRCb3hWYWx1ZSA9IHlpZWxkIHNlbGVjdChzZW5kQm94VmFsdWVTZWxlY3Rvcik7XG5cbiAgICBpZiAoc2VuZEJveFZhbHVlKSB7XG4gICAgICB5aWVsZCBwdXQoc2VuZE1lc3NhZ2Uoc2VuZEJveFZhbHVlLnRyaW0oKSwgbWV0aG9kLCB7IGNoYW5uZWxEYXRhIH0pKTtcbiAgICAgIHlpZWxkIHB1dChzZXRTZW5kQm94KCcnKSk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24qIHN1Ym1pdFNlbmRCb3hTYWdhKCkge1xuICB5aWVsZCB3aGlsZUNvbm5lY3RlZChzdWJtaXRTZW5kQm94KTtcbn1cbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zYWdhcy9zdWJtaXRTZW5kQm94U2FnYS5qcyJdLCJuYW1lcyI6WyJzdWJtaXRTZW5kQm94Iiwic3VibWl0U2VuZEJveFNhZ2EiLCJTVUJNSVRfU0VORF9CT1giLCJwYXlsb2FkIiwiY2hhbm5lbERhdGEiLCJtZXRob2QiLCJzZW5kQm94VmFsdWVTZWxlY3RvciIsInNlbmRCb3hWYWx1ZSIsInRyaW0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7cURBRVVBLGE7c0RBV2VDLGlCOztBQVh6QixTQUFVRCxhQUFWO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNFLGlCQUFNLHdCQUFVRSw4QkFBViw0Q0FBMkI7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHdDQUFhQyxPQUFiLEVBQXdCQyxXQUF4QixnQkFBd0JBLFdBQXhCLEVBQXFDQyxNQUFyQyxnQkFBcUNBLE1BQXJDO0FBQUE7QUFDViwyQkFBTSxxQkFBT0Msd0JBQVAsQ0FBTjs7QUFEVTtBQUN6QkMsb0JBQUFBLFlBRHlCOztBQUFBLHlCQUczQkEsWUFIMkI7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFJN0IsMkJBQU0sa0JBQUksNkJBQVlBLFlBQVksQ0FBQ0MsSUFBYixFQUFaLEVBQWlDSCxNQUFqQyxFQUF5QztBQUFFRCxzQkFBQUEsV0FBVyxFQUFYQTtBQUFGLHFCQUF6QyxDQUFKLENBQU47O0FBSjZCO0FBQUE7QUFLN0IsMkJBQU0sa0JBQUksNEJBQVcsRUFBWCxDQUFKLENBQU47O0FBTDZCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLFdBQTNCLEVBQU47O0FBREY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBV2UsU0FBVUgsaUJBQVY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ2IsaUJBQU0sZ0NBQWVELGFBQWYsQ0FBTjs7QUFEYTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSIsInNvdXJjZVJvb3QiOiJjb3JlOi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHB1dCwgc2VsZWN0LCB0YWtlRXZlcnkgfSBmcm9tICdyZWR1eC1zYWdhL2VmZmVjdHMnO1xuXG5pbXBvcnQgeyBTVUJNSVRfU0VORF9CT1ggfSBmcm9tICcuLi9hY3Rpb25zL3N1Ym1pdFNlbmRCb3gnO1xuaW1wb3J0IHNlbmRCb3hWYWx1ZVNlbGVjdG9yIGZyb20gJy4uL3NlbGVjdG9ycy9zZW5kQm94VmFsdWUnO1xuaW1wb3J0IHNlbmRNZXNzYWdlIGZyb20gJy4uL2FjdGlvbnMvc2VuZE1lc3NhZ2UnO1xuaW1wb3J0IHNldFNlbmRCb3ggZnJvbSAnLi4vYWN0aW9ucy9zZXRTZW5kQm94JztcbmltcG9ydCB3aGlsZUNvbm5lY3RlZCBmcm9tICcuL2VmZmVjdHMvd2hpbGVDb25uZWN0ZWQnO1xuXG5mdW5jdGlvbiogc3VibWl0U2VuZEJveCgpIHtcbiAgeWllbGQgdGFrZUV2ZXJ5KFNVQk1JVF9TRU5EX0JPWCwgZnVuY3Rpb24qICh7IHBheWxvYWQ6IHsgY2hhbm5lbERhdGEsIG1ldGhvZCB9IH0pIHtcbiAgICBjb25zdCBzZW5kQm94VmFsdWUgPSB5aWVsZCBzZWxlY3Qoc2VuZEJveFZhbHVlU2VsZWN0b3IpO1xuXG4gICAgaWYgKHNlbmRCb3hWYWx1ZSkge1xuICAgICAgeWllbGQgcHV0KHNlbmRNZXNzYWdlKHNlbmRCb3hWYWx1ZS50cmltKCksIG1ldGhvZCwgeyBjaGFubmVsRGF0YSB9KSk7XG4gICAgICB5aWVsZCBwdXQoc2V0U2VuZEJveCgnJykpO1xuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKiBzdWJtaXRTZW5kQm94U2FnYSgpIHtcbiAgeWllbGQgd2hpbGVDb25uZWN0ZWQoc3VibWl0U2VuZEJveCk7XG59XG4iXX0=
@@ -11,6 +11,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
11
11
 
12
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
13
 
14
+ var _isForbiddenPropertyName = _interopRequireDefault(require("../utils/isForbiddenPropertyName"));
15
+
14
16
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
15
17
 
16
18
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -26,8 +28,11 @@ function combineSelectors(selectors) {
26
28
 
27
29
  return function (state) {
28
30
  return Object.keys(selectors).reduce(function (combinedState, key) {
29
- return _objectSpread(_objectSpread({}, combinedState), {}, (0, _defineProperty2["default"])({}, key, selectors[key](state)));
31
+ return (// Mitigated through denylisting.
32
+ // eslint-disable-next-line security/detect-object-injection
33
+ (0, _isForbiddenPropertyName["default"])(key) ? combinedState : _objectSpread(_objectSpread({}, combinedState), {}, (0, _defineProperty2["default"])({}, key, selectors[key](state)))
34
+ );
30
35
  }, {});
31
36
  };
32
37
  }
33
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZWxlY3RvcnMvY29tYmluZVNlbGVjdG9ycy5qcyJdLCJuYW1lcyI6WyJjb21iaW5lU2VsZWN0b3JzIiwic2VsZWN0b3JzIiwiQXJyYXkiLCJpc0FycmF5Iiwic3RhdGUiLCJyZWR1Y2UiLCJjb21iaW5lZFN0YXRlIiwic2VsZWN0b3IiLCJPYmplY3QiLCJrZXlzIiwia2V5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFlLFNBQVNBLGdCQUFULENBQTBCQyxTQUExQixFQUFxQztBQUNsRCxNQUFJQyxLQUFLLENBQUNDLE9BQU4sQ0FBY0YsU0FBZCxDQUFKLEVBQThCO0FBQzVCLFdBQU8sVUFBQUcsS0FBSztBQUFBLGFBQUlILFNBQVMsQ0FBQ0ksTUFBVixDQUFpQixVQUFDQyxhQUFELEVBQWdCQyxRQUFoQjtBQUFBLDZEQUFpQ0QsYUFBakMsSUFBZ0RDLFFBQVEsQ0FBQ0gsS0FBRCxDQUF4RDtBQUFBLE9BQWpCLEVBQW1GLEVBQW5GLENBQUo7QUFBQSxLQUFaO0FBQ0Q7O0FBRUQsU0FBTyxVQUFBQSxLQUFLO0FBQUEsV0FDVkksTUFBTSxDQUFDQyxJQUFQLENBQVlSLFNBQVosRUFBdUJJLE1BQXZCLENBQThCLFVBQUNDLGFBQUQsRUFBZ0JJLEdBQWhCO0FBQUEsNkNBQThCSixhQUE5Qiw0Q0FBOENJLEdBQTlDLEVBQW9EVCxTQUFTLENBQUNTLEdBQUQsQ0FBVCxDQUFlTixLQUFmLENBQXBEO0FBQUEsS0FBOUIsRUFBNEcsRUFBNUcsQ0FEVTtBQUFBLEdBQVo7QUFFRCIsInNvdXJjZVJvb3QiOiJjb3JlOi8vLyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbWJpbmVTZWxlY3RvcnMoc2VsZWN0b3JzKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHNlbGVjdG9ycykpIHtcbiAgICByZXR1cm4gc3RhdGUgPT4gc2VsZWN0b3JzLnJlZHVjZSgoY29tYmluZWRTdGF0ZSwgc2VsZWN0b3IpID0+IFsuLi5jb21iaW5lZFN0YXRlLCBzZWxlY3RvcihzdGF0ZSldLCBbXSk7XG4gIH1cblxuICByZXR1cm4gc3RhdGUgPT5cbiAgICBPYmplY3Qua2V5cyhzZWxlY3RvcnMpLnJlZHVjZSgoY29tYmluZWRTdGF0ZSwga2V5KSA9PiAoeyAuLi5jb21iaW5lZFN0YXRlLCBba2V5XTogc2VsZWN0b3JzW2tleV0oc3RhdGUpIH0pLCB7fSk7XG59XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZWxlY3RvcnMvY29tYmluZVNlbGVjdG9ycy5qcyJdLCJuYW1lcyI6WyJjb21iaW5lU2VsZWN0b3JzIiwic2VsZWN0b3JzIiwiQXJyYXkiLCJpc0FycmF5Iiwic3RhdGUiLCJyZWR1Y2UiLCJjb21iaW5lZFN0YXRlIiwic2VsZWN0b3IiLCJPYmplY3QiLCJrZXlzIiwia2V5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztBQUVlLFNBQVNBLGdCQUFULENBQTBCQyxTQUExQixFQUFxQztBQUNsRCxNQUFJQyxLQUFLLENBQUNDLE9BQU4sQ0FBY0YsU0FBZCxDQUFKLEVBQThCO0FBQzVCLFdBQU8sVUFBQUcsS0FBSztBQUFBLGFBQUlILFNBQVMsQ0FBQ0ksTUFBVixDQUFpQixVQUFDQyxhQUFELEVBQWdCQyxRQUFoQjtBQUFBLDZEQUFpQ0QsYUFBakMsSUFBZ0RDLFFBQVEsQ0FBQ0gsS0FBRCxDQUF4RDtBQUFBLE9BQWpCLEVBQW1GLEVBQW5GLENBQUo7QUFBQSxLQUFaO0FBQ0Q7O0FBRUQsU0FBTyxVQUFBQSxLQUFLO0FBQUEsV0FDVkksTUFBTSxDQUFDQyxJQUFQLENBQVlSLFNBQVosRUFBdUJJLE1BQXZCLENBQ0UsVUFBQ0MsYUFBRCxFQUFnQkksR0FBaEI7QUFBQSxhQUNFO0FBQ0E7QUFDQSxpREFBd0JBLEdBQXhCLElBQStCSixhQUEvQixtQ0FBb0RBLGFBQXBELDRDQUFvRUksR0FBcEUsRUFBMEVULFNBQVMsQ0FBQ1MsR0FBRCxDQUFULENBQWVOLEtBQWYsQ0FBMUU7QUFIRjtBQUFBLEtBREYsRUFLRSxFQUxGLENBRFU7QUFBQSxHQUFaO0FBUUQiLCJzb3VyY2VSb290IjoiY29yZTovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNGb3JiaWRkZW5Qcm9wZXJ0eU5hbWUgZnJvbSAnLi4vdXRpbHMvaXNGb3JiaWRkZW5Qcm9wZXJ0eU5hbWUnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjb21iaW5lU2VsZWN0b3JzKHNlbGVjdG9ycykge1xuICBpZiAoQXJyYXkuaXNBcnJheShzZWxlY3RvcnMpKSB7XG4gICAgcmV0dXJuIHN0YXRlID0+IHNlbGVjdG9ycy5yZWR1Y2UoKGNvbWJpbmVkU3RhdGUsIHNlbGVjdG9yKSA9PiBbLi4uY29tYmluZWRTdGF0ZSwgc2VsZWN0b3Ioc3RhdGUpXSwgW10pO1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlID0+XG4gICAgT2JqZWN0LmtleXMoc2VsZWN0b3JzKS5yZWR1Y2UoXG4gICAgICAoY29tYmluZWRTdGF0ZSwga2V5KSA9PlxuICAgICAgICAvLyBNaXRpZ2F0ZWQgdGhyb3VnaCBkZW55bGlzdGluZy5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlY3VyaXR5L2RldGVjdC1vYmplY3QtaW5qZWN0aW9uXG4gICAgICAgIGlzRm9yYmlkZGVuUHJvcGVydHlOYW1lKGtleSkgPyBjb21iaW5lZFN0YXRlIDogeyAuLi5jb21iaW5lZFN0YXRlLCBba2V5XTogc2VsZWN0b3JzW2tleV0oc3RhdGUpIH0sXG4gICAgICB7fVxuICAgICk7XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
- declare type DirectLineActivity = any;
1
+ declare type DirectLineActivity = Exclude<any, [] | boolean | Function | number | string>;
2
2
  export default DirectLineActivity;
3
3
  //# sourceMappingURL=DirectLineActivity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DirectLineActivity.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineActivity.ts"],"names":[],"mappings":"AAGA,aAAK,kBAAkB,GAAG,GAAG,CAAC;AAE9B,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"DirectLineActivity.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineActivity.ts"],"names":[],"mappings":"AAIA,aAAK,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AAElF,eAAe,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DirectLineAnimationCard.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineAnimationCard.ts"],"names":[],"mappings":"AAGA,aAAK,uBAAuB,GAAG,GAAG,CAAC;AAEnC,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"DirectLineAnimationCard.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineAnimationCard.ts"],"names":[],"mappings":"AAEA,aAAK,uBAAuB,GAAG,GAAG,CAAC;AAEnC,eAAe,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DirectLineAttachment.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineAttachment.ts"],"names":[],"mappings":"AAGA,aAAK,oBAAoB,GAAG,GAAG,CAAC;AAEhC,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"DirectLineAttachment.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineAttachment.ts"],"names":[],"mappings":"AAEA,aAAK,oBAAoB,GAAG,GAAG,CAAC;AAEhC,eAAe,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DirectLineAudioCard.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineAudioCard.ts"],"names":[],"mappings":"AAGA,aAAK,mBAAmB,GAAG,GAAG,CAAC;AAE/B,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"DirectLineAudioCard.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineAudioCard.ts"],"names":[],"mappings":"AAEA,aAAK,mBAAmB,GAAG,GAAG,CAAC;AAE/B,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DirectLineHeroCard.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineHeroCard.ts"],"names":[],"mappings":"AAGA,aAAK,kBAAkB,GAAG,GAAG,CAAC;AAE9B,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"DirectLineHeroCard.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineHeroCard.ts"],"names":[],"mappings":"AAEA,aAAK,kBAAkB,GAAG,GAAG,CAAC;AAE9B,eAAe,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DirectLineJSBotConnection.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineJSBotConnection.ts"],"names":[],"mappings":"AAGA,aAAK,yBAAyB,GAAG,GAAG,CAAC;AAErC,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"DirectLineJSBotConnection.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineJSBotConnection.ts"],"names":[],"mappings":"AAEA,aAAK,yBAAyB,GAAG,GAAG,CAAC;AAErC,eAAe,yBAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DirectLineOAuthCard.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineOAuthCard.ts"],"names":[],"mappings":"AAGA,aAAK,mBAAmB,GAAG,GAAG,CAAC;AAE/B,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"DirectLineOAuthCard.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineOAuthCard.ts"],"names":[],"mappings":"AAEA,aAAK,mBAAmB,GAAG,GAAG,CAAC;AAE/B,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DirectLineReceiptCard.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineReceiptCard.ts"],"names":[],"mappings":"AAGA,aAAK,qBAAqB,GAAG,GAAG,CAAC;AAEjC,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"DirectLineReceiptCard.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineReceiptCard.ts"],"names":[],"mappings":"AAEA,aAAK,qBAAqB,GAAG,GAAG,CAAC;AAEjC,eAAe,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DirectLineSignInCard.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineSignInCard.ts"],"names":[],"mappings":"AAGA,aAAK,oBAAoB,GAAG,GAAG,CAAC;AAEhC,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"DirectLineSignInCard.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineSignInCard.ts"],"names":[],"mappings":"AAEA,aAAK,oBAAoB,GAAG,GAAG,CAAC;AAEhC,eAAe,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DirectLineSuggestedAction.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineSuggestedAction.ts"],"names":[],"mappings":"AAGA,aAAK,yBAAyB,GAAG,GAAG,CAAC;AAErC,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"DirectLineSuggestedAction.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineSuggestedAction.ts"],"names":[],"mappings":"AAEA,aAAK,yBAAyB,GAAG,GAAG,CAAC;AAErC,eAAe,yBAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DirectLineThumbnailCard.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineThumbnailCard.ts"],"names":[],"mappings":"AAGA,aAAK,uBAAuB,GAAG,GAAG,CAAC;AAEnC,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"DirectLineThumbnailCard.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineThumbnailCard.ts"],"names":[],"mappings":"AAEA,aAAK,uBAAuB,GAAG,GAAG,CAAC;AAEnC,eAAe,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DirectLineVideoCard.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineVideoCard.ts"],"names":[],"mappings":"AAGA,aAAK,mBAAmB,GAAG,GAAG,CAAC;AAE/B,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"DirectLineVideoCard.d.ts","sourceRoot":"","sources":["../../../src/types/external/DirectLineVideoCard.ts"],"names":[],"mappings":"AAEA,aAAK,mBAAmB,GAAG,GAAG,CAAC;AAE/B,eAAe,mBAAmB,CAAC"}
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9kZWxldGVLZXkuanMiXSwibmFtZXMiOlsiZGVsZXRlS2V5IiwibWFwIiwia2V5IiwiX2RlbGV0ZWQiLCJuZXh0TWFwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWUsU0FBU0EsU0FBVCxDQUFtQkMsR0FBbkIsRUFBd0JDLEdBQXhCLEVBQTZCO0FBQzFDLE1BQUksQ0FBQ0QsR0FBTCxFQUFVO0FBQ1IsV0FBT0EsR0FBUDtBQUNEOztBQUVELE1BQWVFLFFBQWYsR0FBd0NGLEdBQXhDLENBQVNDLEdBQVQ7QUFBQSxNQUE0QkUsT0FBNUIsNkNBQXdDSCxHQUF4QyxHQUFTQyxHQUFUO0FBRUEsU0FBT0UsT0FBUDtBQUNEIiwic291cmNlUm9vdCI6ImNvcmU6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGVsZXRlS2V5KG1hcCwga2V5KSB7XG4gIGlmICghbWFwKSB7XG4gICAgcmV0dXJuIG1hcDtcbiAgfVxuXG4gIGNvbnN0IHsgW2tleV06IF9kZWxldGVkLCAuLi5uZXh0TWFwIH0gPSBtYXA7XG5cbiAgcmV0dXJuIG5leHRNYXA7XG59XG4iXX0=
@@ -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==
@@ -9,9 +9,7 @@ exports["default"] = void 0;
9
9
 
10
10
  var _Mime = _interopRequireDefault(require("mime/Mime"));
11
11
 
12
- /* eslint no-undef: "off"*/
13
-
14
- /* eslint node/global-require: "off"*/
12
+ /* eslint no-undef: "off" */
15
13
  // We adopted the work from mime-wrapper, at https://github.com/marlon360/mime-wrapper.
16
14
  // This file wraps the mime library constructor to include '.json' types. This is needed
17
15
  // to support Angular CLI web projects, in which the webpack.config files are hidden away
@@ -46,4 +44,4 @@ var _Mime = _interopRequireDefault(require("mime/Mime"));
46
44
  var _default = new _Mime["default"](require('mime/types/standard'), require('mime/types/other'));
47
45
 
48
46
  exports["default"] = _default;
49
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9taW1lLXdyYXBwZXIuanMiXSwibmFtZXMiOlsiTWltZSIsInJlcXVpcmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQXFDQTs7QUFyQ0E7O0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtlQUllLElBQUlBLGdCQUFKLENBQVNDLE9BQU8sQ0FBQyxxQkFBRCxDQUFoQixFQUF5Q0EsT0FBTyxDQUFDLGtCQUFELENBQWhELEMiLCJzb3VyY2VSb290IjoiY29yZTovLy8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tdW5kZWY6IFwib2ZmXCIqL1xuLyogZXNsaW50IG5vZGUvZ2xvYmFsLXJlcXVpcmU6IFwib2ZmXCIqL1xuXG4vLyBXZSBhZG9wdGVkIHRoZSB3b3JrIGZyb20gbWltZS13cmFwcGVyLCBhdCBodHRwczovL2dpdGh1Yi5jb20vbWFybG9uMzYwL21pbWUtd3JhcHBlci5cblxuLy8gVGhpcyBmaWxlIHdyYXBzIHRoZSBtaW1lIGxpYnJhcnkgY29uc3RydWN0b3IgdG8gaW5jbHVkZSAnLmpzb24nIHR5cGVzLiBUaGlzIGlzIG5lZWRlZFxuLy8gdG8gc3VwcG9ydCBBbmd1bGFyIENMSSB3ZWIgcHJvamVjdHMsIGluIHdoaWNoIHRoZSB3ZWJwYWNrLmNvbmZpZyBmaWxlcyBhcmUgaGlkZGVuIGF3YXlcbi8vIGZyb20gdGhlIHVzZXIsIGFuZCBkbyBub3Qgc3VwcG9ydCAuanNvbiBmaWxlIGV4dGVuc2lvbiBtb2R1bGUgcmVzb2x1dGlvbnMuXG4vL1xuLy8gUmVmZXIgdG8gaXNzdWUgaHR0cHM6Ly9naXRodWIuY29tL2pzaHR0cC9taW1lLXR5cGVzL2lzc3Vlcy81MCNpc3N1ZWNvbW1lbnQtMzkwOTMyNjc4XG4vLyBhbmQgaXNzdWUgaHR0cHM6Ly9naXRodWIuY29tL2Jyb29mYS9ub2RlLW1pbWUvaXNzdWVzLzIwOC5cbi8vXG4vLyBUaGlzIGZpbGUgbWF5IG5lZWQgdG8gY2hhbmdlIGlmIHRoZSBtaW1lIGxpYnJhcnkgaXMgYnVtcGVkIGEgbWFqb3IgdGhhdCBtYXkgY2F1c2UgYVxuLy8gYnJlYWtpbmcgY2hhbmdlLCBhcyBpdCByZWxpZXMgb24gdGhlIGludGVybmFsIGxpYnJhcnkgZmlsZSBwbGFjZW1lbnQuXG5cbi8vIE1JVCBMaWNlbnNlXG4vL1xuLy8gQ29weXJpZ2h0IChjKSAyMDE4IE1hcmxvbiBMw7xja2VydFxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbi8vIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuLy8gU09GVFdBUkUuXG5cbmltcG9ydCBNaW1lIGZyb20gJ21pbWUvTWltZSc7XG5cbmV4cG9ydCBkZWZhdWx0IG5ldyBNaW1lKHJlcXVpcmUoJ21pbWUvdHlwZXMvc3RhbmRhcmQnKSwgcmVxdWlyZSgnbWltZS90eXBlcy9vdGhlcicpKTtcbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9taW1lLXdyYXBwZXIuanMiXSwibmFtZXMiOlsiTWltZSIsInJlcXVpcmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQW9DQTs7QUFwQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtlQUllLElBQUlBLGdCQUFKLENBQVNDLE9BQU8sQ0FBQyxxQkFBRCxDQUFoQixFQUF5Q0EsT0FBTyxDQUFDLGtCQUFELENBQWhELEMiLCJzb3VyY2VSb290IjoiY29yZTovLy8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tdW5kZWY6IFwib2ZmXCIgKi9cblxuLy8gV2UgYWRvcHRlZCB0aGUgd29yayBmcm9tIG1pbWUtd3JhcHBlciwgYXQgaHR0cHM6Ly9naXRodWIuY29tL21hcmxvbjM2MC9taW1lLXdyYXBwZXIuXG5cbi8vIFRoaXMgZmlsZSB3cmFwcyB0aGUgbWltZSBsaWJyYXJ5IGNvbnN0cnVjdG9yIHRvIGluY2x1ZGUgJy5qc29uJyB0eXBlcy4gVGhpcyBpcyBuZWVkZWRcbi8vIHRvIHN1cHBvcnQgQW5ndWxhciBDTEkgd2ViIHByb2plY3RzLCBpbiB3aGljaCB0aGUgd2VicGFjay5jb25maWcgZmlsZXMgYXJlIGhpZGRlbiBhd2F5XG4vLyBmcm9tIHRoZSB1c2VyLCBhbmQgZG8gbm90IHN1cHBvcnQgLmpzb24gZmlsZSBleHRlbnNpb24gbW9kdWxlIHJlc29sdXRpb25zLlxuLy9cbi8vIFJlZmVyIHRvIGlzc3VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qc2h0dHAvbWltZS10eXBlcy9pc3N1ZXMvNTAjaXNzdWVjb21tZW50LTM5MDkzMjY3OFxuLy8gYW5kIGlzc3VlIGh0dHBzOi8vZ2l0aHViLmNvbS9icm9vZmEvbm9kZS1taW1lL2lzc3Vlcy8yMDguXG4vL1xuLy8gVGhpcyBmaWxlIG1heSBuZWVkIHRvIGNoYW5nZSBpZiB0aGUgbWltZSBsaWJyYXJ5IGlzIGJ1bXBlZCBhIG1ham9yIHRoYXQgbWF5IGNhdXNlIGFcbi8vIGJyZWFraW5nIGNoYW5nZSwgYXMgaXQgcmVsaWVzIG9uIHRoZSBpbnRlcm5hbCBsaWJyYXJ5IGZpbGUgcGxhY2VtZW50LlxuXG4vLyBNSVQgTGljZW5zZVxuLy9cbi8vIENvcHlyaWdodCAoYykgMjAxOCBNYXJsb24gTMO8Y2tlcnRcbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4vLyBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbi8vIFNPRlRXQVJFLlxuXG5pbXBvcnQgTWltZSBmcm9tICdtaW1lL01pbWUnO1xuXG5leHBvcnQgZGVmYXVsdCBuZXcgTWltZShyZXF1aXJlKCdtaW1lL3R5cGVzL3N0YW5kYXJkJyksIHJlcXVpcmUoJ21pbWUvdHlwZXMvb3RoZXInKSk7XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy91bmlxdWVJRC5qcyJdLCJuYW1lcyI6WyJ1bmlxdWVJRCIsIkRhdGUiLCJub3ciLCJ0b1N0cmluZyIsInN1YnN0ciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUE7O0FBRkE7QUFJZSxTQUFTQSxRQUFULEdBQW9CO0FBQ2pDLFNBQU9DLElBQUksQ0FBQ0MsR0FBTCxLQUFhLDhCQUFTQyxRQUFULENBQWtCLEVBQWxCLEVBQXNCQyxNQUF0QixDQUE2QixDQUE3QixDQUFwQjtBQUNEIiwic291cmNlUm9vdCI6ImNvcmU6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50IG5vLW1hZ2ljLW51bWJlcnM6IFtcImVycm9yXCIsIHsgXCJpZ25vcmVcIjogWzIsIDM2XSB9XSAqL1xuXG5pbXBvcnQgcmFuZG9tIGZyb20gJ21hdGgtcmFuZG9tJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pcXVlSUQoKSB7XG4gIHJldHVybiBEYXRlLm5vdygpICsgcmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyKTtcbn1cbiJdfQ==
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.0",
4
4
  "description": "Core of botframework-webchat",
5
5
  "main": "lib/index.js",
6
6
  "publishConfig": {
@@ -22,9 +22,8 @@
22
22
  "build:typescript": "tsc --project src/tsconfig.json",
23
23
  "eslint": "npm run precommit",
24
24
  "precommit": "npm run precommit:eslint -- src && npm run precommit:typecheck",
25
- "precommit:eslint": "eslint",
25
+ "precommit:eslint": "../../node_modules/.bin/eslint --report-unused-disable-directives --max-warnings 0",
26
26
  "precommit:typecheck": "tsc --project ./src --emitDeclarationOnly false --esModuleInterop true --noEmit --pretty false",
27
- "prettier": "prettier --check src/**/*.{js,ts,tsx}",
28
27
  "prestart": "npm run build:babel",
29
28
  "start": "concurrently --kill-others --names \"babel,tsc\" \"npm run start:babel\" \"npm run start:typescript\"",
30
29
  "start:babel": "npm run build:babel -- --skip-initial-build --watch",
@@ -37,25 +36,19 @@
37
36
  "@babel/preset-env": "^7.14.7",
38
37
  "@babel/preset-typescript": "^7.14.5",
39
38
  "@types/node": "^16.3.1",
40
- "@typescript-eslint/eslint-plugin": "^4.28.3",
41
- "@typescript-eslint/parser": "^4.28.3",
42
39
  "babel-plugin-istanbul": "^6.0.0",
43
40
  "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",
41
+ "botframework-directlinejs": "0.15.1",
42
+ "concurrently": "^6.3.0",
50
43
  "typescript": "^4.3.5"
51
44
  },
52
45
  "dependencies": {
53
- "@babel/runtime": "7.14.6",
46
+ "@babel/runtime": "7.15.4",
54
47
  "jwt-decode": "3.1.2",
55
48
  "math-random": "2.0.1",
56
49
  "mime": "2.5.2",
57
50
  "p-defer": "4.0.0",
58
- "p-defer-es5": "2.0.0",
51
+ "p-defer-es5": "2.0.1",
59
52
  "redux": "4.0.5",
60
53
  "redux-devtools-extension": "2.13.9",
61
54
  "redux-saga": "1.1.3",
@@ -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
 
@@ -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
 
package/src/index.ts CHANGED
@@ -19,6 +19,7 @@ import DirectLineVideoCard from './types/external/DirectLineVideoCard';
19
19
  import disconnect from './actions/disconnect';
20
20
  import dismissNotification from './actions/dismissNotification';
21
21
  import emitTypingIndicator from './actions/emitTypingIndicator';
22
+ import isForbiddenPropertyName from './utils/isForbiddenPropertyName';
22
23
  import markActivity from './actions/markActivity';
23
24
  import OneOrMany from './types/OneOrMany';
24
25
  import postActivity from './actions/postActivity';
@@ -54,6 +55,7 @@ export {
54
55
  disconnect,
55
56
  dismissNotification,
56
57
  emitTypingIndicator,
58
+ isForbiddenPropertyName,
57
59
  markActivity,
58
60
  postActivity,
59
61
  sendEvent,
@@ -3,6 +3,7 @@ import updateIn from 'simple-update-in';
3
3
  import { DISMISS_NOTIFICATION } from '../actions/dismissNotification';
4
4
  import { SAGA_ERROR } from '../actions/sagaError';
5
5
  import { SET_NOTIFICATION } from '../actions/setNotification';
6
+ import isForbiddenPropertyName from '../utils/isForbiddenPropertyName';
6
7
 
7
8
  const DEFAULT_STATE = {};
8
9
 
@@ -15,23 +16,28 @@ export default function notifications(state = DEFAULT_STATE, { payload, type })
15
16
  state = updateIn(state, ['connectivitystatus', 'message'], () => 'javascripterror');
16
17
  } else if (type === SET_NOTIFICATION) {
17
18
  const { alt, data, id, level, message } = payload;
18
- const notification = state[id];
19
19
 
20
- if (
21
- !notification ||
22
- alt !== notification.alt ||
23
- !Object.is(data, notification.data) ||
24
- level !== notification.level ||
25
- message !== notification.message
26
- ) {
27
- state = updateIn(state, [id], () => ({
28
- alt,
29
- data,
30
- id,
31
- level,
32
- message,
33
- timestamp: now
34
- }));
20
+ if (!isForbiddenPropertyName(id)) {
21
+ // Mitigated through denylisting.
22
+ // eslint-disable-next-line security/detect-object-injection
23
+ const notification = state[id];
24
+
25
+ if (
26
+ !notification ||
27
+ alt !== notification.alt ||
28
+ !Object.is(data, notification.data) ||
29
+ level !== notification.level ||
30
+ message !== notification.message
31
+ ) {
32
+ state = updateIn(state, [id], () => ({
33
+ alt,
34
+ data,
35
+ id,
36
+ level,
37
+ message,
38
+ timestamp: now
39
+ }));
40
+ }
35
41
  }
36
42
  }
37
43
 
@@ -78,6 +78,6 @@ function* connectionStatusToNotification({ payload: { directLine } }) {
78
78
  }
79
79
  }
80
80
 
81
- export default function*() {
81
+ export default function* () {
82
82
  yield takeLatest(CONNECT, connectionStatusToNotification);
83
83
  }
@@ -50,51 +50,52 @@ function* waitForActivityId(replyToId, initialActivities) {
50
50
  }
51
51
 
52
52
  function* queueIncomingActivity({ userID }) {
53
- yield takeEveryAndSelect(QUEUE_INCOMING_ACTIVITY, activitiesSelector, function* queueIncomingActivity(
54
- { payload: { activity } },
55
- initialActivities
56
- ) {
57
- // This is for resolving an accessibility issue.
58
- // If the incoming activity has "replyToId" field, hold on it until the activity replied to is in the transcript, then release this one.
59
- const { replyToId } = activity;
60
- const initialBotActivities = initialActivities.filter(({ from: { role } }) => role === 'bot');
61
-
62
- // To speed up the first activity render time, we do not delay the first activity from the bot.
63
- // Even if it is the first activity from the bot, the bot might be "replying" to the "conversationUpdate" event.
64
- // Thus, the "replyToId" will always be there even it is the first activity in the conversation.
65
- if (replyToId && initialBotActivities.length) {
66
- // Either the activity replied to is in the transcript or after timeout.
67
- const result = yield race({
68
- _: waitForActivityId(replyToId, initialActivities),
69
- timeout: call(sleep, REPLY_TIMEOUT)
70
- });
71
-
72
- if ('timeout' in result) {
73
- console.warn(
74
- `botframework-webchat: Timed out while waiting for activity "${replyToId}" which activity "${activity.id}" is replying to.`,
75
- {
76
- activity,
77
- replyToId
78
- }
79
- );
53
+ yield takeEveryAndSelect(
54
+ QUEUE_INCOMING_ACTIVITY,
55
+ activitiesSelector,
56
+ function* queueIncomingActivity({ payload: { activity } }, initialActivities) {
57
+ // This is for resolving an accessibility issue.
58
+ // If the incoming activity has "replyToId" field, hold on it until the activity replied to is in the transcript, then release this one.
59
+ const { replyToId } = activity;
60
+ const initialBotActivities = initialActivities.filter(({ from: { role } }) => role === 'bot');
61
+
62
+ // To speed up the first activity render time, we do not delay the first activity from the bot.
63
+ // Even if it is the first activity from the bot, the bot might be "replying" to the "conversationUpdate" event.
64
+ // Thus, the "replyToId" will always be there even it is the first activity in the conversation.
65
+ if (replyToId && initialBotActivities.length) {
66
+ // Either the activity replied to is in the transcript or after timeout.
67
+ const result = yield race({
68
+ _: waitForActivityId(replyToId, initialActivities),
69
+ timeout: call(sleep, REPLY_TIMEOUT)
70
+ });
71
+
72
+ if ('timeout' in result) {
73
+ console.warn(
74
+ `botframework-webchat: Timed out while waiting for activity "${replyToId}" which activity "${activity.id}" is replying to.`,
75
+ {
76
+ activity,
77
+ replyToId
78
+ }
79
+ );
80
+ }
80
81
  }
81
- }
82
82
 
83
- yield put(incomingActivity(activity));
83
+ yield put(incomingActivity(activity));
84
84
 
85
- // Update suggested actions
86
- // TODO: [P3] We could put this logic inside reducer to minimize number of actions dispatched.
87
- const messageActivities = yield select(activitiesOfType('message'));
88
- const lastMessageActivity = messageActivities[messageActivities.length - 1];
85
+ // Update suggested actions
86
+ // TODO: [P3] We could put this logic inside reducer to minimize number of actions dispatched.
87
+ const messageActivities = yield select(activitiesOfType('message'));
88
+ const lastMessageActivity = messageActivities[messageActivities.length - 1];
89
89
 
90
- if (activityFromBot(lastMessageActivity)) {
91
- const { suggestedActions: { actions, to } = {} } = lastMessageActivity;
90
+ if (activityFromBot(lastMessageActivity)) {
91
+ const { suggestedActions: { actions, to } = {} } = lastMessageActivity;
92
92
 
93
- // If suggested actions is not destined to anyone, or is destined to the user, show it.
94
- // In other words, if suggested actions is destined to someone else, don't show it.
95
- yield put(setSuggestedActions(to && to.length && !to.includes(userID) ? null : actions));
93
+ // If suggested actions is not destined to anyone, or is destined to the user, show it.
94
+ // In other words, if suggested actions is destined to someone else, don't show it.
95
+ yield put(setSuggestedActions(to && to.length && !to.includes(userID) ? null : actions));
96
+ }
96
97
  }
97
- });
98
+ );
98
99
  }
99
100
 
100
101
  export default function* queueIncomingActivitySaga() {
@@ -3,7 +3,6 @@ import postActivity from '../actions/postActivity';
3
3
  import { SEND_MESSAGE_BACK } from '../actions/sendMessageBack';
4
4
  import whileConnected from './effects/whileConnected';
5
5
 
6
-
7
6
  // https://github.com/microsoft/botframework-sdk/blob/main/specs/botframework-activity/botframework-activity.md#message-back
8
7
  function* postActivityWithMessageBack({ payload: { displayText, text, value } }) {
9
8
  yield put(
@@ -34,7 +34,7 @@ function* sendTypingIndicatorOnSetSendBox() {
34
34
  // When the user type, and then post the activity at t = 1500, we still have a pending typing indicator at t = 3000.
35
35
  // This code is to cancel the typing indicator at t = 3000.
36
36
  (type === POST_ACTIVITY && payload.activity.type !== 'typing'),
37
- function*({ payload, type }) {
37
+ function* ({ payload, type }) {
38
38
  if (type === SET_SEND_BOX) {
39
39
  const interval = SEND_INTERVAL - Date.now() + lastSend;
40
40
 
@@ -16,7 +16,7 @@ function* speakActivityAndStartDictateOnIncomingActivityFromOthers({ userID }) {
16
16
  // In Direct Line Speech, we do not know the user ID, but "role" is filled with "bot" or "user".
17
17
  // Here, we do two checks: the speakable activity must not have user ID, and must not have role === 'user'
18
18
  type === INCOMING_ACTIVITY && payload.activity.from.id !== userID && payload.activity.from.role !== 'user',
19
- function*({ payload: { activity } }) {
19
+ function* ({ payload: { activity } }) {
20
20
  const shouldSpeakIncomingActivity = yield select(shouldSpeakIncomingActivitySelector);
21
21
  const shouldSpeak = speakableActivity(activity) && shouldSpeakIncomingActivity;
22
22
 
@@ -8,7 +8,7 @@ function* startSpeakActivityOnPostActivity() {
8
8
  yield takeEvery(
9
9
  ({ meta, payload, type }) =>
10
10
  type === POST_ACTIVITY_PENDING && meta.method === 'speech' && payload.activity.type === 'message',
11
- function*() {
11
+ function* () {
12
12
  yield put(startSpeakingActivity());
13
13
  }
14
14
  );
@@ -14,7 +14,7 @@ function* stopSpeakingActivityOnInput() {
14
14
  // So, right now, we are using best-effort by listening to POST_ACTIVITY_PENDING with a "message" event
15
15
  // We filter out speech because we will call startSpeakingActivity() for POST_ACTIVITY_PENDING dispatched by speech
16
16
  (type === POST_ACTIVITY_PENDING && meta.method !== 'speech' && payload.activity.type === 'message'),
17
- function*() {
17
+ function* () {
18
18
  yield put(stopSpeakingActivity());
19
19
  }
20
20
  );
@@ -7,7 +7,7 @@ import setSendBox from '../actions/setSendBox';
7
7
  import whileConnected from './effects/whileConnected';
8
8
 
9
9
  function* submitSendBox() {
10
- yield takeEvery(SUBMIT_SEND_BOX, function*({ payload: { channelData, method } }) {
10
+ yield takeEvery(SUBMIT_SEND_BOX, function* ({ payload: { channelData, method } }) {
11
11
  const sendBoxValue = yield select(sendBoxValueSelector);
12
12
 
13
13
  if (sendBoxValue) {