botframework-webchat-api 4.15.5-main.20221006.db38eff → 4.15.5-main.20221101.4e07ca8

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.
@@ -10,11 +10,19 @@ var _react = require("react");
10
10
  function useTimer(at, fn) {
11
11
  (0, _react.useEffect)(function () {
12
12
  if (typeof at === 'number') {
13
- var timeout = setTimeout(fn, Math.max(0, at - Date.now()));
14
- return function () {
15
- return clearTimeout(timeout);
16
- };
13
+ var ms = Math.max(0, at - Date.now()); // useEffect() is running after yielding to sync code via setImmediate (IE), MessageChannel (4ms), or setTimeout.
14
+ // Thus, when calling setTimeout(..., 0), under Lolex, it will be waited for another loop.
15
+ // In other words, setTimeout(..., 0) won't fire right away. It will be fired after clock.tick(<any number>).
16
+
17
+ if (ms) {
18
+ var timeout = setTimeout(fn, ms);
19
+ return function () {
20
+ return clearTimeout(timeout);
21
+ };
22
+ }
23
+
24
+ fn();
17
25
  }
18
26
  }, [at, fn]);
19
27
  }
20
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VUaW1lciIsImF0IiwiZm4iLCJ1c2VFZmZlY3QiLCJ0aW1lb3V0Iiwic2V0VGltZW91dCIsIk1hdGgiLCJtYXgiLCJEYXRlIiwibm93IiwiY2xlYXJUaW1lb3V0Il0sInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvaW50ZXJuYWwvdXNlVGltZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VUaW1lcihhdCwgZm4pIHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodHlwZW9mIGF0ID09PSAnbnVtYmVyJykge1xuICAgICAgY29uc3QgdGltZW91dCA9IHNldFRpbWVvdXQoZm4sIE1hdGgubWF4KDAsIGF0IC0gRGF0ZS5ub3coKSkpO1xuXG4gICAgICByZXR1cm4gKCkgPT4gY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuICAgIH1cbiAgfSwgW2F0LCBmbl0pO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRWUsU0FBU0EsUUFBVCxDQUFrQkMsRUFBbEIsRUFBc0JDLEVBQXRCLEVBQTBCO0VBQ3ZDLElBQUFDLGdCQUFBLEVBQVUsWUFBTTtJQUNkLElBQUksT0FBT0YsRUFBUCxLQUFjLFFBQWxCLEVBQTRCO01BQzFCLElBQU1HLE9BQU8sR0FBR0MsVUFBVSxDQUFDSCxFQUFELEVBQUtJLElBQUksQ0FBQ0MsR0FBTCxDQUFTLENBQVQsRUFBWU4sRUFBRSxHQUFHTyxJQUFJLENBQUNDLEdBQUwsRUFBakIsQ0FBTCxDQUExQjtNQUVBLE9BQU87UUFBQSxPQUFNQyxZQUFZLENBQUNOLE9BQUQsQ0FBbEI7TUFBQSxDQUFQO0lBQ0Q7RUFDRixDQU5ELEVBTUcsQ0FBQ0gsRUFBRCxFQUFLQyxFQUFMLENBTkg7QUFPRCJ9
28
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VUaW1lciIsImF0IiwiZm4iLCJ1c2VFZmZlY3QiLCJtcyIsIk1hdGgiLCJtYXgiLCJEYXRlIiwibm93IiwidGltZW91dCIsInNldFRpbWVvdXQiLCJjbGVhclRpbWVvdXQiXSwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VUaW1lci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVRpbWVyKGF0LCBmbikge1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0eXBlb2YgYXQgPT09ICdudW1iZXInKSB7XG4gICAgICBjb25zdCBtcyA9IE1hdGgubWF4KDAsIGF0IC0gRGF0ZS5ub3coKSk7XG5cbiAgICAgIC8vIHVzZUVmZmVjdCgpIGlzIHJ1bm5pbmcgYWZ0ZXIgeWllbGRpbmcgdG8gc3luYyBjb2RlIHZpYSBzZXRJbW1lZGlhdGUgKElFKSwgTWVzc2FnZUNoYW5uZWwgKDRtcyksIG9yIHNldFRpbWVvdXQuXG4gICAgICAvLyBUaHVzLCB3aGVuIGNhbGxpbmcgc2V0VGltZW91dCguLi4sIDApLCB1bmRlciBMb2xleCwgaXQgd2lsbCBiZSB3YWl0ZWQgZm9yIGFub3RoZXIgbG9vcC5cbiAgICAgIC8vIEluIG90aGVyIHdvcmRzLCBzZXRUaW1lb3V0KC4uLiwgMCkgd29uJ3QgZmlyZSByaWdodCBhd2F5LiBJdCB3aWxsIGJlIGZpcmVkIGFmdGVyIGNsb2NrLnRpY2soPGFueSBudW1iZXI+KS5cbiAgICAgIGlmIChtcykge1xuICAgICAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dChmbiwgbXMpO1xuXG4gICAgICAgIHJldHVybiAoKSA9PiBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICB9XG5cbiAgICAgIGZuKCk7XG4gICAgfVxuICB9LCBbYXQsIGZuXSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFZSxTQUFTQSxRQUFULENBQWtCQyxFQUFsQixFQUFzQkMsRUFBdEIsRUFBMEI7RUFDdkMsSUFBQUMsZ0JBQUEsRUFBVSxZQUFNO0lBQ2QsSUFBSSxPQUFPRixFQUFQLEtBQWMsUUFBbEIsRUFBNEI7TUFDMUIsSUFBTUcsRUFBRSxHQUFHQyxJQUFJLENBQUNDLEdBQUwsQ0FBUyxDQUFULEVBQVlMLEVBQUUsR0FBR00sSUFBSSxDQUFDQyxHQUFMLEVBQWpCLENBQVgsQ0FEMEIsQ0FHMUI7TUFDQTtNQUNBOztNQUNBLElBQUlKLEVBQUosRUFBUTtRQUNOLElBQU1LLE9BQU8sR0FBR0MsVUFBVSxDQUFDUixFQUFELEVBQUtFLEVBQUwsQ0FBMUI7UUFFQSxPQUFPO1VBQUEsT0FBTU8sWUFBWSxDQUFDRixPQUFELENBQWxCO1FBQUEsQ0FBUDtNQUNEOztNQUVEUCxFQUFFO0lBQ0g7RUFDRixDQWZELEVBZUcsQ0FBQ0QsRUFBRCxFQUFLQyxFQUFMLENBZkg7QUFnQkQifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "botframework-webchat-api",
3
- "version": "4.15.5-main.20221006.db38eff",
3
+ "version": "4.15.5-main.20221101.4e07ca8",
4
4
  "description": "React DOM component of botframework-webchat",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -55,7 +55,7 @@
