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
|
|
14
|
-
|
|
15
|
-
|
|
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,
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
6
|
+
const ms = Math.max(0, at - Date.now());
|
|
7
7
|
|
|
8
|
-
|
|
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
|
}
|