@posthog/core 1.0.2 → 1.2.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 (204) hide show
  1. package/dist/error-tracking/chunk-ids.d.ts +5 -0
  2. package/dist/error-tracking/chunk-ids.d.ts.map +1 -0
  3. package/dist/error-tracking/chunk-ids.js +68 -0
  4. package/dist/error-tracking/chunk-ids.mjs +34 -0
  5. package/dist/error-tracking/coercers/dom-exception-coercer.d.ts +10 -0
  6. package/dist/error-tracking/coercers/dom-exception-coercer.d.ts.map +1 -0
  7. package/dist/error-tracking/coercers/dom-exception-coercer.js +65 -0
  8. package/dist/error-tracking/coercers/dom-exception-coercer.mjs +31 -0
  9. package/dist/error-tracking/coercers/error-coercer.d.ts +9 -0
  10. package/dist/error-tracking/coercers/error-coercer.d.ts.map +1 -0
  11. package/dist/error-tracking/coercers/error-coercer.js +61 -0
  12. package/dist/error-tracking/coercers/error-coercer.mjs +27 -0
  13. package/dist/error-tracking/coercers/error-event-coercer.d.ts +7 -0
  14. package/dist/error-tracking/coercers/error-event-coercer.d.ts.map +1 -0
  15. package/dist/error-tracking/coercers/error-event-coercer.js +52 -0
  16. package/dist/error-tracking/coercers/error-event-coercer.mjs +18 -0
  17. package/dist/error-tracking/coercers/event-coercer.d.ts +6 -0
  18. package/dist/error-tracking/coercers/event-coercer.d.ts.map +1 -0
  19. package/dist/error-tracking/coercers/event-coercer.js +51 -0
  20. package/dist/error-tracking/coercers/event-coercer.mjs +17 -0
  21. package/dist/error-tracking/coercers/index.d.ts +9 -0
  22. package/dist/error-tracking/coercers/index.d.ts.map +1 -0
  23. package/dist/error-tracking/coercers/index.js +123 -0
  24. package/dist/error-tracking/coercers/index.mjs +8 -0
  25. package/dist/error-tracking/coercers/object-coercer.d.ts +14 -0
  26. package/dist/error-tracking/coercers/object-coercer.d.ts.map +1 -0
  27. package/dist/error-tracking/coercers/object-coercer.js +85 -0
  28. package/dist/error-tracking/coercers/object-coercer.mjs +51 -0
  29. package/dist/error-tracking/coercers/primitive-coercer.d.ts +7 -0
  30. package/dist/error-tracking/coercers/primitive-coercer.d.ts.map +1 -0
  31. package/dist/error-tracking/coercers/primitive-coercer.js +49 -0
  32. package/dist/error-tracking/coercers/primitive-coercer.mjs +15 -0
  33. package/dist/error-tracking/coercers/promise-rejection-event.d.ts +7 -0
  34. package/dist/error-tracking/coercers/promise-rejection-event.d.ts.map +1 -0
  35. package/dist/error-tracking/coercers/promise-rejection-event.js +59 -0
  36. package/dist/error-tracking/coercers/promise-rejection-event.mjs +25 -0
  37. package/dist/error-tracking/coercers/string-coercer.d.ts +7 -0
  38. package/dist/error-tracking/coercers/string-coercer.d.ts.map +1 -0
  39. package/dist/error-tracking/coercers/string-coercer.js +63 -0
  40. package/dist/error-tracking/coercers/string-coercer.mjs +29 -0
  41. package/dist/error-tracking/coercers/utils.d.ts +8 -0
  42. package/dist/error-tracking/coercers/utils.d.ts.map +1 -0
  43. package/dist/error-tracking/coercers/utils.js +55 -0
  44. package/dist/error-tracking/coercers/utils.mjs +18 -0
  45. package/dist/error-tracking/error-properties-builder.d.ts +18 -0
  46. package/dist/error-tracking/error-properties-builder.d.ts.map +1 -0
  47. package/dist/error-tracking/error-properties-builder.js +152 -0
  48. package/dist/error-tracking/error-properties-builder.mjs +118 -0
  49. package/dist/error-tracking/index.d.ts +6 -0
  50. package/dist/error-tracking/index.d.ts.map +1 -0
  51. package/dist/error-tracking/index.js +87 -0
  52. package/dist/error-tracking/index.mjs +4 -0
  53. package/dist/error-tracking/parsers/base.d.ts +9 -0
  54. package/dist/error-tracking/parsers/base.d.ts.map +1 -0
  55. package/dist/error-tracking/parsers/base.js +71 -0
  56. package/dist/error-tracking/parsers/base.mjs +19 -0
  57. package/dist/error-tracking/parsers/chrome.d.ts +3 -0
  58. package/dist/error-tracking/parsers/chrome.d.ts.map +1 -0
  59. package/dist/error-tracking/parsers/chrome.js +61 -0
  60. package/dist/error-tracking/parsers/chrome.mjs +27 -0
  61. package/dist/error-tracking/parsers/gecko.d.ts +3 -0
  62. package/dist/error-tracking/parsers/gecko.d.ts.map +1 -0
  63. package/dist/error-tracking/parsers/gecko.js +58 -0
  64. package/dist/error-tracking/parsers/gecko.mjs +24 -0
  65. package/dist/error-tracking/parsers/index.d.ts +9 -0
  66. package/dist/error-tracking/parsers/index.d.ts.map +1 -0
  67. package/dist/error-tracking/parsers/index.js +99 -0
  68. package/dist/error-tracking/parsers/index.mjs +44 -0
  69. package/dist/error-tracking/parsers/node.d.ts +3 -0
  70. package/dist/error-tracking/parsers/node.d.ts.map +1 -0
  71. package/dist/error-tracking/parsers/node.js +99 -0
  72. package/dist/error-tracking/parsers/node.mjs +65 -0
  73. package/dist/error-tracking/parsers/opera.d.ts +4 -0
  74. package/dist/error-tracking/parsers/opera.d.ts.map +1 -0
  75. package/dist/error-tracking/parsers/opera.js +49 -0
  76. package/dist/error-tracking/parsers/opera.mjs +12 -0
  77. package/dist/error-tracking/parsers/react-native.d.ts +1 -0
  78. package/dist/error-tracking/parsers/react-native.d.ts.map +1 -0
  79. package/dist/error-tracking/parsers/react-native.js +5 -0
  80. package/dist/error-tracking/parsers/react-native.mjs +0 -0
  81. package/dist/error-tracking/parsers/safari.d.ts +22 -0
  82. package/dist/error-tracking/parsers/safari.d.ts.map +1 -0
  83. package/dist/error-tracking/parsers/safari.js +47 -0
  84. package/dist/error-tracking/parsers/safari.mjs +13 -0
  85. package/dist/error-tracking/parsers/winjs.d.ts +3 -0
  86. package/dist/error-tracking/parsers/winjs.d.ts.map +1 -0
  87. package/dist/error-tracking/parsers/winjs.js +41 -0
  88. package/dist/error-tracking/parsers/winjs.mjs +7 -0
  89. package/dist/error-tracking/types.d.ts +87 -0
  90. package/dist/error-tracking/types.d.ts.map +1 -0
  91. package/dist/error-tracking/types.js +43 -0
  92. package/dist/error-tracking/types.mjs +9 -0
  93. package/dist/error-tracking/utils.d.ts +13 -0
  94. package/dist/error-tracking/utils.d.ts.map +1 -0
  95. package/dist/error-tracking/utils.js +57 -0
  96. package/dist/error-tracking/utils.mjs +23 -0
  97. package/dist/eventemitter.js +4 -4
  98. package/dist/eventemitter.mjs +4 -4
  99. package/dist/featureFlagUtils.js +20 -45
  100. package/dist/featureFlagUtils.mjs +20 -45
  101. package/dist/gzip.js +1 -2
  102. package/dist/gzip.mjs +1 -2
  103. package/dist/index.d.ts +5 -255
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +61 -1223
  106. package/dist/index.mjs +6 -1190
  107. package/dist/posthog-core-stateless.d.ts +204 -0
  108. package/dist/posthog-core-stateless.d.ts.map +1 -0
  109. package/dist/posthog-core-stateless.js +675 -0
  110. package/dist/posthog-core-stateless.mjs +632 -0
  111. package/dist/posthog-core.d.ts +171 -0
  112. package/dist/posthog-core.d.ts.map +1 -0
  113. package/dist/posthog-core.js +554 -0
  114. package/dist/posthog-core.mjs +520 -0
  115. package/dist/testing/PostHogCoreTestClient.d.ts +2 -1
  116. package/dist/testing/PostHogCoreTestClient.d.ts.map +1 -1
  117. package/dist/testing/PostHogCoreTestClient.js +9 -11
  118. package/dist/testing/PostHogCoreTestClient.mjs +8 -10
  119. package/dist/testing/test-utils.d.ts +2 -0
  120. package/dist/testing/test-utils.d.ts.map +1 -1
  121. package/dist/testing/test-utils.js +13 -1
  122. package/dist/testing/test-utils.mjs +11 -2
  123. package/dist/utils/bucketed-rate-limiter.d.ts.map +1 -1
  124. package/dist/utils/bucketed-rate-limiter.js +8 -12
  125. package/dist/utils/bucketed-rate-limiter.mjs +8 -12
  126. package/dist/utils/index.js +3 -3
  127. package/dist/utils/index.mjs +3 -3
  128. package/dist/utils/number-utils.d.ts.map +1 -1
  129. package/dist/utils/type-utils.d.ts +8 -1
  130. package/dist/utils/type-utils.d.ts.map +1 -1
  131. package/dist/utils/type-utils.js +61 -6
  132. package/dist/utils/type-utils.mjs +36 -2
  133. package/dist/vendor/uuidv7.js +12 -16
  134. package/dist/vendor/uuidv7.mjs +12 -16
  135. package/package.json +10 -4
  136. package/src/__tests__/featureFlagUtils.spec.ts +427 -0
  137. package/src/__tests__/gzip.spec.ts +69 -0
  138. package/src/__tests__/posthog.ai.spec.ts +110 -0
  139. package/src/__tests__/posthog.capture.spec.ts +91 -0
  140. package/src/__tests__/posthog.core.spec.ts +135 -0
  141. package/src/__tests__/posthog.debug.spec.ts +36 -0
  142. package/src/__tests__/posthog.enqueue.spec.ts +93 -0
  143. package/src/__tests__/posthog.featureflags.spec.ts +1106 -0
  144. package/src/__tests__/posthog.featureflags.v1.spec.ts +922 -0
  145. package/src/__tests__/posthog.flush.spec.ts +237 -0
  146. package/src/__tests__/posthog.gdpr.spec.ts +50 -0
  147. package/src/__tests__/posthog.groups.spec.ts +96 -0
  148. package/src/__tests__/posthog.identify.spec.ts +194 -0
  149. package/src/__tests__/posthog.init.spec.ts +110 -0
  150. package/src/__tests__/posthog.listeners.spec.ts +51 -0
  151. package/src/__tests__/posthog.register.spec.ts +47 -0
  152. package/src/__tests__/posthog.reset.spec.ts +76 -0
  153. package/src/__tests__/posthog.sessions.spec.ts +63 -0
  154. package/src/__tests__/posthog.setProperties.spec.ts +102 -0
  155. package/src/__tests__/posthog.shutdown.spec.ts +88 -0
  156. package/src/__tests__/utils.spec.ts +36 -0
  157. package/src/error-tracking/chunk-ids.ts +58 -0
  158. package/src/error-tracking/coercers/dom-exception-coercer.ts +38 -0
  159. package/src/error-tracking/coercers/error-coercer.ts +36 -0
  160. package/src/error-tracking/coercers/error-event-coercer.ts +24 -0
  161. package/src/error-tracking/coercers/event-coercer.ts +19 -0
  162. package/src/error-tracking/coercers/index.ts +8 -0
  163. package/src/error-tracking/coercers/object-coercer.ts +76 -0
  164. package/src/error-tracking/coercers/primitive-coercer.ts +19 -0
  165. package/src/error-tracking/coercers/promise-rejection-event.spec.ts +77 -0
  166. package/src/error-tracking/coercers/promise-rejection-event.ts +53 -0
  167. package/src/error-tracking/coercers/string-coercer.spec.ts +26 -0
  168. package/src/error-tracking/coercers/string-coercer.ts +31 -0
  169. package/src/error-tracking/coercers/utils.ts +33 -0
  170. package/src/error-tracking/error-properties-builder.coerce.spec.ts +202 -0
  171. package/src/error-tracking/error-properties-builder.parse.spec.ts +30 -0
  172. package/src/error-tracking/error-properties-builder.ts +169 -0
  173. package/src/error-tracking/index.ts +5 -0
  174. package/src/error-tracking/parsers/base.ts +29 -0
  175. package/src/error-tracking/parsers/chrome.ts +53 -0
  176. package/src/error-tracking/parsers/gecko.ts +38 -0
  177. package/src/error-tracking/parsers/index.ts +104 -0
  178. package/src/error-tracking/parsers/node.ts +111 -0
  179. package/src/error-tracking/parsers/opera.ts +18 -0
  180. package/src/error-tracking/parsers/react-native.ts +0 -0
  181. package/src/error-tracking/parsers/safari.ts +33 -0
  182. package/src/error-tracking/parsers/winjs.ts +12 -0
  183. package/src/error-tracking/types.ts +107 -0
  184. package/src/error-tracking/utils.ts +39 -0
  185. package/src/eventemitter.ts +27 -0
  186. package/src/featureFlagUtils.ts +192 -0
  187. package/src/gzip.ts +29 -0
  188. package/src/index.ts +8 -0
  189. package/src/posthog-core-stateless.ts +1226 -0
  190. package/src/posthog-core.ts +958 -0
  191. package/src/testing/PostHogCoreTestClient.ts +91 -0
  192. package/src/testing/index.ts +2 -0
  193. package/src/testing/test-utils.ts +47 -0
  194. package/src/types.ts +544 -0
  195. package/src/utils/bucketed-rate-limiter.spec.ts +33 -0
  196. package/src/utils/bucketed-rate-limiter.ts +85 -0
  197. package/src/utils/index.ts +98 -0
  198. package/src/utils/number-utils.spec.ts +89 -0
  199. package/src/utils/number-utils.ts +30 -0
  200. package/src/utils/promise-queue.spec.ts +55 -0
  201. package/src/utils/promise-queue.ts +30 -0
  202. package/src/utils/string-utils.ts +23 -0
  203. package/src/utils/type-utils.ts +134 -0
  204. package/src/vendor/uuidv7.ts +479 -0
