@flipswitch-io/sdk 0.1.8 → 0.1.9
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/index.d.mts +4 -8
- package/dist/index.d.ts +4 -8
- package/dist/index.js +5 -16
- package/dist/index.mjs +5 -16
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ProviderMetadata, ClientProviderStatus, EvaluationContext,
|
|
1
|
+
import { ProviderMetadata, ClientProviderStatus, EvaluationContext, ResolutionDetails, JsonValue } from '@openfeature/core';
|
|
2
|
+
import { OpenFeatureEventEmitter } from '@openfeature/web-sdk';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Configuration options for the Flipswitch provider.
|
|
@@ -172,7 +173,6 @@ interface FlagEvaluation {
|
|
|
172
173
|
variant: string | null;
|
|
173
174
|
}
|
|
174
175
|
|
|
175
|
-
type EventHandler = () => void;
|
|
176
176
|
/**
|
|
177
177
|
* Flipswitch OpenFeature provider with real-time SSE support.
|
|
178
178
|
*
|
|
@@ -197,6 +197,7 @@ type EventHandler = () => void;
|
|
|
197
197
|
declare class FlipswitchProvider {
|
|
198
198
|
readonly metadata: ProviderMetadata;
|
|
199
199
|
readonly rulesFromFlagValue = false;
|
|
200
|
+
readonly events: OpenFeatureEventEmitter;
|
|
200
201
|
private readonly baseUrl;
|
|
201
202
|
private readonly apiKey;
|
|
202
203
|
private readonly enableRealtime;
|
|
@@ -211,7 +212,6 @@ declare class FlipswitchProvider {
|
|
|
211
212
|
private sseClient;
|
|
212
213
|
private _status;
|
|
213
214
|
private _currentContext;
|
|
214
|
-
private eventHandlers;
|
|
215
215
|
private userEventHandlers;
|
|
216
216
|
private pollingTimer;
|
|
217
217
|
private sseRetryCount;
|
|
@@ -278,13 +278,9 @@ declare class FlipswitchProvider {
|
|
|
278
278
|
*/
|
|
279
279
|
private handleFlagChange;
|
|
280
280
|
/**
|
|
281
|
-
* Emit an event
|
|
281
|
+
* Emit an event through the OpenFeature event emitter.
|
|
282
282
|
*/
|
|
283
283
|
private emit;
|
|
284
|
-
/**
|
|
285
|
-
* Register an event handler.
|
|
286
|
-
*/
|
|
287
|
-
onProviderEvent?(event: ClientProviderEvents, handler: EventHandler): void;
|
|
288
284
|
resolveBooleanEvaluation(flagKey: string, defaultValue: boolean, context: EvaluationContext): ResolutionDetails<boolean>;
|
|
289
285
|
resolveStringEvaluation(flagKey: string, defaultValue: string, context: EvaluationContext): ResolutionDetails<string>;
|
|
290
286
|
resolveNumberEvaluation(flagKey: string, defaultValue: number, context: EvaluationContext): ResolutionDetails<number>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ProviderMetadata, ClientProviderStatus, EvaluationContext,
|
|
1
|
+
import { ProviderMetadata, ClientProviderStatus, EvaluationContext, ResolutionDetails, JsonValue } from '@openfeature/core';
|
|
2
|
+
import { OpenFeatureEventEmitter } from '@openfeature/web-sdk';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Configuration options for the Flipswitch provider.
|
|
@@ -172,7 +173,6 @@ interface FlagEvaluation {
|
|
|
172
173
|
variant: string | null;
|
|
173
174
|
}
|
|
174
175
|
|
|
175
|
-
type EventHandler = () => void;
|
|
176
176
|
/**
|
|
177
177
|
* Flipswitch OpenFeature provider with real-time SSE support.
|
|
178
178
|
*
|
|
@@ -197,6 +197,7 @@ type EventHandler = () => void;
|
|
|
197
197
|
declare class FlipswitchProvider {
|
|
198
198
|
readonly metadata: ProviderMetadata;
|
|
199
199
|
readonly rulesFromFlagValue = false;
|
|
200
|
+
readonly events: OpenFeatureEventEmitter;
|
|
200
201
|
private readonly baseUrl;
|
|
201
202
|
private readonly apiKey;
|
|
202
203
|
private readonly enableRealtime;
|
|
@@ -211,7 +212,6 @@ declare class FlipswitchProvider {
|
|
|
211
212
|
private sseClient;
|
|
212
213
|
private _status;
|
|
213
214
|
private _currentContext;
|
|
214
|
-
private eventHandlers;
|
|
215
215
|
private userEventHandlers;
|
|
216
216
|
private pollingTimer;
|
|
217
217
|
private sseRetryCount;
|
|
@@ -278,13 +278,9 @@ declare class FlipswitchProvider {
|
|
|
278
278
|
*/
|
|
279
279
|
private handleFlagChange;
|
|
280
280
|
/**
|
|
281
|
-
* Emit an event
|
|
281
|
+
* Emit an event through the OpenFeature event emitter.
|
|
282
282
|
*/
|
|
283
283
|
private emit;
|
|
284
|
-
/**
|
|
285
|
-
* Register an event handler.
|
|
286
|
-
*/
|
|
287
|
-
onProviderEvent?(event: ClientProviderEvents, handler: EventHandler): void;
|
|
288
284
|
resolveBooleanEvaluation(flagKey: string, defaultValue: boolean, context: EvaluationContext): ResolutionDetails<boolean>;
|
|
289
285
|
resolveStringEvaluation(flagKey: string, defaultValue: string, context: EvaluationContext): ResolutionDetails<string>;
|
|
290
286
|
resolveNumberEvaluation(flagKey: string, defaultValue: number, context: EvaluationContext): ResolutionDetails<number>;
|
package/dist/index.js
CHANGED
|
@@ -29,6 +29,7 @@ module.exports = __toCommonJS(index_exports);
|
|
|
29
29
|
|
|
30
30
|
// src/provider.ts
|
|
31
31
|
var import_core = require("@openfeature/core");
|
|
32
|
+
var import_web_sdk = require("@openfeature/web-sdk");
|
|
32
33
|
var import_ofrep_web_provider = require("@openfeature/ofrep-web-provider");
|
|
33
34
|
|
|
34
35
|
// src/sse-client.ts
|
|
@@ -488,7 +489,7 @@ var BrowserCache = class {
|
|
|
488
489
|
};
|
|
489
490
|
|
|
490
491
|
// package.json
|
|
491
|
-
var version = "0.1.
|
|
492
|
+
var version = "0.1.9";
|
|
492
493
|
|
|
493
494
|
// src/provider.ts
|
|
494
495
|
var DEFAULT_BASE_URL = "https://api.flipswitch.io";
|
|
@@ -500,10 +501,10 @@ var FlipswitchProvider = class {
|
|
|
500
501
|
name: "flipswitch"
|
|
501
502
|
};
|
|
502
503
|
this.rulesFromFlagValue = false;
|
|
504
|
+
this.events = new import_web_sdk.OpenFeatureEventEmitter();
|
|
503
505
|
this.sseClient = null;
|
|
504
506
|
this._status = import_core.ClientProviderStatus.NOT_READY;
|
|
505
507
|
this._currentContext = {};
|
|
506
|
-
this.eventHandlers = /* @__PURE__ */ new Map();
|
|
507
508
|
this.userEventHandlers = {};
|
|
508
509
|
this.pollingTimer = null;
|
|
509
510
|
this.sseRetryCount = 0;
|
|
@@ -832,22 +833,10 @@ var FlipswitchProvider = class {
|
|
|
832
833
|
this.emit(import_core.ClientProviderEvents.ConfigurationChanged);
|
|
833
834
|
}
|
|
834
835
|
/**
|
|
835
|
-
* Emit an event
|
|
836
|
+
* Emit an event through the OpenFeature event emitter.
|
|
836
837
|
*/
|
|
837
838
|
emit(event) {
|
|
838
|
-
|
|
839
|
-
if (handlers) {
|
|
840
|
-
Array.from(handlers).forEach((handler) => handler());
|
|
841
|
-
}
|
|
842
|
-
}
|
|
843
|
-
/**
|
|
844
|
-
* Register an event handler.
|
|
845
|
-
*/
|
|
846
|
-
onProviderEvent(event, handler) {
|
|
847
|
-
if (!this.eventHandlers.has(event)) {
|
|
848
|
-
this.eventHandlers.set(event, /* @__PURE__ */ new Set());
|
|
849
|
-
}
|
|
850
|
-
this.eventHandlers.get(event).add(handler);
|
|
839
|
+
this.events.emit(event);
|
|
851
840
|
}
|
|
852
841
|
// ===============================
|
|
853
842
|
// Flag Resolution Methods - Delegated to OFREP Provider
|
package/dist/index.mjs
CHANGED
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
ClientProviderStatus,
|
|
4
4
|
ClientProviderEvents
|
|
5
5
|
} from "@openfeature/core";
|
|
6
|
+
import { OpenFeatureEventEmitter } from "@openfeature/web-sdk";
|
|
6
7
|
import { OFREPWebProvider } from "@openfeature/ofrep-web-provider";
|
|
7
8
|
|
|
8
9
|
// src/sse-client.ts
|
|
@@ -462,7 +463,7 @@ var BrowserCache = class {
|
|
|
462
463
|
};
|
|
463
464
|
|
|
464
465
|
// package.json
|
|
465
|
-
var version = "0.1.
|
|
466
|
+
var version = "0.1.9";
|
|
466
467
|
|
|
467
468
|
// src/provider.ts
|
|
468
469
|
var DEFAULT_BASE_URL = "https://api.flipswitch.io";
|
|
@@ -474,10 +475,10 @@ var FlipswitchProvider = class {
|
|
|
474
475
|
name: "flipswitch"
|
|
475
476
|
};
|
|
476
477
|
this.rulesFromFlagValue = false;
|
|
478
|
+
this.events = new OpenFeatureEventEmitter();
|
|
477
479
|
this.sseClient = null;
|
|
478
480
|
this._status = ClientProviderStatus.NOT_READY;
|
|
479
481
|
this._currentContext = {};
|
|
480
|
-
this.eventHandlers = /* @__PURE__ */ new Map();
|
|
481
482
|
this.userEventHandlers = {};
|
|
482
483
|
this.pollingTimer = null;
|
|
483
484
|
this.sseRetryCount = 0;
|
|
@@ -806,22 +807,10 @@ var FlipswitchProvider = class {
|
|
|
806
807
|
this.emit(ClientProviderEvents.ConfigurationChanged);
|
|
807
808
|
}
|
|
808
809
|
/**
|
|
809
|
-
* Emit an event
|
|
810
|
+
* Emit an event through the OpenFeature event emitter.
|
|
810
811
|
*/
|
|
811
812
|
emit(event) {
|
|
812
|
-
|
|
813
|
-
if (handlers) {
|
|
814
|
-
Array.from(handlers).forEach((handler) => handler());
|
|
815
|
-
}
|
|
816
|
-
}
|
|
817
|
-
/**
|
|
818
|
-
* Register an event handler.
|
|
819
|
-
*/
|
|
820
|
-
onProviderEvent(event, handler) {
|
|
821
|
-
if (!this.eventHandlers.has(event)) {
|
|
822
|
-
this.eventHandlers.set(event, /* @__PURE__ */ new Set());
|
|
823
|
-
}
|
|
824
|
-
this.eventHandlers.get(event).add(handler);
|
|
813
|
+
this.events.emit(event);
|
|
825
814
|
}
|
|
826
815
|
// ===============================
|
|
827
816
|
// Flag Resolution Methods - Delegated to OFREP Provider
|