@launchdarkly/js-sdk-common 2.0.0 → 2.1.1
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/CHANGELOG.md +15 -0
- package/README.md +4 -0
- package/dist/api/platform/EventSource.d.ts +3 -5
- package/dist/api/platform/EventSource.d.ts.map +1 -1
- package/dist/api/platform/Platform.d.ts +6 -0
- package/dist/api/platform/Platform.d.ts.map +1 -1
- package/dist/api/platform/Requests.d.ts +5 -1
- package/dist/api/platform/Requests.d.ts.map +1 -1
- package/dist/api/platform/Storage.d.ts +6 -0
- package/dist/api/platform/Storage.d.ts.map +1 -0
- package/dist/api/platform/Storage.js +3 -0
- package/dist/api/platform/Storage.js.map +1 -0
- package/dist/api/platform/index.d.ts +1 -0
- package/dist/api/platform/index.d.ts.map +1 -1
- package/dist/api/platform/index.js +1 -0
- package/dist/api/platform/index.js.map +1 -1
- package/dist/errors.d.ts +14 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +21 -1
- package/dist/errors.js.map +1 -1
- package/dist/internal/events/EventProcessor.d.ts.map +1 -1
- package/dist/internal/events/EventProcessor.js +3 -1
- package/dist/internal/events/EventProcessor.js.map +1 -1
- package/dist/internal/events/EventSender.d.ts.map +1 -1
- package/dist/internal/events/EventSender.js +14 -5
- package/dist/internal/events/EventSender.js.map +1 -1
- package/dist/internal/events/LDInternalOptions.d.ts +16 -0
- package/dist/internal/events/LDInternalOptions.d.ts.map +1 -0
- package/dist/internal/events/LDInternalOptions.js +3 -0
- package/dist/internal/events/LDInternalOptions.js.map +1 -0
- package/dist/internal/events/index.d.ts +2 -1
- package/dist/internal/events/index.d.ts.map +1 -1
- package/dist/internal/events/index.js.map +1 -1
- package/dist/internal/stream/StreamingProcessor.d.ts +10 -0
- package/dist/internal/stream/StreamingProcessor.d.ts.map +1 -1
- package/dist/internal/stream/StreamingProcessor.js +25 -18
- package/dist/internal/stream/StreamingProcessor.js.map +1 -1
- package/dist/internal/stream/index.d.ts +3 -2
- package/dist/internal/stream/index.d.ts.map +1 -1
- package/dist/options/ServiceEndpoints.d.ts +14 -1
- package/dist/options/ServiceEndpoints.d.ts.map +1 -1
- package/dist/options/ServiceEndpoints.js +4 -1
- package/dist/options/ServiceEndpoints.js.map +1 -1
- package/dist/utils/clone.d.ts +1 -1
- package/dist/utils/clone.d.ts.map +1 -1
- package/dist/utils/clone.js.map +1 -1
- package/dist/utils/fast-deep-equal/index.d.ts +2 -0
- package/dist/utils/fast-deep-equal/index.d.ts.map +1 -0
- package/dist/utils/fast-deep-equal/index.js +90 -0
- package/dist/utils/fast-deep-equal/index.js.map +1 -0
- package/dist/utils/http.d.ts +15 -7
- package/dist/utils/http.d.ts.map +1 -1
- package/dist/utils/http.js +23 -3
- package/dist/utils/http.js.map +1 -1
- package/dist/utils/index.d.ts +3 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +5 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@launchdarkly/js-sdk-common` will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org).
|
|
4
4
|
|
|
5
|
+
## [2.1.1](https://github.com/launchdarkly/js-core/compare/js-sdk-common-v2.1.0...js-sdk-common-v2.1.1) (2024-01-16)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* remove type modifiers on imports for better TS compatibility ([#346](https://github.com/launchdarkly/js-core/issues/346)) ([3506349](https://github.com/launchdarkly/js-core/commit/3506349512f2288ba9bc2b2bd79d6ed38fd3684c))
|
|
11
|
+
* Treat 413 HTTP status as recoverable for events. ([#348](https://github.com/launchdarkly/js-core/issues/348)) ([4a6d4c3](https://github.com/launchdarkly/js-core/commit/4a6d4c3cae25e4993a798d0fd315b51ef607d727))
|
|
12
|
+
|
|
13
|
+
## [2.1.0](https://github.com/launchdarkly/js-core/compare/js-sdk-common-v2.0.0...js-sdk-common-v2.1.0) (2023-11-14)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* edge sdks should send events to bulk/environment endpoint ([#256](https://github.com/launchdarkly/js-core/issues/256)) ([f45910f](https://github.com/launchdarkly/js-core/commit/f45910f171d434ca080bb6486331fbfbd2793985))
|
|
19
|
+
|
|
5
20
|
## [2.0.0](https://github.com/launchdarkly/js-core/compare/js-sdk-common-v1.1.0...js-sdk-common-v2.0.0) (2023-10-16)
|
|
6
21
|
|
|
7
22
|
|
package/README.md
CHANGED
|
@@ -12,6 +12,10 @@ This library is a beta version and should not be considered ready for production
|
|
|
12
12
|
|
|
13
13
|
See [Contributing](../CONTRIBUTING.md).
|
|
14
14
|
|
|
15
|
+
## Verifying SDK build provenance with the SLSA framework
|
|
16
|
+
|
|
17
|
+
LaunchDarkly uses the [SLSA framework](https://slsa.dev/spec/v1.0/about) (Supply-chain Levels for Software Artifacts) to help developers make their supply chain more secure by ensuring the authenticity and build integrity of our published SDK packages. To learn more, see the [provenance guide](PROVENANCE.md).
|
|
18
|
+
|
|
15
19
|
## About LaunchDarkly
|
|
16
20
|
|
|
17
21
|
- LaunchDarkly is a continuous delivery platform that provides feature flags as a service and allows developers to iterate quickly and safely. We allow you to easily flag your features and manage them from the LaunchDarkly dashboard. With LaunchDarkly, you can:
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { HttpErrorResponse } from './Requests';
|
|
1
2
|
export type EventName = 'delete' | 'patch' | 'ping' | 'put';
|
|
2
3
|
export type EventListener = (event?: {
|
|
3
4
|
data?: any;
|
|
@@ -8,7 +9,7 @@ export type ProcessStreamResponse = {
|
|
|
8
9
|
};
|
|
9
10
|
export interface EventSource {
|
|
10
11
|
onclose: (() => void) | undefined;
|
|
11
|
-
onerror: (() => void) | undefined;
|
|
12
|
+
onerror: ((err?: HttpErrorResponse) => void) | undefined;
|
|
12
13
|
onopen: (() => void) | undefined;
|
|
13
14
|
onretrying: ((e: {
|
|
14
15
|
delayMillis: number;
|
|
@@ -17,10 +18,7 @@ export interface EventSource {
|
|
|
17
18
|
close(): void;
|
|
18
19
|
}
|
|
19
20
|
export interface EventSourceInitDict {
|
|
20
|
-
errorFilter: (err:
|
|
21
|
-
status: number;
|
|
22
|
-
message: string;
|
|
23
|
-
}) => boolean;
|
|
21
|
+
errorFilter: (err: HttpErrorResponse) => boolean;
|
|
24
22
|
headers: {
|
|
25
23
|
[key: string]: string | string[];
|
|
26
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventSource.d.ts","sourceRoot":"","sources":["../../../src/api/platform/EventSource.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,KAAK,IAAI,CAAC;AAC7D,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;IACvC,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,OAAO,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"EventSource.d.ts","sourceRoot":"","sources":["../../../src/api/platform/EventSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,KAAK,IAAI,CAAC;AAC7D,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;IACvC,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACzD,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACjC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAE/D,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IACjE,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC;IACjD,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;IAC9C,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,MAAM,CAAC;CAClC"}
|
|
@@ -3,6 +3,7 @@ import { Encoding } from './Encoding';
|
|
|
3
3
|
import { Filesystem } from './Filesystem';
|
|
4
4
|
import { Info } from './Info';
|
|
5
5
|
import { Requests } from './Requests';
|
|
6
|
+
import { Storage } from './Storage';
|
|
6
7
|
export interface Platform {
|
|
7
8
|
/**
|
|
8
9
|
* The interface for performing encoding operations.
|
|
@@ -26,5 +27,10 @@ export interface Platform {
|
|
|
26
27
|
* The interface for performing http/https requests.
|
|
27
28
|
*/
|
|
28
29
|
requests: Requests;
|
|
30
|
+
/**
|
|
31
|
+
* The interface for session specific storage object. If the platform does not
|
|
32
|
+
* support local storage access, this may be undefined.
|
|
33
|
+
*/
|
|
34
|
+
storage?: Storage;
|
|
29
35
|
}
|
|
30
36
|
//# sourceMappingURL=Platform.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Platform.d.ts","sourceRoot":"","sources":["../../../src/api/platform/Platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Platform.d.ts","sourceRoot":"","sources":["../../../src/api/platform/Platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,IAAI,EAAE,IAAI,CAAC;IAEX;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventSource, EventSourceInitDict } from './EventSource';
|
|
1
|
+
import type { EventSource, EventSourceInitDict } from './EventSource';
|
|
2
2
|
/**
|
|
3
3
|
* Interface for headers that are part of a fetch response.
|
|
4
4
|
*/
|
|
@@ -72,4 +72,8 @@ export interface Requests {
|
|
|
72
72
|
*/
|
|
73
73
|
usingProxyAuth?(): boolean;
|
|
74
74
|
}
|
|
75
|
+
export interface HttpErrorResponse {
|
|
76
|
+
message: string;
|
|
77
|
+
status?: number;
|
|
78
|
+
}
|
|
75
79
|
//# sourceMappingURL=Requests.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Requests.d.ts","sourceRoot":"","sources":["../../../src/api/platform/Requests.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Requests.d.ts","sourceRoot":"","sources":["../../../src/api/platform/Requests.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAOtE;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB;;;;;;OAMG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAEjC;;;;;;OAMG;IACH,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEzB;;;;;OAKG;IACH,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE3B;;;;;OAKG;IACH,OAAO,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtC;;;OAGG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAExB;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEzD,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,GAAG,WAAW,CAAC;IAEtF;;OAEG;IACH,UAAU,CAAC,IAAI,OAAO,CAAC;IAEvB;;OAEG;IACH,cAAc,CAAC,IAAI,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Storage.d.ts","sourceRoot":"","sources":["../../../src/api/platform/Storage.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Storage.js","sourceRoot":"","sources":["../../../src/api/platform/Storage.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/platform/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/platform/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC"}
|
|
@@ -21,4 +21,5 @@ __exportStar(require("./Info"), exports);
|
|
|
21
21
|
__exportStar(require("./Platform"), exports);
|
|
22
22
|
__exportStar(require("./Requests"), exports);
|
|
23
23
|
__exportStar(require("./EventSource"), exports);
|
|
24
|
+
__exportStar(require("./Storage"), exports);
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/platform/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,2CAAyB;AACzB,+CAA6B;AAC7B,yCAAuB;AACvB,6CAA2B;AAC3B,6CAA2B;AAC3B,gDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/platform/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,2CAAyB;AACzB,+CAA6B;AAC7B,yCAAuB;AACvB,6CAA2B;AAC3B,6CAA2B;AAC3B,gDAA8B;AAC9B,4CAA0B"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -15,5 +15,19 @@ export declare class LDUnexpectedResponseError extends Error {
|
|
|
15
15
|
export declare class LDClientError extends Error {
|
|
16
16
|
constructor(message: string);
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Check if the HTTP error is recoverable. This will return false if a request
|
|
20
|
+
* made with any payload could not recover. If the reason for the failure
|
|
21
|
+
* is payload specific, for instance a payload that is too large, then
|
|
22
|
+
* it could recover with a different payload.
|
|
23
|
+
*/
|
|
18
24
|
export declare function isHttpRecoverable(status: number): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Returns true if the status could recover for a different payload.
|
|
27
|
+
*
|
|
28
|
+
* When used with event processing this indicates that we should discard
|
|
29
|
+
* the payload, but that a subsequent payload may succeed. Therefore we should
|
|
30
|
+
* not stop event processing.
|
|
31
|
+
*/
|
|
32
|
+
export declare function isHttpLocallyRecoverable(status: number): boolean;
|
|
19
33
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAIA,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEpB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAK7C;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;gBAElB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAK3C;AAED,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,WAK/C"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAIA,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEpB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAK7C;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;gBAElB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAK3C;AAED,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,WAK/C;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,WAKtD"}
|
package/dist/errors.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// more complex, then they could be independent files.
|
|
4
4
|
/* eslint-disable max-classes-per-file */
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.isHttpRecoverable = exports.LDClientError = exports.LDUnexpectedResponseError = exports.LDStreamingError = exports.LDPollingError = exports.LDFileDataSourceError = void 0;
|
|
6
|
+
exports.isHttpLocallyRecoverable = exports.isHttpRecoverable = exports.LDClientError = exports.LDUnexpectedResponseError = exports.LDStreamingError = exports.LDPollingError = exports.LDFileDataSourceError = void 0;
|
|
7
7
|
class LDFileDataSourceError extends Error {
|
|
8
8
|
constructor(message) {
|
|
9
9
|
super(message);
|
|
@@ -41,6 +41,12 @@ class LDClientError extends Error {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
exports.LDClientError = LDClientError;
|
|
44
|
+
/**
|
|
45
|
+
* Check if the HTTP error is recoverable. This will return false if a request
|
|
46
|
+
* made with any payload could not recover. If the reason for the failure
|
|
47
|
+
* is payload specific, for instance a payload that is too large, then
|
|
48
|
+
* it could recover with a different payload.
|
|
49
|
+
*/
|
|
44
50
|
function isHttpRecoverable(status) {
|
|
45
51
|
if (status >= 400 && status < 500) {
|
|
46
52
|
return status === 400 || status === 408 || status === 429;
|
|
@@ -48,4 +54,18 @@ function isHttpRecoverable(status) {
|
|
|
48
54
|
return true;
|
|
49
55
|
}
|
|
50
56
|
exports.isHttpRecoverable = isHttpRecoverable;
|
|
57
|
+
/**
|
|
58
|
+
* Returns true if the status could recover for a different payload.
|
|
59
|
+
*
|
|
60
|
+
* When used with event processing this indicates that we should discard
|
|
61
|
+
* the payload, but that a subsequent payload may succeed. Therefore we should
|
|
62
|
+
* not stop event processing.
|
|
63
|
+
*/
|
|
64
|
+
function isHttpLocallyRecoverable(status) {
|
|
65
|
+
if (status === 413) {
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
return isHttpRecoverable(status);
|
|
69
|
+
}
|
|
70
|
+
exports.isHttpLocallyRecoverable = isHttpLocallyRecoverable;
|
|
51
71
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";AAAA,0DAA0D;AAC1D,sDAAsD;AACtD,yCAAyC;;;AAEzC,MAAa,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AALD,sDAKC;AAED,MAAa,cAAe,SAAQ,KAAK;IAGvC,YAAY,OAAe,EAAE,MAAe;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AARD,wCAQC;AAED,MAAa,gBAAiB,SAAQ,KAAK;IAGzC,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AARD,4CAQC;AAED,MAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qCAAqC,CAAC;IACpD,CAAC;CACF;AALD,8DAKC;AAED,MAAa,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AALD,sCAKC;AAED,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE;QACjC,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;KAC3D;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AALD,8CAKC"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";AAAA,0DAA0D;AAC1D,sDAAsD;AACtD,yCAAyC;;;AAEzC,MAAa,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AALD,sDAKC;AAED,MAAa,cAAe,SAAQ,KAAK;IAGvC,YAAY,OAAe,EAAE,MAAe;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AARD,wCAQC;AAED,MAAa,gBAAiB,SAAQ,KAAK;IAGzC,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AARD,4CAQC;AAED,MAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qCAAqC,CAAC;IACpD,CAAC;CACF;AALD,8DAKC;AAED,MAAa,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AALD,sCAKC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE;QACjC,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;KAC3D;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AALD,8CAKC;AAED;;;;;;GAMG;AACH,SAAgB,wBAAwB,CAAC,MAAc;IACrD,IAAI,MAAM,KAAK,GAAG,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;IACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AALD,4DAKC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventProcessor.d.ts","sourceRoot":"","sources":["../../../src/internal/events/EventProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAC9E,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAIpD,OAAO,UAAU,MAAM,cAAc,CAAC;AAkEtC,MAAM,WAAW,qBAAqB;IACpC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,CAAC,OAAO,OAAO,cAAe,YAAW,gBAAgB;IAuB3D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAvBtC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAAW;IAC1B,OAAO,CAAC,aAAa,CAAgB;IAIrC,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,eAAe,CAAa;gBAGlC,MAAM,EAAE,qBAAqB,EAC7B,aAAa,EAAE,aAAa,EACX,mBAAmB,CAAC,mCAAuB,EAC3C,kBAAkB,CAAC,gCAAoB;IA6C1D,OAAO,CAAC,mBAAmB;IAI3B,KAAK;IAUC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"EventProcessor.d.ts","sourceRoot":"","sources":["../../../src/internal/events/EventProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAC9E,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAIpD,OAAO,UAAU,MAAM,cAAc,CAAC;AAkEtC,MAAM,WAAW,qBAAqB;IACpC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,CAAC,OAAO,OAAO,cAAe,YAAW,gBAAgB;IAuB3D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAvBtC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAAW;IAC1B,OAAO,CAAC,aAAa,CAAgB;IAIrC,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,eAAe,CAAa;gBAGlC,MAAM,EAAE,qBAAqB,EAC7B,aAAa,EAAE,aAAa,EACX,mBAAmB,CAAC,mCAAuB,EAC3C,kBAAkB,CAAC,gCAAoB;IA6C1D,OAAO,CAAC,mBAAmB;IAI3B,KAAK;IAUC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B5B,SAAS,CAAC,UAAU,EAAE,UAAU;IA8DhC,OAAO,CAAC,eAAe;IAuEvB,OAAO,CAAC,OAAO;IAef,OAAO,CAAC,gBAAgB;YASV,gBAAgB;CAc/B"}
|
|
@@ -68,7 +68,9 @@ class EventProcessor {
|
|
|
68
68
|
async flush() {
|
|
69
69
|
var _a;
|
|
70
70
|
if (this.shutdown) {
|
|
71
|
-
throw new LDInvalidSDKKeyError_1.default('Events cannot be posted because
|
|
71
|
+
throw new LDInvalidSDKKeyError_1.default('Events cannot be posted because a permanent error has been encountered. ' +
|
|
72
|
+
'This is most likely an invalid SDK key. The specific error information ' +
|
|
73
|
+
'is logged independently.');
|
|
72
74
|
}
|
|
73
75
|
const eventsToFlush = this.queue;
|
|
74
76
|
this.queue = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventProcessor.js","sourceRoot":"","sources":["../../../src/internal/events/EventProcessor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"EventProcessor.js","sourceRoot":"","sources":["../../../src/internal/events/EventProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventSender.d.ts","sourceRoot":"","sources":["../../../src/internal/events/EventSender.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,aAAa,EACb,mBAAmB,EACnB,WAAW,EACZ,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"EventSender.d.ts","sourceRoot":"","sources":["../../../src/internal/events/EventSender.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,aAAa,EACb,mBAAmB,EACnB,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG9C,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,aAAa;IACvD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAEpB;IACF,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAW;gBAEf,aAAa,EAAE,aAAa;YAqB1B,gBAAgB;IAsExB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAMhF"}
|
|
@@ -6,11 +6,11 @@ const utils_1 = require("../../utils");
|
|
|
6
6
|
class EventSender {
|
|
7
7
|
constructor(clientContext) {
|
|
8
8
|
const { basicConfiguration, platform } = clientContext;
|
|
9
|
-
const { sdkKey, serviceEndpoints, tags } = basicConfiguration;
|
|
9
|
+
const { sdkKey, serviceEndpoints: { events, analyticsEventPath, diagnosticEventPath, includeAuthorizationHeader, }, tags, } = basicConfiguration;
|
|
10
10
|
const { crypto, info, requests } = platform;
|
|
11
|
-
this.defaultHeaders = (0, utils_1.defaultHeaders)(sdkKey, info, tags);
|
|
12
|
-
this.eventsUri = `${
|
|
13
|
-
this.diagnosticEventsUri = `${
|
|
11
|
+
this.defaultHeaders = (0, utils_1.defaultHeaders)(sdkKey, info, tags, includeAuthorizationHeader);
|
|
12
|
+
this.eventsUri = `${events}${analyticsEventPath}`;
|
|
13
|
+
this.diagnosticEventsUri = `${events}${diagnosticEventPath}`;
|
|
14
14
|
this.requests = requests;
|
|
15
15
|
this.crypto = crypto;
|
|
16
16
|
}
|
|
@@ -39,7 +39,16 @@ class EventSender {
|
|
|
39
39
|
}
|
|
40
40
|
error = new errors_1.LDUnexpectedResponseError((0, utils_1.httpErrorMessage)({ status, message: 'some events were dropped' }, 'event posting'));
|
|
41
41
|
if (!(0, errors_1.isHttpRecoverable)(status)) {
|
|
42
|
-
|
|
42
|
+
// If the HTTP request isn't recoverable. Meaning if we made the same request it
|
|
43
|
+
// would not recover, then we check if a different request could recover.
|
|
44
|
+
// If a different request could not recover, then we shutdown. If a different request could
|
|
45
|
+
// recover, then we just don't retry this specific request.
|
|
46
|
+
if (!(0, errors_1.isHttpLocallyRecoverable)(status)) {
|
|
47
|
+
tryRes.status = subsystem_1.LDDeliveryStatus.FailedAndMustShutDown;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
tryRes.status = subsystem_1.LDDeliveryStatus.Failed;
|
|
51
|
+
}
|
|
43
52
|
tryRes.error = error;
|
|
44
53
|
return tryRes;
|
|
45
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventSender.js","sourceRoot":"","sources":["../../../src/internal/events/EventSender.ts"],"names":[],"mappings":";;AACA,mDAK6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"EventSender.js","sourceRoot":"","sources":["../../../src/internal/events/EventSender.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This is for internal use only.
|
|
3
|
+
*
|
|
4
|
+
* Edge sdks use clientSideID to query feature stores. They also send analytics
|
|
5
|
+
* using this clientSideID. This is a hybrid behavior because they are based
|
|
6
|
+
* on js-server-common, but uses the clientSideID instead of the sdkKey for the
|
|
7
|
+
* above reasons. These internal options allow the edge sdks to use the
|
|
8
|
+
* EventSender to send analytics to the correct LD endpoints using
|
|
9
|
+
* the clientSideId.
|
|
10
|
+
*/
|
|
11
|
+
export type LDInternalOptions = {
|
|
12
|
+
analyticsEventPath?: string;
|
|
13
|
+
diagnosticEventPath?: string;
|
|
14
|
+
includeAuthorizationHeader?: boolean;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=LDInternalOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LDInternalOptions.d.ts","sourceRoot":"","sources":["../../../src/internal/events/LDInternalOptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LDInternalOptions.js","sourceRoot":"","sources":["../../../src/internal/events/LDInternalOptions.ts"],"names":[],"mappings":""}
|
|
@@ -5,7 +5,8 @@ import InputEvalEvent from './InputEvalEvent';
|
|
|
5
5
|
import InputEvent from './InputEvent';
|
|
6
6
|
import InputIdentifyEvent from './InputIdentifyEvent';
|
|
7
7
|
import InputMigrationEvent from './InputMigrationEvent';
|
|
8
|
+
import type { LDInternalOptions } from './LDInternalOptions';
|
|
8
9
|
import NullEventProcessor from './NullEventProcessor';
|
|
9
10
|
import shouldSample from './sampling';
|
|
10
|
-
export { ClientMessages, InputCustomEvent, InputEvalEvent, InputEvent, InputIdentifyEvent, InputMigrationEvent, EventProcessor, shouldSample, NullEventProcessor, };
|
|
11
|
+
export { ClientMessages, InputCustomEvent, InputEvalEvent, InputEvent, InputIdentifyEvent, InputMigrationEvent, EventProcessor, shouldSample, NullEventProcessor, LDInternalOptions, };
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,YAAY,MAAM,YAAY,CAAC;AAEtC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,YAAY,MAAM,YAAY,CAAC;AAEtC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,GAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/events/index.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/events/index.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAY5C,yBAZK,wBAAc,CAYL;AAXhB,qDAA8C;AAiB5C,yBAjBK,wBAAc,CAiBL;AAhBhB,yDAAkD;AAWhD,2BAXK,0BAAgB,CAWL;AAVlB,qDAA8C;AAW5C,yBAXK,wBAAc,CAWL;AAThB,6DAAsD;AAWpD,6BAXK,4BAAkB,CAWL;AARpB,6DAAsD;AAYpD,6BAZK,4BAAkB,CAYL;AAXpB,yCAAsC;AAUpC,uBAVK,kBAAY,CAUL"}
|
|
@@ -17,6 +17,16 @@ declare class StreamingProcessor implements LDStreamProcessor {
|
|
|
17
17
|
constructor(sdkKey: string, clientContext: ClientContext, streamUriPath: string, listeners: Map<EventName, ProcessStreamResponse>, diagnosticsManager?: DiagnosticsManager | undefined, errorHandler?: StreamingErrorHandler | undefined, streamInitialReconnectDelay?: number);
|
|
18
18
|
private logConnectionStarted;
|
|
19
19
|
private logConnectionResult;
|
|
20
|
+
/**
|
|
21
|
+
* This is a wrapper around the passed errorHandler which adds additional
|
|
22
|
+
* diagnostics and logging logic.
|
|
23
|
+
*
|
|
24
|
+
* @param err The error to be logged and handled.
|
|
25
|
+
* @return boolean whether to retry the connection.
|
|
26
|
+
*
|
|
27
|
+
* @private
|
|
28
|
+
*/
|
|
29
|
+
private retryAndHandleError;
|
|
20
30
|
start(): void;
|
|
21
31
|
stop(): void;
|
|
22
32
|
close(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamingProcessor.d.ts","sourceRoot":"","sources":["../../../src/internal/stream/StreamingProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"StreamingProcessor.d.ts","sourceRoot":"","sources":["../../../src/internal/stream/StreamingProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAIT,qBAAqB,EAEtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAahD,cAAM,kBAAmB,YAAW,iBAAiB;IAajD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,2BAA2B;IAf9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAW;IAEnC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,0BAA0B,CAAC,CAAS;gBAG1C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,EACJ,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAChD,kBAAkB,CAAC,gCAAoB,EACvC,YAAY,CAAC,mCAAuB,EACpC,2BAA2B,SAAI;IAYlD,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,mBAAmB;IAY3B;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAc3B,KAAK;IAkDL,IAAI;IAKJ,KAAK;CAGN;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const errors_1 = require("../../errors");
|
|
4
4
|
const utils_1 = require("../../utils");
|
|
5
|
-
const STREAM_READ_TIMEOUT_MS = 5 * 60 * 1000;
|
|
6
|
-
const RETRY_RESET_INTERVAL_MS = 60 * 1000;
|
|
7
5
|
const reportJsonError = (type, data, logger, errorHandler) => {
|
|
8
6
|
logger === null || logger === void 0 ? void 0 : logger.error(`Stream received invalid data in "${type}" message`);
|
|
9
7
|
logger === null || logger === void 0 ? void 0 : logger.debug(`Invalid JSON follows: ${data}`);
|
|
@@ -32,28 +30,37 @@ class StreamingProcessor {
|
|
|
32
30
|
}
|
|
33
31
|
this.connectionAttemptStartTime = undefined;
|
|
34
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* This is a wrapper around the passed errorHandler which adds additional
|
|
35
|
+
* diagnostics and logging logic.
|
|
36
|
+
*
|
|
37
|
+
* @param err The error to be logged and handled.
|
|
38
|
+
* @return boolean whether to retry the connection.
|
|
39
|
+
*
|
|
40
|
+
* @private
|
|
41
|
+
*/
|
|
42
|
+
retryAndHandleError(err) {
|
|
43
|
+
var _a, _b, _c;
|
|
44
|
+
if (!(0, utils_1.shouldRetry)(err)) {
|
|
45
|
+
this.logConnectionResult(false);
|
|
46
|
+
(_a = this.errorHandler) === null || _a === void 0 ? void 0 : _a.call(this, new errors_1.LDStreamingError(err.message, err.status));
|
|
47
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.error((0, utils_1.httpErrorMessage)(err, 'streaming request'));
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
(_c = this.logger) === null || _c === void 0 ? void 0 : _c.warn((0, utils_1.httpErrorMessage)(err, 'streaming request', 'will retry'));
|
|
51
|
+
this.logConnectionResult(false);
|
|
52
|
+
this.logConnectionStarted();
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
35
55
|
start() {
|
|
36
56
|
this.logConnectionStarted();
|
|
37
|
-
const errorFilter = (err) => {
|
|
38
|
-
var _a, _b, _c;
|
|
39
|
-
if (err.status && !(0, errors_1.isHttpRecoverable)(err.status)) {
|
|
40
|
-
this.logConnectionResult(false);
|
|
41
|
-
(_a = this.errorHandler) === null || _a === void 0 ? void 0 : _a.call(this, new errors_1.LDStreamingError(err.message, err.status));
|
|
42
|
-
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.error((0, utils_1.httpErrorMessage)(err, 'streaming request'));
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
(_c = this.logger) === null || _c === void 0 ? void 0 : _c.warn((0, utils_1.httpErrorMessage)(err, 'streaming request', 'will retry'));
|
|
46
|
-
this.logConnectionResult(false);
|
|
47
|
-
this.logConnectionStarted();
|
|
48
|
-
return true;
|
|
49
|
-
};
|
|
50
57
|
// TLS is handled by the platform implementation.
|
|
51
58
|
const eventSource = this.requests.createEventSource(this.streamUri, {
|
|
52
59
|
headers: this.headers,
|
|
53
|
-
errorFilter,
|
|
60
|
+
errorFilter: (error) => this.retryAndHandleError(error),
|
|
54
61
|
initialRetryDelayMillis: 1000 * this.streamInitialReconnectDelay,
|
|
55
|
-
readTimeoutMillis:
|
|
56
|
-
retryResetIntervalMillis:
|
|
62
|
+
readTimeoutMillis: 5 * 60 * 1000,
|
|
63
|
+
retryResetIntervalMillis: 60 * 1000,
|
|
57
64
|
});
|
|
58
65
|
this.eventSource = eventSource;
|
|
59
66
|
eventSource.onclose = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamingProcessor.js","sourceRoot":"","sources":["../../../src/internal/stream/StreamingProcessor.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"StreamingProcessor.js","sourceRoot":"","sources":["../../../src/internal/stream/StreamingProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import StreamingProcessor from './StreamingProcessor';
|
|
2
|
-
import {
|
|
3
|
-
export { StreamingProcessor
|
|
2
|
+
import type { StreamingErrorHandler } from './types';
|
|
3
|
+
export { StreamingProcessor };
|
|
4
|
+
export type { StreamingErrorHandler };
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/stream/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/stream/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -6,6 +6,19 @@ export default class ServiceEndpoints {
|
|
|
6
6
|
readonly streaming: string;
|
|
7
7
|
readonly polling: string;
|
|
8
8
|
readonly events: string;
|
|
9
|
-
|
|
9
|
+
/** Valid paths are:
|
|
10
|
+
* /bulk
|
|
11
|
+
* /events/bulk/envId
|
|
12
|
+
* /mobile
|
|
13
|
+
*/
|
|
14
|
+
readonly analyticsEventPath: string;
|
|
15
|
+
/** Valid paths are:
|
|
16
|
+
* /diagnostic
|
|
17
|
+
* /events/diagnostic/envId
|
|
18
|
+
* /mobile/events/diagnostic
|
|
19
|
+
*/
|
|
20
|
+
readonly diagnosticEventPath: string;
|
|
21
|
+
readonly includeAuthorizationHeader: boolean;
|
|
22
|
+
constructor(streaming: string, polling: string, events?: string, analyticsEventPath?: string, diagnosticEventPath?: string, includeAuthorizationHeader?: boolean);
|
|
10
23
|
}
|
|
11
24
|
//# sourceMappingURL=ServiceEndpoints.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceEndpoints.d.ts","sourceRoot":"","sources":["../../src/options/ServiceEndpoints.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,OAAc,cAAc,SAAqC;IAEjE,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ServiceEndpoints.d.ts","sourceRoot":"","sources":["../../src/options/ServiceEndpoints.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,OAAc,cAAc,SAAqC;IAEjE,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B;;;;OAIG;IACH,SAAgB,kBAAkB,EAAE,MAAM,CAAC;IAE3C;;;;OAIG;IACH,SAAgB,mBAAmB,EAAE,MAAM,CAAC;IAG5C,SAAgB,0BAA0B,EAAE,OAAO,CAAC;gBAGlD,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,MAAwC,EAChD,kBAAkB,GAAE,MAAgB,EACpC,mBAAmB,GAAE,MAAsB,EAC3C,0BAA0B,GAAE,OAAc;CAS7C"}
|
|
@@ -7,10 +7,13 @@ function canonicalizeUri(uri) {
|
|
|
7
7
|
* Specifies the base service URIs used by SDK components.
|
|
8
8
|
*/
|
|
9
9
|
class ServiceEndpoints {
|
|
10
|
-
constructor(streaming, polling, events = ServiceEndpoints.DEFAULT_EVENTS) {
|
|
10
|
+
constructor(streaming, polling, events = ServiceEndpoints.DEFAULT_EVENTS, analyticsEventPath = '/bulk', diagnosticEventPath = '/diagnostic', includeAuthorizationHeader = true) {
|
|
11
11
|
this.streaming = canonicalizeUri(streaming);
|
|
12
12
|
this.polling = canonicalizeUri(polling);
|
|
13
13
|
this.events = canonicalizeUri(events);
|
|
14
|
+
this.analyticsEventPath = analyticsEventPath;
|
|
15
|
+
this.diagnosticEventPath = diagnosticEventPath;
|
|
16
|
+
this.includeAuthorizationHeader = includeAuthorizationHeader;
|
|
14
17
|
}
|
|
15
18
|
}
|
|
16
19
|
ServiceEndpoints.DEFAULT_EVENTS = 'https://events.launchdarkly.com';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceEndpoints.js","sourceRoot":"","sources":["../../src/options/ServiceEndpoints.ts"],"names":[],"mappings":";;AAAA,SAAS,eAAe,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAqB,gBAAgB;
|
|
1
|
+
{"version":3,"file":"ServiceEndpoints.js","sourceRoot":"","sources":["../../src/options/ServiceEndpoints.ts"],"names":[],"mappings":";;AAAA,SAAS,eAAe,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAqB,gBAAgB;IAwBnC,YACE,SAAiB,EACjB,OAAe,EACf,SAAiB,gBAAgB,CAAC,cAAc,EAChD,qBAA6B,OAAO,EACpC,sBAA8B,aAAa,EAC3C,6BAAsC,IAAI;QAE1C,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,0BAA0B,GAAG,0BAA0B,CAAC;IAC/D,CAAC;;AArCa,+BAAc,GAAG,iCAAiC,CAAC;kBAD9C,gBAAgB"}
|
package/dist/utils/clone.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export default function clone(obj: any):
|
|
1
|
+
export default function clone<T>(obj: any): T;
|
|
2
2
|
//# sourceMappingURL=clone.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../src/utils/clone.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,GAAG,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../src/utils/clone.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,KAExC"}
|
package/dist/utils/clone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clone.js","sourceRoot":"","sources":["../../src/utils/clone.ts"],"names":[],"mappings":";;AAAA,SAAwB,KAAK,
|
|
1
|
+
{"version":3,"file":"clone.js","sourceRoot":"","sources":["../../src/utils/clone.ts"],"names":[],"mappings":";;AAAA,SAAwB,KAAK,CAAI,GAAQ;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAM,CAAC;AAC9C,CAAC;AAFD,wBAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/fast-deep-equal/index.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,WAsEnD"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
// Ripped from https://github.com/epoberezkin/fast-deep-fastDeepEqual
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
// {{? it.es6 }}
|
|
6
|
+
// var envHasBigInt64Array = typeof BigInt64Array !== 'undefined';
|
|
7
|
+
// {{?}}
|
|
8
|
+
function fastDeepEqual(a, b) {
|
|
9
|
+
if (a === b)
|
|
10
|
+
return true;
|
|
11
|
+
if (a && b && typeof a == 'object' && typeof b == 'object') {
|
|
12
|
+
if (a.constructor !== b.constructor)
|
|
13
|
+
return false;
|
|
14
|
+
var length, i, keys;
|
|
15
|
+
if (Array.isArray(a)) {
|
|
16
|
+
length = a.length;
|
|
17
|
+
if (length != b.length)
|
|
18
|
+
return false;
|
|
19
|
+
for (i = length; i-- !== 0;)
|
|
20
|
+
if (!fastDeepEqual(a[i], b[i]))
|
|
21
|
+
return false;
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
// {{? it.es6 }}
|
|
25
|
+
if (a instanceof Map && b instanceof Map) {
|
|
26
|
+
if (a.size !== b.size)
|
|
27
|
+
return false;
|
|
28
|
+
for (i of a.entries())
|
|
29
|
+
if (!b.has(i[0]))
|
|
30
|
+
return false;
|
|
31
|
+
for (i of a.entries())
|
|
32
|
+
if (!fastDeepEqual(i[1], b.get(i[0])))
|
|
33
|
+
return false;
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
if (a instanceof Set && b instanceof Set) {
|
|
37
|
+
if (a.size !== b.size)
|
|
38
|
+
return false;
|
|
39
|
+
for (i of a.entries())
|
|
40
|
+
if (!b.has(i[0]))
|
|
41
|
+
return false;
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {
|
|
45
|
+
// @ts-ignore
|
|
46
|
+
length = a.length;
|
|
47
|
+
// @ts-ignore
|
|
48
|
+
if (length != b.length)
|
|
49
|
+
return false;
|
|
50
|
+
for (i = length; i-- !== 0;) {
|
|
51
|
+
// @ts-ignore
|
|
52
|
+
if (a[i] !== b[i])
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
// {{?}}
|
|
58
|
+
if (a.constructor === RegExp)
|
|
59
|
+
return a.source === b.source && a.flags === b.flags;
|
|
60
|
+
if (a.valueOf !== Object.prototype.valueOf)
|
|
61
|
+
return a.valueOf() === b.valueOf();
|
|
62
|
+
if (a.toString !== Object.prototype.toString)
|
|
63
|
+
return a.toString() === b.toString();
|
|
64
|
+
keys = Object.keys(a);
|
|
65
|
+
length = keys.length;
|
|
66
|
+
if (length !== Object.keys(b).length)
|
|
67
|
+
return false;
|
|
68
|
+
for (i = length; i-- !== 0;)
|
|
69
|
+
if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
|
|
70
|
+
return false;
|
|
71
|
+
for (i = length; i-- !== 0;) {
|
|
72
|
+
var key = keys[i];
|
|
73
|
+
// {{? it.react }}
|
|
74
|
+
// if (key === '_owner' && a.$$typeof) {
|
|
75
|
+
// // React-specific: avoid traversing React elements' _owner.
|
|
76
|
+
// // _owner contains circular references
|
|
77
|
+
// // and is not needed when comparing the actual elements (and not their owners)
|
|
78
|
+
// continue;
|
|
79
|
+
// }
|
|
80
|
+
// {{?}}
|
|
81
|
+
if (!fastDeepEqual(a[key], b[key]))
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
// true if both NaN, false otherwise
|
|
87
|
+
return a !== a && b !== b;
|
|
88
|
+
}
|
|
89
|
+
exports.default = fastDeepEqual;
|
|
90
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/fast-deep-equal/index.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/http.d.ts
CHANGED
|
@@ -1,14 +1,22 @@
|
|
|
1
|
-
import { Info } from '../api';
|
|
1
|
+
import { Encoding, HttpErrorResponse, Info } from '../api';
|
|
2
2
|
import { ApplicationTags } from '../options';
|
|
3
3
|
export type LDHeaders = {
|
|
4
|
-
authorization
|
|
4
|
+
authorization?: string;
|
|
5
5
|
'user-agent': string;
|
|
6
6
|
'x-launchdarkly-wrapper'?: string;
|
|
7
7
|
'x-launchdarkly-tags'?: string;
|
|
8
8
|
};
|
|
9
|
-
export declare function defaultHeaders(sdkKey: string, info: Info, tags?: ApplicationTags): LDHeaders;
|
|
10
|
-
export declare function httpErrorMessage(err:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
export declare function defaultHeaders(sdkKey: string, info: Info, tags?: ApplicationTags, includeAuthorizationHeader?: boolean): LDHeaders;
|
|
10
|
+
export declare function httpErrorMessage(err: HttpErrorResponse, context: string, retryMessage?: string): string;
|
|
11
|
+
export declare function shouldRetry({ status }: HttpErrorResponse): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* In react-native use base64-js to polyfill btoa. This is safe
|
|
14
|
+
* because the react-native repo uses it too. Set the global.btoa to the encode
|
|
15
|
+
* function of base64-js.
|
|
16
|
+
* https://github.com/beatgammit/base64-js
|
|
17
|
+
* https://github.com/axios/axios/issues/2235#issuecomment-512204616
|
|
18
|
+
*
|
|
19
|
+
* Ripped from https://thewoods.blog/base64url/
|
|
20
|
+
*/
|
|
21
|
+
export declare const base64UrlEncode: (s: string, encoding: Encoding) => string;
|
|
14
22
|
//# sourceMappingURL=http.d.ts.map
|
package/dist/utils/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,SAAS,GAAG;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,IAAI,CAAC,EAAE,eAAe,EACtB,0BAA0B,GAAE,OAAc,GACzC,SAAS,CAwBX;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CASR;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,iBAAiB,WAExD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,MAAO,MAAM,YAAY,QAAQ,KAAG,MACa,CAAC"}
|
package/dist/utils/http.js
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.httpErrorMessage = exports.defaultHeaders = void 0;
|
|
4
|
-
|
|
3
|
+
exports.base64UrlEncode = exports.shouldRetry = exports.httpErrorMessage = exports.defaultHeaders = void 0;
|
|
4
|
+
const errors_1 = require("../errors");
|
|
5
|
+
function defaultHeaders(sdkKey, info, tags, includeAuthorizationHeader = true) {
|
|
5
6
|
const { userAgentBase, version, wrapperName, wrapperVersion } = info.sdkData();
|
|
6
7
|
const headers = {
|
|
7
|
-
authorization: sdkKey,
|
|
8
8
|
'user-agent': `${userAgentBase !== null && userAgentBase !== void 0 ? userAgentBase : 'NodeJSClient'}/${version}`,
|
|
9
9
|
};
|
|
10
|
+
// edge sdks sets this to false because they use the clientSideID
|
|
11
|
+
// and they don't need the authorization header
|
|
12
|
+
if (includeAuthorizationHeader) {
|
|
13
|
+
headers.authorization = sdkKey;
|
|
14
|
+
}
|
|
10
15
|
if (wrapperName) {
|
|
11
16
|
headers['x-launchdarkly-wrapper'] = wrapperVersion
|
|
12
17
|
? `${wrapperName}/${wrapperVersion}`
|
|
@@ -30,4 +35,19 @@ function httpErrorMessage(err, context, retryMessage) {
|
|
|
30
35
|
return `Received ${desc} for ${context} - ${action}`;
|
|
31
36
|
}
|
|
32
37
|
exports.httpErrorMessage = httpErrorMessage;
|
|
38
|
+
function shouldRetry({ status }) {
|
|
39
|
+
return status ? (0, errors_1.isHttpRecoverable)(status) : true;
|
|
40
|
+
}
|
|
41
|
+
exports.shouldRetry = shouldRetry;
|
|
42
|
+
/**
|
|
43
|
+
* In react-native use base64-js to polyfill btoa. This is safe
|
|
44
|
+
* because the react-native repo uses it too. Set the global.btoa to the encode
|
|
45
|
+
* function of base64-js.
|
|
46
|
+
* https://github.com/beatgammit/base64-js
|
|
47
|
+
* https://github.com/axios/axios/issues/2235#issuecomment-512204616
|
|
48
|
+
*
|
|
49
|
+
* Ripped from https://thewoods.blog/base64url/
|
|
50
|
+
*/
|
|
51
|
+
const base64UrlEncode = (s, encoding) => encoding.btoa(s).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
52
|
+
exports.base64UrlEncode = base64UrlEncode;
|
|
33
53
|
//# sourceMappingURL=http.js.map
|
package/dist/utils/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":";;;AACA,sCAA8C;AAU9C,SAAgB,cAAc,CAC5B,MAAc,EACd,IAAU,EACV,IAAsB,EACtB,6BAAsC,IAAI;IAE1C,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAE/E,MAAM,OAAO,GAAc;QACzB,YAAY,EAAE,GAAG,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,cAAc,IAAI,OAAO,EAAE;KAC9D,CAAC;IAEF,iEAAiE;IACjE,+CAA+C;IAC/C,IAAI,0BAA0B,EAAE;QAC9B,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;KAChC;IAED,IAAI,WAAW,EAAE;QACf,OAAO,CAAC,wBAAwB,CAAC,GAAG,cAAc;YAChD,CAAC,CAAC,GAAG,WAAW,IAAI,cAAc,EAAE;YACpC,CAAC,CAAC,WAAW,CAAC;KACjB;IAED,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE;QACf,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;KAC7C;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AA7BD,wCA6BC;AAED,SAAgB,gBAAgB,CAC9B,GAAsB,EACtB,OAAe,EACf,YAAqB;IAErB,IAAI,IAAI,CAAC;IACT,IAAI,GAAG,CAAC,MAAM,EAAE;QACd,IAAI,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;KAC/E;SAAM;QACL,IAAI,GAAG,cAAc,GAAG,CAAC,OAAO,IAAI,GAAG,GAAG,CAAC;KAC5C;IACD,MAAM,MAAM,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,uBAAuB,CAAC;IACvD,OAAO,YAAY,IAAI,QAAQ,OAAO,MAAM,MAAM,EAAE,CAAC;AACvD,CAAC;AAbD,4CAaC;AAED,SAAgB,WAAW,CAAC,EAAE,MAAM,EAAqB;IACvD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAA,0BAAiB,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC;AAFD,kCAEC;AAED;;;;;;;;GAQG;AACI,MAAM,eAAe,GAAG,CAAC,CAAS,EAAE,QAAkB,EAAU,EAAE,CACvE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AADjE,QAAA,eAAe,mBACkD"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import clone from './clone';
|
|
2
2
|
import { secondsToMillis } from './date';
|
|
3
|
-
import
|
|
3
|
+
import fastDeepEqual from './fast-deep-equal';
|
|
4
|
+
import { base64UrlEncode, defaultHeaders, httpErrorMessage, LDHeaders, shouldRetry } from './http';
|
|
4
5
|
import noop from './noop';
|
|
5
6
|
import sleep from './sleep';
|
|
6
7
|
import { VoidFunction } from './VoidFunction';
|
|
7
|
-
export { clone, defaultHeaders, httpErrorMessage, noop, LDHeaders, secondsToMillis, sleep, VoidFunction, };
|
|
8
|
+
export { base64UrlEncode, clone, defaultHeaders, fastDeepEqual, httpErrorMessage, noop, LDHeaders, shouldRetry, secondsToMillis, sleep, VoidFunction, };
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACnG,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EACL,eAAe,EACf,KAAK,EACL,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,IAAI,EACJ,SAAS,EACT,WAAW,EACX,eAAe,EACf,KAAK,EACL,YAAY,GACb,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sleep = exports.secondsToMillis = exports.noop = exports.httpErrorMessage = exports.defaultHeaders = exports.clone = void 0;
|
|
3
|
+
exports.sleep = exports.secondsToMillis = exports.shouldRetry = exports.noop = exports.httpErrorMessage = exports.fastDeepEqual = exports.defaultHeaders = exports.clone = exports.base64UrlEncode = void 0;
|
|
4
4
|
const clone_1 = require("./clone");
|
|
5
5
|
exports.clone = clone_1.default;
|
|
6
6
|
const date_1 = require("./date");
|
|
7
7
|
Object.defineProperty(exports, "secondsToMillis", { enumerable: true, get: function () { return date_1.secondsToMillis; } });
|
|
8
|
+
const fast_deep_equal_1 = require("./fast-deep-equal");
|
|
9
|
+
exports.fastDeepEqual = fast_deep_equal_1.default;
|
|
8
10
|
const http_1 = require("./http");
|
|
11
|
+
Object.defineProperty(exports, "base64UrlEncode", { enumerable: true, get: function () { return http_1.base64UrlEncode; } });
|
|
9
12
|
Object.defineProperty(exports, "defaultHeaders", { enumerable: true, get: function () { return http_1.defaultHeaders; } });
|
|
10
13
|
Object.defineProperty(exports, "httpErrorMessage", { enumerable: true, get: function () { return http_1.httpErrorMessage; } });
|
|
14
|
+
Object.defineProperty(exports, "shouldRetry", { enumerable: true, get: function () { return http_1.shouldRetry; } });
|
|
11
15
|
const noop_1 = require("./noop");
|
|
12
16
|
exports.noop = noop_1.default;
|
|
13
17
|
const sleep_1 = require("./sleep");
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,mCAA4B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,mCAA4B;AAU1B,gBAVK,eAAK,CAUL;AATP,iCAAyC;AAgBvC,gGAhBO,sBAAe,OAgBP;AAfjB,uDAA8C;AAU5C,wBAVK,yBAAa,CAUL;AATf,iCAAmG;AAMjG,gGANO,sBAAe,OAMP;AAEf,+FARwB,qBAAc,OAQxB;AAEd,iGAVwC,uBAAgB,OAUxC;AAGhB,4FAbqE,kBAAW,OAarE;AAZb,iCAA0B;AAUxB,eAVK,cAAI,CAUL;AATN,mCAA4B;AAa1B,gBAbK,eAAK,CAaL"}
|