@@ -20,10 +20,19 @@ const createImperativePromise = ()=>{
20
20
  });
21
21
  return [
22
22
  promise,
23
- (val)=>null == resolve ? void 0 : resolve(val)
23
+ (val)=>resolve?.(val)
24
24
  ];
25
25
  };
26
26
  const delay = (ms)=>new Promise((resolve)=>{
27
27
  setTimeout(resolve, ms);
28
28
  });
29
- export { createImperativePromise, delay, parseBody, wait, waitForPromises };
29
+ const createMockLogger = ()=>({
30
+ _log: jest.fn(),
31
+ info: jest.fn(),
32
+ warn: jest.fn(),
33
+ error: jest.fn(),
34
+ critical: jest.fn(),
35
+ uninitializedWarning: jest.fn(),
36
+ createLogger: createMockLogger
37
+ });
38
+ export { createImperativePromise, createMockLogger, delay, parseBody, wait, waitForPromises };
@@ -1 +1 @@
1
- {"version":3,"file":"bucketed-rate-limiter.d.ts","sourceRoot":"","sources":["../../src/utils/bucketed-rate-limiter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAG9B,qBAAa,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAUtD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT3B,OAAO,CAAC,WAAW,CAAA;IACnB,OAAO,CAAC,WAAW,CAAA;IACnB,OAAO,CAAC,eAAe,CAAA;IACvB,OAAO,CAAC,oBAAoB,CAAC,CAAkB;IAE/C,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,eAAe,CAA4B;gBAGhC,QAAQ,EAAE;QACzB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,MAAM,CAAA;QAClB,cAAc,EAAE,MAAM,CAAA;QACtB,OAAO,EAAE,MAAM,CAAA;QACf,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;KACxC;IAqBH,OAAO,CAAC,cAAc,CAUrB;IAED,OAAO,CAAC,UAAU,CAEjB;IACD,OAAO,CAAC,UAAU,CAEjB;IAEM,gBAAgB,GAAI,KAAK,CAAC,aAiBhC;IAEM,IAAI;CAMZ"}
1
+ {"version":3,"file":"bucketed-rate-limiter.d.ts","sourceRoot":"","sources":["../../src/utils/bucketed-rate-limiter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAGjC,qBAAa,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAUtD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT3B,OAAO,CAAC,WAAW,CAAA;IACnB,OAAO,CAAC,WAAW,CAAA;IACnB,OAAO,CAAC,eAAe,CAAA;IACvB,OAAO,CAAC,oBAAoB,CAAC,CAAkB;IAE/C,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,eAAe,CAA4B;gBAGhC,QAAQ,EAAE;QACzB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,MAAM,CAAA;QAClB,cAAc,EAAE,MAAM,CAAA;QACtB,OAAO,EAAE,MAAM,CAAA;QACf,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;KACxC;IAqBH,OAAO,CAAC,cAAc,CAUrB;IAED,OAAO,CAAC,UAAU,CAEjB;IACD,OAAO,CAAC,UAAU,CAEjB;IAEM,gBAAgB,GAAI,KAAK,CAAC,aAiBhC;IAEM,IAAI;CAMZ"}
@@ -28,12 +28,6 @@ __webpack_require__.d(__webpack_exports__, {
28
28
  });
29
29
  const external_number_utils_js_namespaceObject = require("./number-utils.js");
30
30
  class BucketedRateLimiter {
31
- stop() {
32
- if (this._removeInterval) {
33
- clearInterval(this._removeInterval);
34
- this._removeInterval = void 0;
35
- }
36
- }
37
31
  constructor(_options){
38
32
  this._options = _options;
39
33
  this._buckets = {};
@@ -49,16 +43,12 @@ class BucketedRateLimiter {
49
43
  this._buckets[String(key)] = value;
50
44
  };
51
45
  this.consumeRateLimit = (key)=>{
52
- var _this__getBucket;
53
- let tokens = null != (_this__getBucket = this._getBucket(key)) ? _this__getBucket : this._bucketSize;
46
+ let tokens = this._getBucket(key) ?? this._bucketSize;
54
47
  tokens = Math.max(tokens - 1, 0);
55
48
  if (0 === tokens) return true;
56
49
  this._setBucket(key, tokens);
57
50
  const hasReachedZero = 0 === tokens;
58
- if (hasReachedZero) {
59
- var _this__onBucketRateLimited, _this;
60
- null == (_this__onBucketRateLimited = (_this = this)._onBucketRateLimited) || _this__onBucketRateLimited.call(_this, key);
61
- }
51
+ if (hasReachedZero) this._onBucketRateLimited?.(key);
62
52
  return hasReachedZero;
63
53
  };
64
54
  this._onBucketRateLimited = this._options._onBucketRateLimited;
@@ -69,6 +59,12 @@ class BucketedRateLimiter {
69
59
  this._refillBuckets();
70
60
  }, this._refillInterval);
71
61
  }
62
+ stop() {
63
+ if (this._removeInterval) {
64
+ clearInterval(this._removeInterval);
65
+ this._removeInterval = void 0;
66
+ }
67
+ }
72
68
  }
73
69
  exports.BucketedRateLimiter = __webpack_exports__.BucketedRateLimiter;
74
70
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
@@ -1,11 +1,5 @@
1
1
  import { clampToRange } from "./number-utils.mjs";
2
2
  class BucketedRateLimiter {
3
- stop() {
4
- if (this._removeInterval) {
5
- clearInterval(this._removeInterval);
6
- this._removeInterval = void 0;
7
- }
8
- }
9
3
  constructor(_options){
10
4
  this._options = _options;
11
5
  this._buckets = {};
@@ -21,16 +15,12 @@ class BucketedRateLimiter {
21
15
  this._buckets[String(key)] = value;
22
16
  };
23
17
  this.consumeRateLimit = (key)=>{
24
- var _this__getBucket;
25
- let tokens = null != (_this__getBucket = this._getBucket(key)) ? _this__getBucket : this._bucketSize;
18
+ let tokens = this._getBucket(key) ?? this._bucketSize;
26
19
  tokens = Math.max(tokens - 1, 0);
27
20
  if (0 === tokens) return true;
28
21
  this._setBucket(key, tokens);
29
22
  const hasReachedZero = 0 === tokens;
30
- if (hasReachedZero) {
31
- var _this__onBucketRateLimited, _this;
32
- null == (_this__onBucketRateLimited = (_this = this)._onBucketRateLimited) || _this__onBucketRateLimited.call(_this, key);
33
- }
23
+ if (hasReachedZero) this._onBucketRateLimited?.(key);
34
24
  return hasReachedZero;
35
25
  };
36
26
  this._onBucketRateLimited = this._options._onBucketRateLimited;
@@ -41,5 +31,11 @@ class BucketedRateLimiter {
41
31
  this._refillBuckets();
42
32
  }, this._refillInterval);
43
33
  }
34
+ stop() {
35
+ if (this._removeInterval) {
36
+ clearInterval(this._removeInterval);
37
+ this._removeInterval = void 0;
38
+ }
39
+ }
44
40
  }
