@posthog/core 1.0.1 → 1.1.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.d.ts +5 -0
- package/dist/error-tracking/chunk-ids.d.ts.map +1 -0
- package/dist/error-tracking/chunk-ids.js +68 -0
- package/dist/error-tracking/chunk-ids.mjs +34 -0
- package/dist/error-tracking/coercers/dom-exception-coercer.d.ts +10 -0
- package/dist/error-tracking/coercers/dom-exception-coercer.d.ts.map +1 -0
- package/dist/error-tracking/coercers/dom-exception-coercer.js +65 -0
- package/dist/error-tracking/coercers/dom-exception-coercer.mjs +31 -0
- package/dist/error-tracking/coercers/error-coercer.d.ts +9 -0
- package/dist/error-tracking/coercers/error-coercer.d.ts.map +1 -0
- package/dist/error-tracking/coercers/error-coercer.js +61 -0
- package/dist/error-tracking/coercers/error-coercer.mjs +27 -0
- package/dist/error-tracking/coercers/error-event-coercer.d.ts +7 -0
- package/dist/error-tracking/coercers/error-event-coercer.d.ts.map +1 -0
- package/dist/error-tracking/coercers/error-event-coercer.js +53 -0
- package/dist/error-tracking/coercers/error-event-coercer.mjs +19 -0
- package/dist/error-tracking/coercers/event-coercer.d.ts +6 -0
- package/dist/error-tracking/coercers/event-coercer.d.ts.map +1 -0
- package/dist/error-tracking/coercers/event-coercer.js +52 -0
- package/dist/error-tracking/coercers/event-coercer.mjs +18 -0
- package/dist/error-tracking/coercers/index.d.ts +9 -0
- package/dist/error-tracking/coercers/index.d.ts.map +1 -0
- package/dist/error-tracking/coercers/index.js +123 -0
- package/dist/error-tracking/coercers/index.mjs +8 -0
- package/dist/error-tracking/coercers/object-coercer.d.ts +14 -0
- package/dist/error-tracking/coercers/object-coercer.d.ts.map +1 -0
- package/dist/error-tracking/coercers/object-coercer.js +86 -0
- package/dist/error-tracking/coercers/object-coercer.mjs +52 -0
- package/dist/error-tracking/coercers/primitive-coercer.d.ts +7 -0
- package/dist/error-tracking/coercers/primitive-coercer.d.ts.map +1 -0
- package/dist/error-tracking/coercers/primitive-coercer.js +50 -0
- package/dist/error-tracking/coercers/primitive-coercer.mjs +16 -0
- package/dist/error-tracking/coercers/promise-rejection-event.d.ts +7 -0
- package/dist/error-tracking/coercers/promise-rejection-event.d.ts.map +1 -0
- package/dist/error-tracking/coercers/promise-rejection-event.js +60 -0
- package/dist/error-tracking/coercers/promise-rejection-event.mjs +26 -0
- package/dist/error-tracking/coercers/string-coercer.d.ts +7 -0
- package/dist/error-tracking/coercers/string-coercer.d.ts.map +1 -0
- package/dist/error-tracking/coercers/string-coercer.js +64 -0
- package/dist/error-tracking/coercers/string-coercer.mjs +30 -0
- package/dist/error-tracking/coercers/utils.d.ts +8 -0
- package/dist/error-tracking/coercers/utils.d.ts.map +1 -0
- package/dist/error-tracking/coercers/utils.js +57 -0
- package/dist/error-tracking/coercers/utils.mjs +20 -0
- package/dist/error-tracking/error-properties-builder.d.ts +18 -0
- package/dist/error-tracking/error-properties-builder.d.ts.map +1 -0
- package/dist/error-tracking/error-properties-builder.js +156 -0
- package/dist/error-tracking/error-properties-builder.mjs +122 -0
- package/dist/error-tracking/index.d.ts +6 -0
- package/dist/error-tracking/index.d.ts.map +1 -0
- package/dist/error-tracking/index.js +87 -0
- package/dist/error-tracking/index.mjs +4 -0
- package/dist/error-tracking/parsers/base.d.ts +9 -0
- package/dist/error-tracking/parsers/base.d.ts.map +1 -0
- package/dist/error-tracking/parsers/base.js +71 -0
- package/dist/error-tracking/parsers/base.mjs +19 -0
- package/dist/error-tracking/parsers/chrome.d.ts +3 -0
- package/dist/error-tracking/parsers/chrome.d.ts.map +1 -0
- package/dist/error-tracking/parsers/chrome.js +61 -0
- package/dist/error-tracking/parsers/chrome.mjs +27 -0
- package/dist/error-tracking/parsers/gecko.d.ts +3 -0
- package/dist/error-tracking/parsers/gecko.d.ts.map +1 -0
- package/dist/error-tracking/parsers/gecko.js +58 -0
- package/dist/error-tracking/parsers/gecko.mjs +24 -0
- package/dist/error-tracking/parsers/index.d.ts +9 -0
- package/dist/error-tracking/parsers/index.d.ts.map +1 -0
- package/dist/error-tracking/parsers/index.js +101 -0
- package/dist/error-tracking/parsers/index.mjs +46 -0
- package/dist/error-tracking/parsers/node.d.ts +3 -0
- package/dist/error-tracking/parsers/node.d.ts.map +1 -0
- package/dist/error-tracking/parsers/node.js +101 -0
- package/dist/error-tracking/parsers/node.mjs +67 -0
- package/dist/error-tracking/parsers/opera.d.ts +4 -0
- package/dist/error-tracking/parsers/opera.d.ts.map +1 -0
- package/dist/error-tracking/parsers/opera.js +49 -0
- package/dist/error-tracking/parsers/opera.mjs +12 -0
- package/dist/error-tracking/parsers/react-native.d.ts +1 -0
- package/dist/error-tracking/parsers/react-native.d.ts.map +1 -0
- package/dist/error-tracking/parsers/react-native.js +5 -0
- package/dist/error-tracking/parsers/react-native.mjs +0 -0
- package/dist/error-tracking/parsers/safari.d.ts +22 -0
- package/dist/error-tracking/parsers/safari.d.ts.map +1 -0
- package/dist/error-tracking/parsers/safari.js +47 -0
- package/dist/error-tracking/parsers/safari.mjs +13 -0
- package/dist/error-tracking/parsers/winjs.d.ts +3 -0
- package/dist/error-tracking/parsers/winjs.d.ts.map +1 -0
- package/dist/error-tracking/parsers/winjs.js +41 -0
- package/dist/error-tracking/parsers/winjs.mjs +7 -0
- package/dist/error-tracking/types.d.ts +87 -0
- package/dist/error-tracking/types.d.ts.map +1 -0
- package/dist/error-tracking/types.js +43 -0
- package/dist/error-tracking/types.mjs +9 -0
- package/dist/error-tracking/utils.d.ts +13 -0
- package/dist/error-tracking/utils.d.ts.map +1 -0
- package/dist/error-tracking/utils.js +57 -0
- package/dist/error-tracking/utils.mjs +23 -0
- package/dist/index.d.ts +123 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -12
- package/dist/index.mjs +9 -12
- package/dist/testing/test-utils.d.ts +2 -0
- package/dist/testing/test-utils.d.ts.map +1 -1
- package/dist/testing/test-utils.js +12 -0
- package/dist/testing/test-utils.mjs +10 -1
- package/dist/utils/bucketed-rate-limiter.d.ts +2 -0
- package/dist/utils/bucketed-rate-limiter.d.ts.map +1 -1
- package/dist/utils/bucketed-rate-limiter.js +7 -1
- package/dist/utils/bucketed-rate-limiter.mjs +7 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +22 -0
- package/dist/utils/index.mjs +1 -0
- package/dist/utils/number-utils.d.ts.map +1 -1
- package/dist/utils/promise-queue.d.ts +7 -0
- package/dist/utils/promise-queue.d.ts.map +1 -0
- package/dist/utils/promise-queue.js +61 -0
- package/dist/utils/promise-queue.mjs +27 -0
- package/dist/utils/type-utils.d.ts +12 -1
- package/dist/utils/type-utils.d.ts.map +1 -1
- package/dist/utils/type-utils.js +89 -6
- package/dist/utils/type-utils.mjs +52 -2
- package/package.json +8 -3
package/dist/index.mjs
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Compression, PostHogPersistedProperty } from "./types.mjs";
|
|
2
2
|
import { createFlagsResponseFromFlagsAndPayloads, getFeatureFlagValue, getFlagValuesFromFlags, getPayloadsFromFlags, normalizeFlagsResponse, updateFlagValue } from "./featureFlagUtils.mjs";
|
|
3
|
-
import { STRING_FORMAT, allSettled, assert, currentISOTime,
|
|
3
|
+
import { STRING_FORMAT, allSettled, assert, currentISOTime, isPlainError, removeTrailingSlash, retriable, safeSetTimeout } from "./utils/index.mjs";
|
|
4
4
|
import { gzipCompress, isGzipSupported } from "./gzip.mjs";
|
|
5
5
|
import { SimpleEventEmitter } from "./eventemitter.mjs";
|
|
6
6
|
import { uuidv7 } from "./vendor/uuidv7.mjs";
|
|
7
|
+
import { PromiseQueue } from "./utils/promise-queue.mjs";
|
|
7
8
|
export * from "./utils/index.mjs";
|
|
8
9
|
export * from "./types.mjs";
|
|
10
|
+
import * as __WEBPACK_EXTERNAL_MODULE__error_tracking_index_mjs_b3406d6f__ from "./error-tracking/index.mjs";
|
|
9
11
|
class PostHogFetchHttpError extends Error {
|
|
10
12
|
get status() {
|
|
11
13
|
return this.response.status;
|
|
@@ -107,12 +109,7 @@ class PostHogCoreStateless {
|
|
|
107
109
|
};
|
|
108
110
|
}
|
|
109
111
|
addPendingPromise(promise) {
|
|
110
|
-
|
|
111
|
-
this.pendingPromises[promiseUUID] = promise;
|
|
112
|
-
promise.catch(()=>{}).finally(()=>{
|
|
113
|
-
delete this.pendingPromises[promiseUUID];
|
|
114
|
-
});
|
|
115
|
-
return promise;
|
|
112
|
+
return this.promiseQueue.add(promise);
|
|
116
113
|
}
|
|
117
114
|
identifyStateless(distinctId, properties, options) {
|
|
118
115
|
this.wrap(()=>{
|
|
@@ -584,7 +581,7 @@ class PostHogCoreStateless {
|
|
|
584
581
|
this.clearFlushTimer();
|
|
585
582
|
const doShutdown = async ()=>{
|
|
586
583
|
try {
|
|
587
|
-
await
|
|
584
|
+
await this.promiseQueue.join();
|
|
588
585
|
while(true){
|
|
589
586
|
const queue = this.getPersistedProperty(PostHogPersistedProperty.Queue) || [];
|
|
590
587
|
if (0 === queue.length) break;
|
|
@@ -618,7 +615,7 @@ class PostHogCoreStateless {
|
|
|
618
615
|
constructor(apiKey, options){
|
|
619
616
|
this.flushPromise = null;
|
|
620
617
|
this.shutdownPromise = null;
|
|
621
|
-
this.
|
|
618
|
+
this.promiseQueue = new PromiseQueue();
|
|
622
619
|
this._events = new SimpleEventEmitter();
|
|
623
620
|
this._isInitialized = false;
|
|
624
621
|
assert(apiKey, "You must pass your PostHog project's api key.");
|
|
@@ -1152,8 +1149,8 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
1152
1149
|
$exception_level: 'error',
|
|
1153
1150
|
$exception_list: [
|
|
1154
1151
|
{
|
|
1155
|
-
type:
|
|
1156
|
-
value:
|
|
1152
|
+
type: isPlainError(error) ? error.name : 'Error',
|
|
1153
|
+
value: isPlainError(error) ? error.message : error,
|
|
1157
1154
|
mechanism: {
|
|
1158
1155
|
handled: true,
|
|
1159
1156
|
synthetic: false
|
|
@@ -1194,4 +1191,4 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
1194
1191
|
this._sessionExpirationTimeSeconds = null != (_options_sessionExpirationTimeSeconds = null == options ? void 0 : options.sessionExpirationTimeSeconds) ? _options_sessionExpirationTimeSeconds : 1800;
|
|
1195
1192
|
}
|
|
1196
1193
|
}
|
|
1197
|
-
export { PostHogCore, PostHogCoreStateless, getFeatureFlagValue, logFlushError, maybeAdd };
|
|
1194
|
+
export { __WEBPACK_EXTERNAL_MODULE__error_tracking_index_mjs_b3406d6f__ as ErrorTracking, PostHogCore, PostHogCoreStateless, getFeatureFlagValue, logFlushError, maybeAdd };
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { Logger } from '../types';
|
|
1
2
|
export declare const wait: (t: number) => Promise<void>;
|
|
2
3
|
export declare const waitForPromises: () => Promise<void>;
|
|
3
4
|
export declare const parseBody: (mockCall: any) => any;
|
|
4
5
|
export declare const createImperativePromise: <T>() => [Promise<T>, (value: T) => void];
|
|
5
6
|
export declare const delay: (ms: number) => Promise<void>;
|
|
7
|
+
export declare const createMockLogger: () => Logger;
|
|
6
8
|
//# sourceMappingURL=test-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/testing/test-utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,GAAU,GAAG,MAAM,KAAG,OAAO,CAAC,IAAI,CAElD,CAAA;AAED,eAAO,MAAM,eAAe,QAAa,OAAO,CAAC,IAAI,CAQpD,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,UAAU,GAAG,KAAG,GAIzC,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,CAAC,OAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAM5E,CAAA;AAED,eAAO,MAAM,KAAK,GAAI,IAAI,MAAM,KAAG,OAAO,CAAC,IAAI,CAI9C,CAAA"}
|
|
1
|
+
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/testing/test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAEhC,eAAO,MAAM,IAAI,GAAU,GAAG,MAAM,KAAG,OAAO,CAAC,IAAI,CAElD,CAAA;AAED,eAAO,MAAM,eAAe,QAAa,OAAO,CAAC,IAAI,CAQpD,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,UAAU,GAAG,KAAG,GAIzC,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,CAAC,OAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAM5E,CAAA;AAED,eAAO,MAAM,KAAK,GAAI,IAAI,MAAM,KAAG,OAAO,CAAC,IAAI,CAI9C,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAO,MAUnC,CAAA"}
|
|
@@ -25,6 +25,7 @@ var __webpack_exports__ = {};
|
|
|
25
25
|
__webpack_require__.r(__webpack_exports__);
|
|
26
26
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
27
|
createImperativePromise: ()=>createImperativePromise,
|
|
28
|
+
createMockLogger: ()=>createMockLogger,
|
|
28
29
|
delay: ()=>delay,
|
|
29
30
|
parseBody: ()=>parseBody,
|
|
30
31
|
wait: ()=>wait,
|
|
@@ -58,13 +59,24 @@ const createImperativePromise = ()=>{
|
|
|
58
59
|
const delay = (ms)=>new Promise((resolve)=>{
|
|
59
60
|
setTimeout(resolve, ms);
|
|
60
61
|
});
|
|
62
|
+
const createMockLogger = ()=>({
|
|
63
|
+
_log: jest.fn(),
|
|
64
|
+
info: jest.fn(),
|
|
65
|
+
warn: jest.fn(),
|
|
66
|
+
error: jest.fn(),
|
|
67
|
+
critical: jest.fn(),
|
|
68
|
+
uninitializedWarning: jest.fn(),
|
|
69
|
+
createLogger: createMockLogger
|
|
70
|
+
});
|
|
61
71
|
exports.createImperativePromise = __webpack_exports__.createImperativePromise;
|
|
72
|
+
exports.createMockLogger = __webpack_exports__.createMockLogger;
|
|
62
73
|
exports.delay = __webpack_exports__.delay;
|
|
63
74
|
exports.parseBody = __webpack_exports__.parseBody;
|
|
64
75
|
exports.wait = __webpack_exports__.wait;
|
|
65
76
|
exports.waitForPromises = __webpack_exports__.waitForPromises;
|
|
66
77
|
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
67
78
|
"createImperativePromise",
|
|
79
|
+
"createMockLogger",
|
|
68
80
|
"delay",
|
|
69
81
|
"parseBody",
|
|
70
82
|
"wait",
|
|
@@ -26,4 +26,13 @@ const createImperativePromise = ()=>{
|
|
|
26
26
|
const delay = (ms)=>new Promise((resolve)=>{
|
|
27
27
|
setTimeout(resolve, ms);
|
|
28
28
|
});
|
|
29
|
-
|
|
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 };
|
|
@@ -6,6 +6,7 @@ export declare class BucketedRateLimiter<T extends string | number> {
|
|
|
6
6
|
private _refillInterval;
|
|
7
7
|
private _onBucketRateLimited?;
|
|
8
8
|
private _buckets;
|
|
9
|
+
private _removeInterval;
|
|
9
10
|
constructor(_options: {
|
|
10
11
|
bucketSize: number;
|
|
11
12
|
refillRate: number;
|
|
@@ -17,5 +18,6 @@ export declare class BucketedRateLimiter<T extends string | number> {
|
|
|
17
18
|
private _getBucket;
|
|
18
19
|
private _setBucket;
|
|
19
20
|
consumeRateLimit: (key: T) => boolean;
|
|
21
|
+
stop(): void;
|
|
20
22
|
}
|
|
21
23
|
//# sourceMappingURL=bucketed-rate-limiter.d.ts.map
|
|
@@ -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,
|
|
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,6 +28,12 @@ __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
|
+
}
|
|
31
37
|
constructor(_options){
|
|
32
38
|
this._options = _options;
|
|
33
39
|
this._buckets = {};
|
|
@@ -59,7 +65,7 @@ class BucketedRateLimiter {
|
|
|
59
65
|
this._bucketSize = (0, external_number_utils_js_namespaceObject.clampToRange)(this._options.bucketSize, 0, 100, this._options._logger);
|
|
60
66
|
this._refillRate = (0, external_number_utils_js_namespaceObject.clampToRange)(this._options.refillRate, 0, this._bucketSize, this._options._logger);
|
|
61
67
|
this._refillInterval = (0, external_number_utils_js_namespaceObject.clampToRange)(this._options.refillInterval, 0, 86400000, this._options._logger);
|
|
62
|
-
setInterval(()=>{
|
|
68
|
+
this._removeInterval = setInterval(()=>{
|
|
63
69
|
this._refillBuckets();
|
|
64
70
|
}, this._refillInterval);
|
|
65
71
|
}
|
|
@@ -1,5 +1,11 @@
|
|
|
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
|
+
}
|
|
3
9
|
constructor(_options){
|
|
4
10
|
this._options = _options;
|
|
5
11
|
this._buckets = {};
|
|
@@ -31,7 +37,7 @@ class BucketedRateLimiter {
|
|
|
31
37
|
this._bucketSize = clampToRange(this._options.bucketSize, 0, 100, this._options._logger);
|
|
32
38
|
this._refillRate = clampToRange(this._options.refillRate, 0, this._bucketSize, this._options._logger);
|
|
33
39
|
this._refillInterval = clampToRange(this._options.refillInterval, 0, 86400000, this._options._logger);
|
|
34
|
-
setInterval(()=>{
|
|
40
|
+
this._removeInterval = setInterval(()=>{
|
|
35
41
|
this._refillBuckets();
|
|
36
42
|
}, this._refillInterval);
|
|
37
43
|
}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * from './bucketed-rate-limiter';
|
|
|
3
3
|
export * from './number-utils';
|
|
4
4
|
export * from './string-utils';
|
|
5
5
|
export * from './type-utils';
|
|
6
|
+
export * from './promise-queue';
|
|
6
7
|
export declare const STRING_FORMAT = "utf8";
|
|
7
8
|
export declare function assert(truthyValue: any, message: string): void;
|
|
8
9
|
export declare function removeTrailingSlash(url: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAE/B,eAAO,MAAM,aAAa,SAAS,CAAA;AAEnC,wBAAgB,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAI9D;AASD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAA;CACtC;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,CAqB5F;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAOnE;AAGD,eAAO,MAAM,SAAS,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,OAAO,CAAC,GAAG,CAEtD,CAAA;AAED,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,KAEzC,CAAA;AAED,wBAAgB,QAAQ,IAAI,SAAS,GAAG,SAAS,CAEhD;AAED,wBAAgB,UAAU,CAAC,CAAC,EAC1B,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAC1C,OAAO,CAAC,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,CAAC,EAAE,CAAC,CAStF"}
|
package/dist/utils/index.js
CHANGED
|
@@ -6,6 +6,9 @@ var __webpack_modules__ = {
|
|
|
6
6
|
"./number-utils": function(module) {
|
|
7
7
|
module.exports = require("./number-utils.js");
|
|
8
8
|
},
|
|
9
|
+
"./promise-queue": function(module) {
|
|
10
|
+
module.exports = require("./promise-queue.js");
|
|
11
|
+
},
|
|
9
12
|
"./string-utils": function(module) {
|
|
10
13
|
module.exports = require("./string-utils.js");
|
|
11
14
|
},
|
|
@@ -145,6 +148,25 @@ var __webpack_exports__ = {};
|
|
|
145
148
|
return _type_utils__WEBPACK_IMPORTED_MODULE_3__[key];
|
|
146
149
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
147
150
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
151
|
+
var _promise_queue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("./promise-queue");
|
|
152
|
+
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
153
|
+
for(var __WEBPACK_IMPORT_KEY__ in _promise_queue__WEBPACK_IMPORTED_MODULE_4__)if ([
|
|
154
|
+
"removeTrailingSlash",
|
|
155
|
+
"retriable",
|
|
156
|
+
"default",
|
|
157
|
+
"currentISOTime",
|
|
158
|
+
"currentTimestamp",
|
|
159
|
+
"STRING_FORMAT",
|
|
160
|
+
"isError",
|
|
161
|
+
"safeSetTimeout",
|
|
162
|
+
"getFetch",
|
|
163
|
+
"isPromise",
|
|
164
|
+
"assert",
|
|
165
|
+
"allSettled"
|
|
166
|
+
].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
167
|
+
return _promise_queue__WEBPACK_IMPORTED_MODULE_4__[key];
|
|
168
|
+
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
169
|
+
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
148
170
|
const STRING_FORMAT = 'utf8';
|
|
149
171
|
function assert(truthyValue, message) {
|
|
150
172
|
if (!truthyValue || 'string' != typeof truthyValue || isEmpty(truthyValue)) throw new Error(message);
|
package/dist/utils/index.mjs
CHANGED
|
@@ -2,6 +2,7 @@ export * from "./bucketed-rate-limiter.mjs";
|
|
|
2
2
|
export * from "./number-utils.mjs";
|
|
3
3
|
export * from "./string-utils.mjs";
|
|
4
4
|
export * from "./type-utils.mjs";
|
|
5
|
+
export * from "./promise-queue.mjs";
|
|
5
6
|
const STRING_FORMAT = 'utf8';
|
|
6
7
|
function assert(truthyValue, message) {
|
|
7
8
|
if (!truthyValue || 'string' != typeof truthyValue || isEmpty(truthyValue)) throw new Error(message);
|
|
@@ -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,
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promise-queue.d.ts","sourceRoot":"","sources":["../../src/utils/promise-queue.ts"],"names":[],"mappings":"AAEA,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAAmC;IAEhD,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAWlC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAUlC,IAAW,MAAM,IAAI,MAAM,CAE1B;CACF"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
PromiseQueue: ()=>PromiseQueue
|
|
28
|
+
});
|
|
29
|
+
const uuidv7_js_namespaceObject = require("../vendor/uuidv7.js");
|
|
30
|
+
class PromiseQueue {
|
|
31
|
+
add(promise) {
|
|
32
|
+
const promiseUUID = (0, uuidv7_js_namespaceObject.uuidv7)();
|
|
33
|
+
this.promiseByIds[promiseUUID] = promise;
|
|
34
|
+
promise.catch(()=>{}).finally(()=>{
|
|
35
|
+
delete this.promiseByIds[promiseUUID];
|
|
36
|
+
});
|
|
37
|
+
return promise;
|
|
38
|
+
}
|
|
39
|
+
async join() {
|
|
40
|
+
let promises = Object.values(this.promiseByIds);
|
|
41
|
+
let length = promises.length;
|
|
42
|
+
while(length > 0){
|
|
43
|
+
await Promise.all(promises);
|
|
44
|
+
promises = Object.values(this.promiseByIds);
|
|
45
|
+
length = promises.length;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
get length() {
|
|
49
|
+
return Object.keys(this.promiseByIds).length;
|
|
50
|
+
}
|
|
51
|
+
constructor(){
|
|
52
|
+
this.promiseByIds = {};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.PromiseQueue = __webpack_exports__.PromiseQueue;
|
|
56
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
57
|
+
"PromiseQueue"
|
|
58
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
59
|
+
Object.defineProperty(exports, '__esModule', {
|
|
60
|
+
value: true
|
|
61
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { uuidv7 } from "../vendor/uuidv7.mjs";
|
|
2
|
+
class PromiseQueue {
|
|
3
|
+
add(promise) {
|
|
4
|
+
const promiseUUID = uuidv7();
|
|
5
|
+
this.promiseByIds[promiseUUID] = promise;
|
|
6
|
+
promise.catch(()=>{}).finally(()=>{
|
|
7
|
+
delete this.promiseByIds[promiseUUID];
|
|
8
|
+
});
|
|
9
|
+
return promise;
|
|
10
|
+
}
|
|
11
|
+
async join() {
|
|
12
|
+
let promises = Object.values(this.promiseByIds);
|
|
13
|
+
let length = promises.length;
|
|
14
|
+
while(length > 0){
|
|
15
|
+
await Promise.all(promises);
|
|
16
|
+
promises = Object.values(this.promiseByIds);
|
|
17
|
+
length = promises.length;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
get length() {
|
|
21
|
+
return Object.keys(this.promiseByIds).length;
|
|
22
|
+
}
|
|
23
|
+
constructor(){
|
|
24
|
+
this.promiseByIds = {};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export { PromiseQueue };
|
|
@@ -14,6 +14,17 @@ 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
|
|
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>;
|
|
26
|
+
export declare const yesLikeValues: (string | number | boolean)[];
|
|
27
|
+
export declare const isYesLike: (val: string | boolean | number) => boolean;
|
|
28
|
+
export declare const noLikeValues: (string | number | boolean)[];
|
|
29
|
+
export declare const isNoLike: (val: string | boolean | number) => boolean;
|
|
19
30
|
//# sourceMappingURL=type-utils.d.ts.map
|
|
@@ -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,
|
|
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"}
|
package/dist/utils/type-utils.js
CHANGED
|
@@ -25,22 +25,33 @@ var __webpack_exports__ = {};
|
|
|
25
25
|
__webpack_require__.r(__webpack_exports__);
|
|
26
26
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
27
|
isBoolean: ()=>isBoolean,
|
|
28
|
-
|
|
28
|
+
isBuiltin: ()=>isBuiltin,
|
|
29
29
|
isEmptyString: ()=>isEmptyString,
|
|
30
|
+
isNoLike: ()=>isNoLike,
|
|
30
31
|
isNull: ()=>isNull,
|
|
31
|
-
|
|
32
|
+
isNullish: ()=>isNullish,
|
|
32
33
|
isError: ()=>isError,
|
|
33
34
|
isEmptyObject: ()=>isEmptyObject,
|
|
34
35
|
hasOwnProperty: ()=>type_utils_hasOwnProperty,
|
|
36
|
+
isErrorEvent: ()=>isErrorEvent,
|
|
35
37
|
isNativeFunction: ()=>isNativeFunction,
|
|
36
|
-
|
|
38
|
+
isNumber: ()=>isNumber,
|
|
39
|
+
isPlainError: ()=>isPlainError,
|
|
40
|
+
isPlainObject: ()=>isPlainObject,
|
|
41
|
+
isPrimitive: ()=>isPrimitive,
|
|
37
42
|
isObject: ()=>isObject,
|
|
43
|
+
isUndefined: ()=>isUndefined,
|
|
38
44
|
isFunction: ()=>isFunction,
|
|
39
45
|
isArray: ()=>isArray,
|
|
40
46
|
isKnownUnsafeEditableEvent: ()=>isKnownUnsafeEditableEvent,
|
|
41
47
|
isString: ()=>isString,
|
|
48
|
+
noLikeValues: ()=>noLikeValues,
|
|
49
|
+
yesLikeValues: ()=>yesLikeValues,
|
|
50
|
+
isEvent: ()=>isEvent,
|
|
42
51
|
isFile: ()=>isFile,
|
|
43
|
-
|
|
52
|
+
isYesLike: ()=>isYesLike,
|
|
53
|
+
isFormData: ()=>isFormData,
|
|
54
|
+
isInstanceOf: ()=>isInstanceOf
|
|
44
55
|
});
|
|
45
56
|
const external_types_js_namespaceObject = require("../types.js");
|
|
46
57
|
const external_string_utils_js_namespaceObject = require("./string-utils.js");
|
|
@@ -70,43 +81,115 @@ const isNumber = (x)=>'[object Number]' == type_utils_toString.call(x);
|
|
|
70
81
|
const isBoolean = (x)=>'[object Boolean]' === type_utils_toString.call(x);
|
|
71
82
|
const isFormData = (x)=>x instanceof FormData;
|
|
72
83
|
const isFile = (x)=>x instanceof File;
|
|
73
|
-
const
|
|
84
|
+
const isPlainError = (x)=>x instanceof Error;
|
|
74
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 (e) {
|
|
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
|
+
}
|
|
120
|
+
const yesLikeValues = [
|
|
121
|
+
true,
|
|
122
|
+
'true',
|
|
123
|
+
1,
|
|
124
|
+
'1',
|
|
125
|
+
'yes'
|
|
126
|
+
];
|
|
127
|
+
const isYesLike = (val)=>(0, external_string_utils_js_namespaceObject.includes)(yesLikeValues, val);
|
|
128
|
+
const noLikeValues = [
|
|
129
|
+
false,
|
|
130
|
+
'false',
|
|
131
|
+
0,
|
|
132
|
+
'0',
|
|
133
|
+
'no'
|
|
134
|
+
];
|
|
135
|
+
const isNoLike = (val)=>(0, external_string_utils_js_namespaceObject.includes)(noLikeValues, val);
|
|
75
136
|
exports.hasOwnProperty = __webpack_exports__.hasOwnProperty;
|
|
76
137
|
exports.isArray = __webpack_exports__.isArray;
|
|
77
138
|
exports.isBoolean = __webpack_exports__.isBoolean;
|
|
139
|
+
exports.isBuiltin = __webpack_exports__.isBuiltin;
|
|
78
140
|
exports.isEmptyObject = __webpack_exports__.isEmptyObject;
|
|
79
141
|
exports.isEmptyString = __webpack_exports__.isEmptyString;
|
|
80
142
|
exports.isError = __webpack_exports__.isError;
|
|
143
|
+
exports.isErrorEvent = __webpack_exports__.isErrorEvent;
|
|
144
|
+
exports.isEvent = __webpack_exports__.isEvent;
|
|
81
145
|
exports.isFile = __webpack_exports__.isFile;
|
|
82
146
|
exports.isFormData = __webpack_exports__.isFormData;
|
|
83
147
|
exports.isFunction = __webpack_exports__.isFunction;
|
|
148
|
+
exports.isInstanceOf = __webpack_exports__.isInstanceOf;
|
|
84
149
|
exports.isKnownUnsafeEditableEvent = __webpack_exports__.isKnownUnsafeEditableEvent;
|
|
85
150
|
exports.isNativeFunction = __webpack_exports__.isNativeFunction;
|
|
151
|
+
exports.isNoLike = __webpack_exports__.isNoLike;
|
|
86
152
|
exports.isNull = __webpack_exports__.isNull;
|
|
87
153
|
exports.isNullish = __webpack_exports__.isNullish;
|
|
88
154
|
exports.isNumber = __webpack_exports__.isNumber;
|
|
89
155
|
exports.isObject = __webpack_exports__.isObject;
|
|
156
|
+
exports.isPlainError = __webpack_exports__.isPlainError;
|
|
157
|
+
exports.isPlainObject = __webpack_exports__.isPlainObject;
|
|
158
|
+
exports.isPrimitive = __webpack_exports__.isPrimitive;
|
|
90
159
|
exports.isString = __webpack_exports__.isString;
|
|
91
160
|
exports.isUndefined = __webpack_exports__.isUndefined;
|
|
161
|
+
exports.isYesLike = __webpack_exports__.isYesLike;
|
|
162
|
+
exports.noLikeValues = __webpack_exports__.noLikeValues;
|
|
163
|
+
exports.yesLikeValues = __webpack_exports__.yesLikeValues;
|
|
92
164
|
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
93
165
|
"hasOwnProperty",
|
|
94
166
|
"isArray",
|
|
95
167
|
"isBoolean",
|
|
168
|
+
"isBuiltin",
|
|
96
169
|
"isEmptyObject",
|
|
97
170
|
"isEmptyString",
|
|
98
171
|
"isError",
|
|
172
|
+
"isErrorEvent",
|
|
173
|
+
"isEvent",
|
|
99
174
|
"isFile",
|
|
100
175
|
"isFormData",
|
|
101
176
|
"isFunction",
|
|
177
|
+
"isInstanceOf",
|
|
102
178
|
"isKnownUnsafeEditableEvent",
|
|
103
179
|
"isNativeFunction",
|
|
180
|
+
"isNoLike",
|
|
104
181
|
"isNull",
|
|
105
182
|
"isNullish",
|
|
106
183
|
"isNumber",
|
|
107
184
|
"isObject",
|
|
185
|
+
"isPlainError",
|
|
186
|
+
"isPlainObject",
|
|
187
|
+
"isPrimitive",
|
|
108
188
|
"isString",
|
|
109
|
-
"isUndefined"
|
|
189
|
+
"isUndefined",
|
|
190
|
+
"isYesLike",
|
|
191
|
+
"noLikeValues",
|
|
192
|
+
"yesLikeValues"
|
|
110
193
|
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
111
194
|
Object.defineProperty(exports, '__esModule', {
|
|
112
195
|
value: true
|
|
@@ -26,6 +26,56 @@ 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
|
|
29
|
+
const isPlainError = (x)=>x instanceof Error;
|
|
30
30
|
const isKnownUnsafeEditableEvent = (x)=>includes(knownUnsafeEditableEvent, x);
|
|
31
|
-
|
|
31
|
+
function isInstanceOf(candidate, base) {
|
|
32
|
+
try {
|
|
33
|
+
return candidate instanceof base;
|
|
34
|
+
} catch (e) {
|
|
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
|
+
}
|
|
65
|
+
const yesLikeValues = [
|
|
66
|
+
true,
|
|
67
|
+
'true',
|
|
68
|
+
1,
|
|
69
|
+
'1',
|
|
70
|
+
'yes'
|
|
71
|
+
];
|
|
72
|
+
const isYesLike = (val)=>includes(yesLikeValues, val);
|
|
73
|
+
const noLikeValues = [
|
|
74
|
+
false,
|
|
75
|
+
'false',
|
|
76
|
+
0,
|
|
77
|
+
'0',
|
|
78
|
+
'no'
|
|
79
|
+
];
|
|
80
|
+
const isNoLike = (val)=>includes(noLikeValues, val);
|
|
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 };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@posthog/core",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -19,6 +19,11 @@
|
|
|
19
19
|
"require": "./dist/index.js",
|
|
20
20
|
"import": "./dist/index.mjs"
|
|
21
21
|
},
|
|
22
|
+
"./error-tracking": {
|
|
23
|
+
"types": "./dist/error-tracking/index.d.ts",
|
|
24
|
+
"require": "./dist/error-tracking/index.js",
|
|
25
|
+
"import": "./dist/error-tracking/index.mjs"
|
|
26
|
+
},
|
|
22
27
|
"./vendor/*": {
|
|
23
28
|
"types": "./dist/vendor/*.d.ts",
|
|
24
29
|
"require": "./dist/vendor/*.js",
|
|
@@ -42,8 +47,8 @@
|
|
|
42
47
|
},
|
|
43
48
|
"scripts": {
|
|
44
49
|
"clean": "rimraf dist",
|
|
45
|
-
"lint": "eslint src
|
|
46
|
-
"lint:fix": "eslint src
|
|
50
|
+
"lint": "eslint src",
|
|
51
|
+
"lint:fix": "eslint src --fix",
|
|
47
52
|
"build": "rslib build",
|
|
48
53
|
"dev": "rslib build -w",
|
|
49
54
|
"test:unit": "jest",
|