@posthog/core 1.1.0 → 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.
- package/dist/error-tracking/chunk-ids.js +1 -1
- package/dist/error-tracking/chunk-ids.mjs +1 -1
- package/dist/error-tracking/coercers/error-event-coercer.js +4 -5
- package/dist/error-tracking/coercers/error-event-coercer.mjs +4 -5
- package/dist/error-tracking/coercers/event-coercer.js +1 -2
- package/dist/error-tracking/coercers/event-coercer.mjs +1 -2
- package/dist/error-tracking/coercers/object-coercer.js +1 -2
- package/dist/error-tracking/coercers/object-coercer.mjs +1 -2
- package/dist/error-tracking/coercers/primitive-coercer.js +1 -2
- package/dist/error-tracking/coercers/primitive-coercer.mjs +1 -2
- package/dist/error-tracking/coercers/promise-rejection-event.js +4 -5
- package/dist/error-tracking/coercers/promise-rejection-event.mjs +4 -5
- package/dist/error-tracking/coercers/string-coercer.js +3 -4
- package/dist/error-tracking/coercers/string-coercer.mjs +3 -4
- package/dist/error-tracking/coercers/utils.js +2 -4
- package/dist/error-tracking/coercers/utils.mjs +2 -4
- package/dist/error-tracking/error-properties-builder.js +11 -15
- package/dist/error-tracking/error-properties-builder.mjs +11 -15
- package/dist/error-tracking/parsers/index.js +2 -4
- package/dist/error-tracking/parsers/index.mjs +2 -4
- package/dist/error-tracking/parsers/node.js +3 -5
- package/dist/error-tracking/parsers/node.mjs +3 -5
- package/dist/error-tracking/utils.js +4 -4
- package/dist/error-tracking/utils.mjs +4 -4
- package/dist/eventemitter.js +4 -4
- package/dist/eventemitter.mjs +4 -4
- package/dist/featureFlagUtils.js +20 -45
- package/dist/featureFlagUtils.mjs +20 -45
- package/dist/gzip.js +1 -2
- package/dist/gzip.mjs +1 -2
- package/dist/index.d.ts +4 -366
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +54 -1225
- package/dist/index.mjs +5 -1190
- package/dist/posthog-core-stateless.d.ts +204 -0
- package/dist/posthog-core-stateless.d.ts.map +1 -0
- package/dist/posthog-core-stateless.js +675 -0
- package/dist/posthog-core-stateless.mjs +632 -0
- package/dist/posthog-core.d.ts +171 -0
- package/dist/posthog-core.d.ts.map +1 -0
- package/dist/posthog-core.js +554 -0
- package/dist/posthog-core.mjs +520 -0
- package/dist/testing/PostHogCoreTestClient.d.ts +2 -1
- package/dist/testing/PostHogCoreTestClient.d.ts.map +1 -1
- package/dist/testing/PostHogCoreTestClient.js +9 -11
- package/dist/testing/PostHogCoreTestClient.mjs +8 -10
- package/dist/testing/test-utils.js +1 -1
- package/dist/testing/test-utils.mjs +1 -1
- package/dist/utils/bucketed-rate-limiter.js +8 -12
- package/dist/utils/bucketed-rate-limiter.mjs +8 -12
- package/dist/utils/index.js +3 -3
- package/dist/utils/index.mjs +3 -3
- package/dist/utils/type-utils.js +1 -1
- package/dist/utils/type-utils.mjs +1 -1
- package/dist/vendor/uuidv7.js +12 -16
- package/dist/vendor/uuidv7.mjs +12 -16
- package/package.json +3 -2
- package/src/__tests__/featureFlagUtils.spec.ts +427 -0
- package/src/__tests__/gzip.spec.ts +69 -0
- package/src/__tests__/posthog.ai.spec.ts +110 -0
- package/src/__tests__/posthog.capture.spec.ts +91 -0
- package/src/__tests__/posthog.core.spec.ts +135 -0
- package/src/__tests__/posthog.debug.spec.ts +36 -0
- package/src/__tests__/posthog.enqueue.spec.ts +93 -0
- package/src/__tests__/posthog.featureflags.spec.ts +1106 -0
- package/src/__tests__/posthog.featureflags.v1.spec.ts +922 -0
- package/src/__tests__/posthog.flush.spec.ts +237 -0
- package/src/__tests__/posthog.gdpr.spec.ts +50 -0
- package/src/__tests__/posthog.groups.spec.ts +96 -0
- package/src/__tests__/posthog.identify.spec.ts +194 -0
- package/src/__tests__/posthog.init.spec.ts +110 -0
- package/src/__tests__/posthog.listeners.spec.ts +51 -0
- package/src/__tests__/posthog.register.spec.ts +47 -0
- package/src/__tests__/posthog.reset.spec.ts +76 -0
- package/src/__tests__/posthog.sessions.spec.ts +63 -0
- package/src/__tests__/posthog.setProperties.spec.ts +102 -0
- package/src/__tests__/posthog.shutdown.spec.ts +88 -0
- package/src/__tests__/utils.spec.ts +36 -0
- package/src/error-tracking/chunk-ids.ts +58 -0
- package/src/error-tracking/coercers/dom-exception-coercer.ts +38 -0
- package/src/error-tracking/coercers/error-coercer.ts +36 -0
- package/src/error-tracking/coercers/error-event-coercer.ts +24 -0
- package/src/error-tracking/coercers/event-coercer.ts +19 -0
- package/src/error-tracking/coercers/index.ts +8 -0
- package/src/error-tracking/coercers/object-coercer.ts +76 -0
- package/src/error-tracking/coercers/primitive-coercer.ts +19 -0
- package/src/error-tracking/coercers/promise-rejection-event.spec.ts +77 -0
- package/src/error-tracking/coercers/promise-rejection-event.ts +53 -0
- package/src/error-tracking/coercers/string-coercer.spec.ts +26 -0
- package/src/error-tracking/coercers/string-coercer.ts +31 -0
- package/src/error-tracking/coercers/utils.ts +33 -0
- package/src/error-tracking/error-properties-builder.coerce.spec.ts +202 -0
- package/src/error-tracking/error-properties-builder.parse.spec.ts +30 -0
- package/src/error-tracking/error-properties-builder.ts +169 -0
- package/src/error-tracking/index.ts +5 -0
- package/src/error-tracking/parsers/base.ts +29 -0
- package/src/error-tracking/parsers/chrome.ts +53 -0
- package/src/error-tracking/parsers/gecko.ts +38 -0
- package/src/error-tracking/parsers/index.ts +104 -0
- package/src/error-tracking/parsers/node.ts +111 -0
- package/src/error-tracking/parsers/opera.ts +18 -0
- package/src/error-tracking/parsers/react-native.ts +0 -0
- package/src/error-tracking/parsers/safari.ts +33 -0
- package/src/error-tracking/parsers/winjs.ts +12 -0
- package/src/error-tracking/types.ts +107 -0
- package/src/error-tracking/utils.ts +39 -0
- package/src/eventemitter.ts +27 -0
- package/src/featureFlagUtils.ts +192 -0
- package/src/gzip.ts +29 -0
- package/src/index.ts +8 -0
- package/src/posthog-core-stateless.ts +1226 -0
- package/src/posthog-core.ts +958 -0
- package/src/testing/PostHogCoreTestClient.ts +91 -0
- package/src/testing/index.ts +2 -0
- package/src/testing/test-utils.ts +47 -0
- package/src/types.ts +544 -0
- package/src/utils/bucketed-rate-limiter.spec.ts +33 -0
- package/src/utils/bucketed-rate-limiter.ts +85 -0
- package/src/utils/index.ts +98 -0
- package/src/utils/number-utils.spec.ts +89 -0
- package/src/utils/number-utils.ts +30 -0
- package/src/utils/promise-queue.spec.ts +55 -0
- package/src/utils/promise-queue.ts +30 -0
- package/src/utils/string-utils.ts +23 -0
- package/src/utils/type-utils.ts +134 -0
- package/src/vendor/uuidv7.ts +479 -0
|
@@ -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
|
-
|
|
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
|
-
|
|
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 };
|
package/dist/utils/index.js
CHANGED
|
@@ -176,7 +176,7 @@ var __webpack_exports__ = {};
|
|
|
176
176
|
return false;
|
|
177
177
|
}
|
|
178
178
|
function removeTrailingSlash(url) {
|
|
179
|
-
return
|
|
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
|
-
|
|
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)=>(
|
|
212
|
+
return Promise.all(promises.map((p)=>(p ?? Promise.resolve()).then((value)=>({
|
|
213
213
|
status: 'fulfilled',
|
|
214
214
|
value
|
|
215
215
|
}), (reason)=>({
|
package/dist/utils/index.mjs
CHANGED
|
@@ -12,7 +12,7 @@ function isEmpty(truthyValue) {
|
|
|
12
12
|
return false;
|
|
13
13
|
}
|
|
14
14
|
function removeTrailingSlash(url) {
|
|
15
|
-
return
|
|
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
|
-
|
|
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)=>(
|
|
48
|
+
return Promise.all(promises.map((p)=>(p ?? Promise.resolve()).then((value)=>({
|
|
49
49
|
status: 'fulfilled',
|
|
50
50
|
value
|
|
51
51
|
}), (reason)=>({
|
package/dist/utils/type-utils.js
CHANGED
package/dist/vendor/uuidv7.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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())
|
package/dist/vendor/uuidv7.mjs
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
".": {
|