55
55
  "@types/react": "^18.0.21",
56
56
  "babel-plugin-istanbul": "^6.1.1",
57
57
  "babel-plugin-transform-inline-environment-variables": "^0.4.4",
58
- "cldr-data": "4.15.5-main.20221006.db38eff",
58
+ "cldr-data": "4.15.5-main.20221101.4e07ca8",
59
59
  "concurrently": "^7.4.0",
60
60
  "core-js": "^3.25.3",
61
61
  "globalize-compiler": "^1.1.1",
@@ -64,7 +64,7 @@
64
64
  "typescript": "^4.8.3"
65
65
  },
66
66
  "dependencies": {
67
- "botframework-webchat-core": "4.15.5-main.20221006.db38eff",
67
+ "botframework-webchat-core": "4.15.5-main.20221101.4e07ca8",
68
68
  "globalize": "1.7.0",
69
69
  "math-random": "2.0.1",
70
70
  "prop-types": "15.8.1",
@@ -3,9 +3,18 @@ import { useEffect } from 'react';
3
3
  export default function useTimer(at, fn) {
4
4
  useEffect(() => {
5
5
  if (typeof at === 'number') {
6
- const timeout = setTimeout(fn, Math.max(0, at - Date.now()));
6
+ const ms = Math.max(0, at - Date.now());
7
7
 
8
- return () => clearTimeout(timeout);
8
+ // useEffect() is running after yielding to sync code via setImmediate (IE), MessageChannel (4ms), or setTimeout.
9
+ // Thus, when calling setTimeout(..., 0), under Lolex, it will be waited for another loop.
10
+ // In other words, setTimeout(..., 0) won't fire right away. It will be fired after clock.tick(<any number>).
11
+ if (ms) {
12
+ const timeout = setTimeout(fn, ms);
13
+
14
+ return () => clearTimeout(timeout);
15
+ }
16
+
17
+ fn();
9
18
  }
10
19
  }, [at, fn]);
11
20
  }