@peerbit/time 2.0.4 → 2.0.6

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.
package/lib/esm/hrtime.js CHANGED
@@ -37,8 +37,8 @@ const _perfomancePolyfill = () => {
37
37
  });
38
38
  if ("now" in window.performance === false) {
39
39
  let nowOffset = Date.now();
40
- if (performance.timing && performance.timing.navigationStart) {
41
- nowOffset = performance.timing.navigationStart;
40
+ if (performance.timeOrigin) {
41
+ nowOffset = performance.timeOrigin;
42
42
  }
43
43
  window.performance["now"] = () => Date.now() - nowOffset;
44
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hrtime.js","sourceRoot":"","sources":["../../src/hrtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;EAyBE;AAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAChC,gFAAgF;IAChF,IAAI,aAAa,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrC,MAAc,CAAC,WAAmB,GAAG,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,GAAG;QACP,IAAI,CAAC,GAAG;YACR,CAAC,GAAG,EAAE;gBACL,aAAa;gBACb,OAAO,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;IAEJ,IAAI,KAAK,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAC3C,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE3B,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC9D,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC;QAChD,CAAC;QAEA,MAAM,CAAC,WAAmB,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACnE,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,iBAAoC,EAAoB,EAAE;IAC1E,mBAAmB,EAAE,CAAC;IACtB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3C,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;IAC9C,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAEpD,IAAI,iBAAiB,EAAE,CAAC;QACvB,OAAO,GAAG,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACzC,WAAW,GAAG,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;YACV,WAAW,IAAI,GAAG,CAAC;QACpB,CAAC;IACF,CAAC;IACD,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAC/B,CAAC,CAAC;AACF,MAAM,UAAU,GAAG,GAAG,CAAC;AACvB,OAAO,CAAC,MAAM,GAAG,CAAC,IAAuB,EAAU,EAAE;IACpD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,eAAe,OAAO,OAAO,KAAK,WAAW;IAC7C,OAAO,OAAO,CAAC,MAAM,KAAK,WAAW;IACpC,CAAC,CAAC,OAAO;IACT,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC"}
1
+ {"version":3,"file":"hrtime.js","sourceRoot":"","sources":["../../src/hrtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;EAyBE;AAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAChC,gFAAgF;IAChF,IAAI,aAAa,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrC,MAAc,CAAC,WAAmB,GAAG,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,GAAG;QACP,IAAI,CAAC,GAAG;YACR,CAAC,GAAG,EAAE;gBACL,aAAa;gBACb,OAAO,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;IAEJ,IAAI,KAAK,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAC3C,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE3B,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;YAC5B,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC;QACpC,CAAC;QAEA,MAAM,CAAC,WAAmB,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACnE,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,iBAAoC,EAAoB,EAAE;IAC1E,mBAAmB,EAAE,CAAC;IACtB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3C,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;IAC9C,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAEpD,IAAI,iBAAiB,EAAE,CAAC;QACvB,OAAO,GAAG,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACzC,WAAW,GAAG,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;YACV,WAAW,IAAI,GAAG,CAAC;QACpB,CAAC;IACF,CAAC;IACD,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAC/B,CAAC,CAAC;AACF,MAAM,UAAU,GAAG,GAAG,CAAC;AACvB,OAAO,CAAC,MAAM,GAAG,CAAC,IAAuB,EAAU,EAAE;IACpD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,eAAe,OAAO,OAAO,KAAK,WAAW;IAC7C,OAAO,OAAO,CAAC,MAAM,KAAK,WAAW;IACpC,CAAC,CAAC,OAAO;IACT,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC"}
@@ -9,7 +9,10 @@ export class MovingAverageTracker {
9
9
  }
10
10
  add(number) {
11
11
  const now = hrtime.bigint();
12
- const diff = Number(now - this.lastTS);
12
+ let diff = Number(now - this.lastTS);
13
+ if (diff <= 0) {
14
+ diff = 1; // prevent Math.exp below become NaN
15
+ }
13
16
  const dt = diff / 1e9;
14
17
  this.lastTS = now;
15
18
  const alpha_t = 1 - Math.exp(-dt / this.tau);
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,OAAO,oBAAoB;IAKX;IAJb,MAAM,CAAS;IAEvB,KAAK,GAAG,CAAC,CAAC;IAEV,YAAqB,MAAM,EAAE;QAAR,QAAG,GAAH,GAAG,CAAK;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IACD,GAAG,CAAC,MAAc;QACjB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAClB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;IACnE,CAAC;CACD"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,OAAO,oBAAoB;IAKX;IAJb,MAAM,CAAS;IAEvB,KAAK,GAAG,CAAC,CAAC;IAEV,YAAqB,MAAM,EAAE;QAAR,QAAG,GAAH,GAAG,CAAK;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IACD,GAAG,CAAC,MAAc;QACjB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACf,IAAI,GAAG,CAAC,CAAC,CAAC,oCAAoC;QAC/C,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAClB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;IACnE,CAAC;CACD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peerbit/time",
3
- "version": "2.0.4",
3
+ "version": "2.0.6",
4
4
  "description": "Utility functions for time",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -29,5 +29,5 @@
29
29
  },
30
30
  "author": "dao.xyz",
31
31
  "license": "MIT",
32
- "gitHead": "2539f936bbe572f34a297bc8275fcd059105fc2a"
32
+ "gitHead": "e50907578b203c2f16199e91545c5213cf8cdc3e"
33
33
  }
package/src/hrtime.ts CHANGED
@@ -41,8 +41,8 @@ const _perfomancePolyfill = () => {
41
41
  if ("now" in window.performance === false) {
42
42
  let nowOffset = Date.now();
43
43
 
44
- if (performance.timing && performance.timing.navigationStart) {
45
- nowOffset = performance.timing.navigationStart;
44
+ if (performance.timeOrigin) {
45
+ nowOffset = performance.timeOrigin;
46
46
  }
47
47
 
48
48
  (window.performance as any)["now"] = () => Date.now() - nowOffset;
package/src/metrics.ts CHANGED
@@ -10,7 +10,10 @@ export class MovingAverageTracker {
10
10
  }
11
11
  add(number: number) {
12
12
  const now = hrtime.bigint();
13
- const diff = Number(now - this.lastTS);
13
+ let diff = Number(now - this.lastTS);
14
+ if (diff <= 0) {
15
+ diff = 1; // prevent Math.exp below become NaN
16
+ }
14
17
  const dt = diff / 1e9;
15
18
  this.lastTS = now;
16
19
  const alpha_t = 1 - Math.exp(-dt / this.tau);