45
41
  export { BucketedRateLimiter };
@@ -176,7 +176,7 @@ var __webpack_exports__ = {};
176
176
  return false;
177
177
  }
178
178
  function removeTrailingSlash(url) {
179
- return null == url ? void 0 : url.replace(/\/+$/, '');
179
+ return url?.replace(/\/+$/, '');
180
180
  }
181
181
  async function retriable(fn, props) {
182
182
  let lastError = null;
@@ -200,7 +200,7 @@ var __webpack_exports__ = {};
200
200
  }
201
201
  function safeSetTimeout(fn, timeout) {
202
202
  const t = setTimeout(fn, timeout);
203
- (null == t ? void 0 : t.unref) && (null == t || t.unref());
203
+ t?.unref && t?.unref();
204
204
  return t;
205
205
  }
206
206
  const isPromise = (obj)=>obj && 'function' == typeof obj.then;
@@ -209,7 +209,7 @@ var __webpack_exports__ = {};
209
209
  return 'undefined' != typeof fetch ? fetch : void 0 !== globalThis.fetch ? globalThis.fetch : void 0;
210
210
  }
211
211
  function allSettled(promises) {
212
- return Promise.all(promises.map((p)=>(null != p ? p : Promise.resolve()).then((value)=>({
212
+ return Promise.all(promises.map((p)=>(p ?? Promise.resolve()).then((value)=>({
213
213
  status: 'fulfilled',
214
214
  value
215
215
  }), (reason)=>({
@@ -12,7 +12,7 @@ function isEmpty(truthyValue) {
12
12
  return false;
13
13
  }
14
14
  function removeTrailingSlash(url) {
15
- return null == url ? void 0 : url.replace(/\/+$/, '');
15
+ return url?.replace(/\/+$/, '');
16
16
  }
17
17
  async function retriable(fn, props) {
18
18
  let lastError = null;
@@ -36,7 +36,7 @@ function currentISOTime() {
36
36
  }
37
37
  function safeSetTimeout(fn, timeout) {
38
38
  const t = setTimeout(fn, timeout);
39
- (null == t ? void 0 : t.unref) && (null == t || t.unref());
39
+ t?.unref && t?.unref();
40
40
  return t;
41
41
  }
42
42
  const isPromise = (obj)=>obj && 'function' == typeof obj.then;
@@ -45,7 +45,7 @@ function getFetch() {
45
45
  return 'undefined' != typeof fetch ? fetch : void 0 !== globalThis.fetch ? globalThis.fetch : void 0;
46
46
  }
47
47
  function allSettled(promises) {
48
- return Promise.all(promises.map((p)=>(null != p ? p : Promise.resolve()).then((value)=>({
48
+ return Promise.all(promises.map((p)=>(p ?? Promise.resolve()).then((value)=>({
49
49
  status: 'fulfilled',
50
50
  value
51
51
  }), (reason)=>({
@@ -1 +1 @@
1
- {"version":3,"file":"number-utils.d.ts","sourceRoot":"","sources":["../../src/utils/number-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAG9B;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAkBrH"}
1
+ {"version":3,"file":"number-utils.d.ts","sourceRoot":"","sources":["../../src/utils/number-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAGjC;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAkBrH"}
@@ -14,8 +14,15 @@ export declare const isNumber: (x: unknown) => x is number;
14
14
  export declare const isBoolean: (x: unknown) => x is boolean;
15
15
  export declare const isFormData: (x: unknown) => x is FormData;
16
16
  export declare const isFile: (x: unknown) => x is File;
17
- export declare const isError: (x: unknown) => x is Error;
17
+ export declare const isPlainError: (x: unknown) => x is Error;
18
18
  export declare const isKnownUnsafeEditableEvent: (x: unknown) => x is KnownUnsafeEditableEvent;
19
+ export declare function isInstanceOf(candidate: unknown, base: any): boolean;
20
+ export declare function isPrimitive(value: unknown): boolean;
21
+ export declare function isBuiltin(candidate: unknown, className: string): boolean;
22
+ export declare function isError(candidate: unknown): candidate is Error;
23
+ export declare function isErrorEvent(event: unknown): boolean;
24
+ export declare function isEvent(candidate: unknown): candidate is Event;
25
+ export declare function isPlainObject(candidate: unknown): candidate is Record<string, unknown>;
19
26
  export declare const yesLikeValues: (string | number | boolean)[];
20
27
  export declare const isYesLike: (val: string | boolean | number) => boolean;
21
28
  export declare const noLikeValues: (string | number | boolean)[];
@@ -1 +1 @@
1
- {"version":3,"file":"type-utils.d.ts","sourceRoot":"","sources":["../../src/utils/type-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAM7E,eAAO,MAAM,cAAc,6BAA0B,CAAA;AAGrD,eAAO,MAAM,OAAO,4BAIjB,CAAA;AAKH,eAAO,MAAM,UAAU,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAGhE,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GACR,CAAA;AAG/D,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAG5D,CAAA;AACD,eAAO,MAAM,aAAa,GAAI,GAAG,OAAO,YAUvC,CAAA;AACD,eAAO,MAAM,WAAW,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,SAAyB,CAAA;AAEvE,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAG1C,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,GAAG,OAAO,KAAG,OAA+C,CAAA;AAE1F,eAAO,MAAM,MAAM,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,IAGxC,CAAA;AAMD,eAAO,MAAM,SAAS,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,IAAI,GAAG,SAAwC,CAAA;AAE3F,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAG1C,CAAA;AACD,eAAO,MAAM,SAAS,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,OAG3C,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,QAG5C,CAAA;AAED,eAAO,MAAM,MAAM,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,IAGxC,CAAA;AAED,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,KAEzC,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,wBAE5D,CAAA;AAED,eAAO,MAAM,aAAa,+BAAgC,CAAA;AAC1D,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM,KAAG,OAAuC,CAAA;AAClG,eAAO,MAAM,YAAY,+BAAiC,CAAA;AAC1D,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM,KAAG,OAAsC,CAAA"}
1
+ {"version":3,"file":"type-utils.d.ts","sourceRoot":"","sources":["../../src/utils/type-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAM7E,eAAO,MAAM,cAAc,6BAA0B,CAAA;AAGrD,eAAO,MAAM,OAAO,4BAIjB,CAAA;AAKH,eAAO,MAAM,UAAU,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAGhE,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GACR,CAAA;AAG/D,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAG5D,CAAA;AACD,eAAO,MAAM,aAAa,GAAI,GAAG,OAAO,YAUvC,CAAA;AACD,eAAO,MAAM,WAAW,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,SAAyB,CAAA;AAEvE,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAG1C,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,GAAG,OAAO,KAAG,OAA+C,CAAA;AAE1F,eAAO,MAAM,MAAM,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,IAGxC,CAAA;AAMD,eAAO,MAAM,SAAS,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,IAAI,GAAG,SAAwC,CAAA;AAE3F,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAG1C,CAAA;AACD,eAAO,MAAM,SAAS,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,OAG3C,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,QAG5C,CAAA;AAED,eAAO,MAAM,MAAM,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,IAGxC,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,KAE9C,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,wBAE5D,CAAA;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAMnE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEnD;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAExE;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,IAAI,KAAK,CAW9D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpD;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,IAAI,KAAK,CAE9D;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEtF;AAED,eAAO,MAAM,aAAa,+BAAgC,CAAA;AAC1D,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM,KAAG,OAAuC,CAAA;AAClG,eAAO,MAAM,YAAY,+BAAiC,CAAA;AAC1D,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM,KAAG,OAAsC,CAAA"}
@@ -25,26 +25,33 @@ var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
27
  isBoolean: ()=>isBoolean,
28
- isNoLike: ()=>isNoLike,
28
+ isBuiltin: ()=>isBuiltin,
29
29
  isEmptyString: ()=>isEmptyString,
30
+ isNoLike: ()=>isNoLike,
30
31
  isNull: ()=>isNull,
31
32
  isNullish: ()=>isNullish,
32
- isNumber: ()=>isNumber,
33
33
  isError: ()=>isError,
34
34
  isEmptyObject: ()=>isEmptyObject,
35
35
  hasOwnProperty: ()=>type_utils_hasOwnProperty,
36
+ isErrorEvent: ()=>isErrorEvent,
36
37
  isNativeFunction: ()=>isNativeFunction,
37
- isUndefined: ()=>isUndefined,
38
- yesLikeValues: ()=>yesLikeValues,
38
+ isNumber: ()=>isNumber,
39
+ isPlainError: ()=>isPlainError,
40
+ isPlainObject: ()=>isPlainObject,
41
+ isPrimitive: ()=>isPrimitive,
39
42
  isObject: ()=>isObject,
43
+ isUndefined: ()=>isUndefined,
40
44
  isFunction: ()=>isFunction,
41
45
  isArray: ()=>isArray,
42
46
  isKnownUnsafeEditableEvent: ()=>isKnownUnsafeEditableEvent,
43
47
  isString: ()=>isString,
44
48
  noLikeValues: ()=>noLikeValues,
49
+ yesLikeValues: ()=>yesLikeValues,
50
+ isEvent: ()=>isEvent,
45
51
  isFile: ()=>isFile,
46
52
  isYesLike: ()=>isYesLike,
47
- isFormData: ()=>isFormData
53
+ isFormData: ()=>isFormData,
54
+ isInstanceOf: ()=>isInstanceOf
48
55
  });
49
56
  const external_types_js_namespaceObject = require("../types.js");
50
57
  const external_string_utils_js_namespaceObject = require("./string-utils.js");
@@ -74,8 +81,42 @@ const isNumber = (x)=>'[object Number]' == type_utils_toString.call(x);
74
81
  const isBoolean = (x)=>'[object Boolean]' === type_utils_toString.call(x);
75
82
  const isFormData = (x)=>x instanceof FormData;
76
83
  const isFile = (x)=>x instanceof File;
77
- const isError = (x)=>x instanceof Error;
84
+ const isPlainError = (x)=>x instanceof Error;
78
85
  const isKnownUnsafeEditableEvent = (x)=>(0, external_string_utils_js_namespaceObject.includes)(external_types_js_namespaceObject.knownUnsafeEditableEvent, x);
86
+ function isInstanceOf(candidate, base) {
87
+ try {
88
+ return candidate instanceof base;
89
+ } catch {
90
+ return false;
91
+ }
92
+ }
93
+ function isPrimitive(value) {
94
+ return null === value || 'object' != typeof value;
95
+ }
96
+ function isBuiltin(candidate, className) {
97
+ return Object.prototype.toString.call(candidate) === `[object ${className}]`;
98
+ }
99
+ function isError(candidate) {
100
+ switch(Object.prototype.toString.call(candidate)){
101
+ case '[object Error]':
102
+ case '[object Exception]':
103
+ case '[object DOMException]':
104
+ case '[object DOMError]':
105
+ case '[object WebAssembly.Exception]':
106
+ return true;
107
+ default:
108
+ return isInstanceOf(candidate, Error);
109
+ }
110
+ }
111
+ function isErrorEvent(event) {
112
+ return isBuiltin(event, 'ErrorEvent');
113
+ }
114
+ function isEvent(candidate) {
115
+ return !isUndefined(Event) && isInstanceOf(candidate, Event);
116
+ }
117
+ function isPlainObject(candidate) {
118
+ return isBuiltin(candidate, 'Object');
119
+ }
79
120
  const yesLikeValues = [
80
121
  true,
81
122
  'true',
@@ -95,12 +136,16 @@ const isNoLike = (val)=>(0, external_string_utils_js_namespaceObject.includes)(n
95
136
  exports.hasOwnProperty = __webpack_exports__.hasOwnProperty;
96
137
  exports.isArray = __webpack_exports__.isArray;
97
138
  exports.isBoolean = __webpack_exports__.isBoolean;
139
+ exports.isBuiltin = __webpack_exports__.isBuiltin;
98
140
  exports.isEmptyObject = __webpack_exports__.isEmptyObject;
99
141
  exports.isEmptyString = __webpack_exports__.isEmptyString;
100
142
  exports.isError = __webpack_exports__.isError;
143
+ exports.isErrorEvent = __webpack_exports__.isErrorEvent;
144
+ exports.isEvent = __webpack_exports__.isEvent;
101
145
  exports.isFile = __webpack_exports__.isFile;
102
146
  exports.isFormData = __webpack_exports__.isFormData;
103
147
  exports.isFunction = __webpack_exports__.isFunction;
148
+ exports.isInstanceOf = __webpack_exports__.isInstanceOf;
104
149
  exports.isKnownUnsafeEditableEvent = __webpack_exports__.isKnownUnsafeEditableEvent;
105
150
  exports.isNativeFunction = __webpack_exports__.isNativeFunction;
106
151
  exports.isNoLike = __webpack_exports__.isNoLike;
@@ -108,6 +153,9 @@ exports.isNull = __webpack_exports__.isNull;
108
153
  exports.isNullish = __webpack_exports__.isNullish;
109
154
  exports.isNumber = __webpack_exports__.isNumber;
110
155
  exports.isObject = __webpack_exports__.isObject;
156
+ exports.isPlainError = __webpack_exports__.isPlainError;
157
+ exports.isPlainObject = __webpack_exports__.isPlainObject;
158
+ exports.isPrimitive = __webpack_exports__.isPrimitive;
111
159
  exports.isString = __webpack_exports__.isString;
112
160
  exports.isUndefined = __webpack_exports__.isUndefined;
113
161
  exports.isYesLike = __webpack_exports__.isYesLike;
@@ -117,12 +165,16 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
117
165
  "hasOwnProperty",
118
166
  "isArray",
119
167
  "isBoolean",
168
+ "isBuiltin",
120
169
  "isEmptyObject",
121
170
  "isEmptyString",
122
171
  "isError",
172
+ "isErrorEvent",
173
+ "isEvent",
123
174
  "isFile",
124
175
  "isFormData",
125
176
  "isFunction",
177
+ "isInstanceOf",
126
178
  "isKnownUnsafeEditableEvent",
127
179
  "isNativeFunction",
128
180
  "isNoLike",
@@ -130,6 +182,9 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
130
182
  "isNullish",
131
183
  "isNumber",
132
184
  "isObject",
185
+ "isPlainError",
186
+ "isPlainObject",
187
+ "isPrimitive",
133
188
  "isString",
134
189
  "isUndefined",
135
190
  "isYesLike",
@@ -26,8 +26,42 @@ const isNumber = (x)=>'[object Number]' == type_utils_toString.call(x);
26
26
  const isBoolean = (x)=>'[object Boolean]' === type_utils_toString.call(x);
27
27
  const isFormData = (x)=>x instanceof FormData;
28
28
  const isFile = (x)=>x instanceof File;
29
- const isError = (x)=>x instanceof Error;
29
+ const isPlainError = (x)=>x instanceof Error;
30
30
  const isKnownUnsafeEditableEvent = (x)=>includes(knownUnsafeEditableEvent, x);
31
+ function isInstanceOf(candidate, base) {
32
+ try {
33
+ return candidate instanceof base;
34
+ } catch {
35
+ return false;
36
+ }
37
+ }
38
+ function isPrimitive(value) {
39
+ return null === value || 'object' != typeof value;
40
+ }
41
+ function isBuiltin(candidate, className) {
42
+ return Object.prototype.toString.call(candidate) === `[object ${className}]`;
43
+ }
44
+ function isError(candidate) {
45
+ switch(Object.prototype.toString.call(candidate)){
46
+ case '[object Error]':
47
+ case '[object Exception]':
48
+ case '[object DOMException]':
49
+ case '[object DOMError]':
50
+ case '[object WebAssembly.Exception]':
51
+ return true;
52
+ default:
53
+ return isInstanceOf(candidate, Error);
54
+ }
55
+ }
56
+ function isErrorEvent(event) {
57
+ return isBuiltin(event, 'ErrorEvent');
58
+ }
59
+ function isEvent(candidate) {
60
+ return !isUndefined(Event) && isInstanceOf(candidate, Event);
61
+ }
62
+ function isPlainObject(candidate) {
63
+ return isBuiltin(candidate, 'Object');
64
+ }
31
65
  const yesLikeValues = [
32
66
  true,
33
67
  'true',
@@ -44,4 +78,4 @@ const noLikeValues = [
44
78
  'no'
45
79
  ];
46
80
  const isNoLike = (val)=>includes(noLikeValues, val);
47
- export { type_utils_hasOwnProperty as hasOwnProperty, isArray, isBoolean, isEmptyObject, isEmptyString, isError, isFile, isFormData, isFunction, isKnownUnsafeEditableEvent, isNativeFunction, isNoLike, isNull, isNullish, isNumber, isObject, isString, isUndefined, isYesLike, noLikeValues, yesLikeValues };
81
+ export { type_utils_hasOwnProperty as hasOwnProperty, isArray, isBoolean, isBuiltin, isEmptyObject, isEmptyString, isError, isErrorEvent, isEvent, isFile, isFormData, isFunction, isInstanceOf, isKnownUnsafeEditableEvent, isNativeFunction, isNoLike, isNull, isNullish, isNumber, isObject, isPlainError, isPlainObject, isPrimitive, isString, isUndefined, isYesLike, noLikeValues, yesLikeValues };
@@ -40,6 +40,9 @@ __webpack_require__.d(__webpack_exports__, {
40
40
  * @packageDocumentation
41
41
  */ const DIGITS = "0123456789abcdef";
42
42
  class UUID {
43
+ constructor(bytes){
44
+ this.bytes = bytes;
45
+ }
43
46
  static ofInner(bytes) {
44
47
  if (16 === bytes.length) return new UUID(bytes);
45
48
  throw new TypeError("not 128-bit length");
@@ -69,20 +72,16 @@ class UUID {
69
72
  let hex;
70
73
  switch(uuid.length){
71
74
  case 32:
72
- var _exec;
73
- hex = null == (_exec = /^[0-9a-f]{32}$/i.exec(uuid)) ? void 0 : _exec[0];
75
+ hex = /^[0-9a-f]{32}$/i.exec(uuid)?.[0];
74
76
  break;
75
77
  case 36:
76
- var _exec1;
77
- hex = null == (_exec1 = /^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(uuid)) ? void 0 : _exec1.slice(1, 6).join("");
78
+ hex = /^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(uuid)?.slice(1, 6).join("");
78
79
  break;
79
80
  case 38:
80
- var _exec2;
81
- hex = null == (_exec2 = /^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(uuid)) ? void 0 : _exec2.slice(1, 6).join("");
81
+ hex = /^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(uuid)?.slice(1, 6).join("");
82
82
  break;
83
83
  case 45:
84
- var _exec3;
85
- hex = null == (_exec3 = /^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(uuid)) ? void 0 : _exec3.slice(1, 6).join("");
84
+ hex = /^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(uuid)?.slice(1, 6).join("");
86
85
  break;
87
86
  default:
88
87
  break;
@@ -145,11 +144,13 @@ class UUID {
145
144
  }
146
145
  return 0;
147
146
  }
148
- constructor(bytes){
149
- this.bytes = bytes;
150
- }
151
147
  }
152
148
  class V7Generator {
149
+ constructor(randomNumberGenerator){
150
+ this.timestamp = 0;
151
+ this.counter = 0;
152
+ this.random = randomNumberGenerator ?? getDefaultRandom();
153
+ }
153
154
  generate() {
154
155
  return this.generateOrResetCore(Date.now(), 10000);
155
156
  }
@@ -190,11 +191,6 @@ class V7Generator {
190
191
  bytes[8] = 0x80 | bytes[8] >>> 2;
191
192
  return UUID.ofInner(bytes);
192
193
  }
193
- constructor(randomNumberGenerator){
194
- this.timestamp = 0;
195
- this.counter = 0;
196
- this.random = null != randomNumberGenerator ? randomNumberGenerator : getDefaultRandom();
197
- }
198
194
  }
199
195
  const getDefaultRandom = ()=>({
200
196
  nextUint32: ()=>0x10000 * Math.trunc(0x10000 * Math.random()) + Math.trunc(0x10000 * Math.random())
@@ -7,6 +7,9 @@
7
7
  * @packageDocumentation
8
8
  */ const DIGITS = "0123456789abcdef";
9
9
  class UUID {
10
+ constructor(bytes){
11
+ this.bytes = bytes;
12
+ }
10
13
  static ofInner(bytes) {
11
14
  if (16 === bytes.length) return new UUID(bytes);
12
15
  throw new TypeError("not 128-bit length");
@@ -36,20 +39,16 @@ class UUID {
36
39
  let hex;
37
40
  switch(uuid.length){
38
41
  case 32:
39
- var _exec;
40
- hex = null == (_exec = /^[0-9a-f]{32}$/i.exec(uuid)) ? void 0 : _exec[0];
42
+ hex = /^[0-9a-f]{32}$/i.exec(uuid)?.[0];
41
43
  break;
42
44
  case 36:
43
- var _exec1;
44
- hex = null == (_exec1 = /^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(uuid)) ? void 0 : _exec1.slice(1, 6).join("");
45
+ hex = /^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(uuid)?.slice(1, 6).join("");
45
46
  break;
46
47
  case 38:
47
- var _exec2;
48
- hex = null == (_exec2 = /^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(uuid)) ? void 0 : _exec2.slice(1, 6).join("");
48
+ hex = /^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(uuid)?.slice(1, 6).join("");
49
49
  break;
50
50
  case 45:
51
- var _exec3;
52
- hex = null == (_exec3 = /^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(uuid)) ? void 0 : _exec3.slice(1, 6).join("");
51
+ hex = /^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(uuid)?.slice(1, 6).join("");
53
52
  break;
54
53
  default:
55
54
  break;
@@ -112,11 +111,13 @@ class UUID {
112
111
  }
113
112
  return 0;
114
113
  }
115
- constructor(bytes){
116
- this.bytes = bytes;
117
- }
118
114
  }
119
115
  class V7Generator {
116
+ constructor(randomNumberGenerator){
117
+ this.timestamp = 0;
118
+ this.counter = 0;
119
+ this.random = randomNumberGenerator ?? getDefaultRandom();
120
+ }
120
121
  generate() {
121
122
  return this.generateOrResetCore(Date.now(), 10000);
122
123
  }
@@ -157,11 +158,6 @@ class V7Generator {
157
158
  bytes[8] = 0x80 | bytes[8] >>> 2;
158
159
  return UUID.ofInner(bytes);
159
160
  }
160
- constructor(randomNumberGenerator){
161
- this.timestamp = 0;
162
- this.counter = 0;
163
- this.random = null != randomNumberGenerator ? randomNumberGenerator : getDefaultRandom();
164
- }
165
161
  }
166
162
  const getDefaultRandom = ()=>({
167
163
  nextUint32: ()=>0x10000 * Math.trunc(0x10000 * Math.random()) + Math.trunc(0x10000 * Math.random())
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@posthog/core",
3
- "version": "1.0.2",
3
+ "version": "1.2.0",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -11,7 +11,8 @@
11
11
  "directory": "packages/core"
12
12
  },
13
13
  "files": [
14
- "dist"
14
+ "dist",
15
+ "src"
15
16
  ],
16
17
  "exports": {
17
18
  ".": {
@@ -19,6 +20,11 @@
19
20
  "require": "./dist/index.js",
20
21
  "import": "./dist/index.mjs"
21
22
  },
23
+ "./error-tracking": {
24
+ "types": "./dist/error-tracking/index.d.ts",
25
+ "require": "./dist/error-tracking/index.js",
26
+ "import": "./dist/error-tracking/index.mjs"
27
+ },
22
28
  "./vendor/*": {
23
29
  "types": "./dist/vendor/*.d.ts",
24
30
  "require": "./dist/vendor/*.js",
@@ -42,8 +48,8 @@
42
48
  },
43
49
  "scripts": {
44
50
  "clean": "rimraf dist",
45
- "lint": "eslint src test",
46
- "lint:fix": "eslint src test --fix",
51
+ "lint": "eslint src",
52
+ "lint:fix": "eslint src --fix",
47
53
  "build": "rslib build",
48
54
  "dev": "rslib build -w",
49
55
  "test:unit": "jest",