@hmcts/rpx-xui-common-lib 2.0.21 → 2.0.23
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/esm2022/lib/models/feature-user.mjs +1 -1
- package/esm2022/lib/services/feature-toggle/launch-darkly.service.mjs +15 -15
- package/fesm2022/hmcts-rpx-xui-common-lib.mjs +14 -14
- package/fesm2022/hmcts-rpx-xui-common-lib.mjs.map +1 -1
- package/lib/models/feature-user.d.ts +3 -5
- package/lib/services/feature-toggle/launch-darkly.service.d.ts +9 -9
- package/package.json +2 -2
|
@@ -2,4 +2,4 @@ export class AnonymousFeatureUser {
|
|
|
2
2
|
}
|
|
3
3
|
export class LoggedInFeatureUser {
|
|
4
4
|
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS11c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvbW9kZWxzL2ZlYXR1cmUtdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sb0JBQW9CO0NBRWhDO0FBRUQsTUFBTSxPQUFPLG1CQUFtQjtDQUsvQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBbm9ueW1vdXNGZWF0dXJlVXNlciB7XG4gIHB1YmxpYyBhbm9ueW1vdXM6IHRydWU7XG59XG5cbmV4cG9ydCBjbGFzcyBMb2dnZWRJbkZlYXR1cmVVc2VyIHtcbiAgcHVibGljIGtleTogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG4gIHB1YmxpYyByb2xlczogc3RyaW5nW107XG4gIHB1YmxpYyBvcmdJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBGZWF0dXJlVXNlciA9IEFub255bW91c0ZlYXR1cmVVc2VyIHwgTG9nZ2VkSW5GZWF0dXJlVXNlcjtcbiJdfQ==
|
|
@@ -7,16 +7,16 @@ export class LaunchDarklyService {
|
|
|
7
7
|
constructor() {
|
|
8
8
|
this.ready = new BehaviorSubject(false);
|
|
9
9
|
this.features = {};
|
|
10
|
-
this.
|
|
10
|
+
this.context = { kind: 'user', anonymous: true };
|
|
11
11
|
this.clientId = '';
|
|
12
12
|
}
|
|
13
13
|
initialize(user = { anonymous: true }, clientId) {
|
|
14
14
|
this.ready.next(false);
|
|
15
|
-
this.
|
|
15
|
+
this.context = { kind: 'user', ...user };
|
|
16
16
|
this.clientId = clientId;
|
|
17
|
-
this.client = initialize(this.clientId, this.
|
|
17
|
+
this.client = initialize(this.clientId, this.context, { useReport: true });
|
|
18
18
|
this.client.on('ready', () => {
|
|
19
|
-
this.client.identify(this.
|
|
19
|
+
this.client.identify(this.context).then(() => this.ready.next(true));
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
isEnabled(feature, defaultValue = false) {
|
|
@@ -29,7 +29,7 @@ export class LaunchDarklyService {
|
|
|
29
29
|
getValue(feature, defaultValue) {
|
|
30
30
|
if (!this.features.hasOwnProperty(feature)) {
|
|
31
31
|
this.features[feature] = new BehaviorSubject(defaultValue);
|
|
32
|
-
this.ready.pipe(filter(ready => ready), map(() => this.client.variation(feature, defaultValue))).subscribe(value => {
|
|
32
|
+
this.ready.pipe(filter((ready) => ready), map(() => this.client.variation(feature, defaultValue))).subscribe((value) => {
|
|
33
33
|
this.features[feature].next(value);
|
|
34
34
|
this.client.on(`change:${feature}`, (val) => {
|
|
35
35
|
this.features[feature].next(val);
|
|
@@ -39,16 +39,16 @@ export class LaunchDarklyService {
|
|
|
39
39
|
return this.features[feature].pipe(distinctUntilChanged());
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
42
|
+
* This method returns an observable that will only get the state of the feature toggle
|
|
43
|
+
* once. It calls the LD SDK directly, and should only be used in circumstances where
|
|
44
|
+
* only one value should be emitted, that value coming directly from LD. This will likely
|
|
45
|
+
* only apply for Guards, and should be used only when absolutely necessary.
|
|
46
|
+
* @see getValue for regular usage.
|
|
47
|
+
* @param feature string
|
|
48
|
+
* @param defaultValue R
|
|
49
|
+
*/
|
|
50
50
|
getValueOnce(feature, defaultValue) {
|
|
51
|
-
return this.ready.pipe(filter(ready => ready), map(() => this.client.variation(feature, defaultValue)));
|
|
51
|
+
return this.ready.pipe(filter((ready) => ready), map(() => this.client.variation(feature, defaultValue)));
|
|
52
52
|
}
|
|
53
53
|
getValueSync(feature, defaultValue) {
|
|
54
54
|
return this.client.variation(feature, defaultValue);
|
|
@@ -62,4 +62,4 @@ export class LaunchDarklyService {
|
|
|
62
62
|
providedIn: 'root'
|
|
63
63
|
}]
|
|
64
64
|
}], null, null); })();
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLWRhcmtseS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvZmVhdHVyZS10b2dnbGUvbGF1bmNoLWRhcmtseS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBdUIsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBT25FLE1BQU0sT0FBTyxtQkFBbUI7SUFIaEM7UUFLbUIsVUFBSyxHQUE2QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN0RSxhQUFRLEdBQXlDLEVBQUUsQ0FBQztRQUM3RCxZQUFPLEdBQWMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN2RCxhQUFRLEdBQVcsRUFBRSxDQUFDO0tBMEQvQjtJQXhEUSxVQUFVLENBQUMsT0FBb0IsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsUUFBZ0I7UUFDekUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxTQUFTLENBQUMsT0FBZSxFQUFFLGVBQXdCLEtBQUs7UUFDN0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFVLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU0sUUFBUSxDQUFVLE9BQWU7UUFDdEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFNLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQscUdBQXFHO0lBQzlGLFFBQVEsQ0FBSSxPQUFlLEVBQUUsWUFBZTtRQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksZUFBZSxDQUFJLFlBQVksQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQ3hCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FDeEQsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFNLEVBQUUsRUFBRTtvQkFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25DLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDaEMsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7U0FRSztJQUNFLFlBQVksQ0FBSSxPQUFlLEVBQUUsWUFBZTtRQUNyRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNwQixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUN4QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQ3hELENBQUM7SUFDSixDQUFDO0lBRU0sWUFBWSxDQUFJLE9BQWUsRUFBRSxZQUFlO1FBQ3JELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3RELENBQUM7b0ZBOURVLG1CQUFtQjt1RUFBbkIsbUJBQW1CLFdBQW5CLG1CQUFtQixtQkFGbEIsTUFBTTs7aUZBRVAsbUJBQW1CO2NBSC9CLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluaXRpYWxpemUsIExEQ2xpZW50LCBMRENvbnRleHQgfSBmcm9tICdsYXVuY2hkYXJrbHktanMtY2xpZW50LXNkayc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZlYXR1cmVVc2VyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZlYXR1cmUtdXNlcic7XG5pbXBvcnQgeyBGZWF0dXJlVG9nZ2xlU2VydmljZSB9IGZyb20gJy4vZmVhdHVyZS10b2dnbGUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExhdW5jaERhcmtseVNlcnZpY2UgaW1wbGVtZW50cyBGZWF0dXJlVG9nZ2xlU2VydmljZSB7XG4gIHByaXZhdGUgY2xpZW50OiBMRENsaWVudDtcbiAgcHJpdmF0ZSByZWFkb25seSByZWFkeTogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmVhdHVyZXM6IFJlY29yZDxzdHJpbmcsIEJlaGF2aW9yU3ViamVjdDxhbnk+PiA9IHt9O1xuICBwcml2YXRlIGNvbnRleHQ6IExEQ29udGV4dCA9IHsga2luZDogJ3VzZXInLCBhbm9ueW1vdXM6IHRydWUgfTtcbiAgcHJpdmF0ZSBjbGllbnRJZDogc3RyaW5nID0gJyc7XG5cbiAgcHVibGljIGluaXRpYWxpemUodXNlcjogRmVhdHVyZVVzZXIgPSB7IGFub255bW91czogdHJ1ZSB9LCBjbGllbnRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5yZWFkeS5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLmNvbnRleHQgPSB7IGtpbmQ6ICd1c2VyJywgLi4udXNlciB9O1xuICAgIHRoaXMuY2xpZW50SWQgPSBjbGllbnRJZDtcbiAgICB0aGlzLmNsaWVudCA9IGluaXRpYWxpemUodGhpcy5jbGllbnRJZCwgdGhpcy5jb250ZXh0LCB7IHVzZVJlcG9ydDogdHJ1ZSB9KTtcbiAgICB0aGlzLmNsaWVudC5vbigncmVhZHknLCAoKSA9PiB7XG4gICAgICB0aGlzLmNsaWVudC5pZGVudGlmeSh0aGlzLmNvbnRleHQpLnRoZW4oKCkgPT4gdGhpcy5yZWFkeS5uZXh0KHRydWUpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpc0VuYWJsZWQoZmVhdHVyZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmdldFZhbHVlPGJvb2xlYW4+KGZlYXR1cmUsIGRlZmF1bHRWYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QXJyYXk8UiA9IGFueT4oZmVhdHVyZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxSW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZTxSW10+KGZlYXR1cmUsIFtdKTtcbiAgfVxuXG4gIC8vIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGFsd2F5cyBlbWl0cyBpdHMgZGVmYXVsdCB2YWx1ZSBmaXJzdCwgd2hpY2ggY2FuIGxlYWQgdG8gdW5leHBlY3RlZCByZXN1bHRzXG4gIHB1YmxpYyBnZXRWYWx1ZTxSPihmZWF0dXJlOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogUik6IE9ic2VydmFibGU8Uj4ge1xuICAgIGlmICghdGhpcy5mZWF0dXJlcy5oYXNPd25Qcm9wZXJ0eShmZWF0dXJlKSkge1xuICAgICAgdGhpcy5mZWF0dXJlc1tmZWF0dXJlXSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Uj4oZGVmYXVsdFZhbHVlKTtcbiAgICAgIHRoaXMucmVhZHkucGlwZShcbiAgICAgICAgZmlsdGVyKChyZWFkeSkgPT4gcmVhZHkpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5jbGllbnQudmFyaWF0aW9uKGZlYXR1cmUsIGRlZmF1bHRWYWx1ZSkpXG4gICAgICApLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5mZWF0dXJlc1tmZWF0dXJlXS5uZXh0KHZhbHVlKTtcbiAgICAgICAgdGhpcy5jbGllbnQub24oYGNoYW5nZToke2ZlYXR1cmV9YCwgKHZhbDogUikgPT4ge1xuICAgICAgICAgIHRoaXMuZmVhdHVyZXNbZmVhdHVyZV0ubmV4dCh2YWwpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5mZWF0dXJlc1tmZWF0dXJlXS5waXBlKFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIGFuIG9ic2VydmFibGUgdGhhdCB3aWxsIG9ubHkgZ2V0IHRoZSBzdGF0ZSBvZiB0aGUgZmVhdHVyZSB0b2dnbGVcbiAgICAgKiBvbmNlLiBJdCBjYWxscyB0aGUgTEQgU0RLIGRpcmVjdGx5LCBhbmQgc2hvdWxkIG9ubHkgYmUgdXNlZCBpbiBjaXJjdW1zdGFuY2VzIHdoZXJlXG4gICAgICogb25seSBvbmUgdmFsdWUgc2hvdWxkIGJlIGVtaXR0ZWQsIHRoYXQgdmFsdWUgY29taW5nIGRpcmVjdGx5IGZyb20gTEQuIFRoaXMgd2lsbCBsaWtlbHlcbiAgICAgKiBvbmx5IGFwcGx5IGZvciBHdWFyZHMsIGFuZCBzaG91bGQgYmUgdXNlZCBvbmx5IHdoZW4gYWJzb2x1dGVseSBuZWNlc3NhcnkuXG4gICAgICogQHNlZSBnZXRWYWx1ZSBmb3IgcmVndWxhciB1c2FnZS5cbiAgICAgKiBAcGFyYW0gZmVhdHVyZSBzdHJpbmdcbiAgICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIFJcbiAgICAgKi9cbiAgcHVibGljIGdldFZhbHVlT25jZTxSPihmZWF0dXJlOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogUik6IE9ic2VydmFibGU8Uj4ge1xuICAgIHJldHVybiB0aGlzLnJlYWR5LnBpcGUoXG4gICAgICBmaWx0ZXIoKHJlYWR5KSA9PiByZWFkeSksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5jbGllbnQudmFyaWF0aW9uKGZlYXR1cmUsIGRlZmF1bHRWYWx1ZSkpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWx1ZVN5bmM8Uj4oZmVhdHVyZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFIpOiBSIHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQudmFyaWF0aW9uKGZlYXR1cmUsIGRlZmF1bHRWYWx1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1280,16 +1280,16 @@ class LaunchDarklyService {
|
|
|
1280
1280
|
constructor() {
|
|
1281
1281
|
this.ready = new BehaviorSubject(false);
|
|
1282
1282
|
this.features = {};
|
|
1283
|
-
this.
|
|
1283
|
+
this.context = { kind: 'user', anonymous: true };
|
|
1284
1284
|
this.clientId = '';
|
|
1285
1285
|
}
|
|
1286
1286
|
initialize(user = { anonymous: true }, clientId) {
|
|
1287
1287
|
this.ready.next(false);
|
|
1288
|
-
this.
|
|
1288
|
+
this.context = { kind: 'user', ...user };
|
|
1289
1289
|
this.clientId = clientId;
|
|
1290
|
-
this.client = initialize(this.clientId, this.
|
|
1290
|
+
this.client = initialize(this.clientId, this.context, { useReport: true });
|
|
1291
1291
|
this.client.on('ready', () => {
|
|
1292
|
-
this.client.identify(this.
|
|
1292
|
+
this.client.identify(this.context).then(() => this.ready.next(true));
|
|
1293
1293
|
});
|
|
1294
1294
|
}
|
|
1295
1295
|
isEnabled(feature, defaultValue = false) {
|
|
@@ -1302,7 +1302,7 @@ class LaunchDarklyService {
|
|
|
1302
1302
|
getValue(feature, defaultValue) {
|
|
1303
1303
|
if (!this.features.hasOwnProperty(feature)) {
|
|
1304
1304
|
this.features[feature] = new BehaviorSubject(defaultValue);
|
|
1305
|
-
this.ready.pipe(filter(ready => ready), map(() => this.client.variation(feature, defaultValue))).subscribe(value => {
|
|
1305
|
+
this.ready.pipe(filter((ready) => ready), map(() => this.client.variation(feature, defaultValue))).subscribe((value) => {
|
|
1306
1306
|
this.features[feature].next(value);
|
|
1307
1307
|
this.client.on(`change:${feature}`, (val) => {
|
|
1308
1308
|
this.features[feature].next(val);
|
|
@@ -1312,16 +1312,16 @@ class LaunchDarklyService {
|
|
|
1312
1312
|
return this.features[feature].pipe(distinctUntilChanged());
|
|
1313
1313
|
}
|
|
1314
1314
|
/**
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1315
|
+
* This method returns an observable that will only get the state of the feature toggle
|
|
1316
|
+
* once. It calls the LD SDK directly, and should only be used in circumstances where
|
|
1317
|
+
* only one value should be emitted, that value coming directly from LD. This will likely
|
|
1318
|
+
* only apply for Guards, and should be used only when absolutely necessary.
|
|
1319
|
+
* @see getValue for regular usage.
|
|
1320
|
+
* @param feature string
|
|
1321
|
+
* @param defaultValue R
|
|
1322
|
+
*/
|
|
1323
1323
|
getValueOnce(feature, defaultValue) {
|
|
1324
|
-
return this.ready.pipe(filter(ready => ready), map(() => this.client.variation(feature, defaultValue)));
|
|
1324
|
+
return this.ready.pipe(filter((ready) => ready), map(() => this.client.variation(feature, defaultValue)));
|
|
1325
1325
|
}
|
|
1326
1326
|
getValueSync(feature, defaultValue) {
|
|
1327
1327
|
return this.client.variation(feature, defaultValue);
|