@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 CHANGED
@@ -1,4 +1,5 @@
1
- import { ProviderMetadata, ClientProviderStatus, EvaluationContext, ClientProviderEvents, ResolutionDetails, JsonValue } from '@openfeature/core';
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 to registered handlers.
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, ClientProviderEvents, ResolutionDetails, JsonValue } from '@openfeature/core';
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 to registered handlers.
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.8";
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 to registered handlers.
836
+ * Emit an event through the OpenFeature event emitter.
836
837
  */
837
838
  emit(event) {
838
- const handlers = this.eventHandlers.get(event);
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.8";
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 to registered handlers.
810
+ * Emit an event through the OpenFeature event emitter.
810
811
  */
811
812
  emit(event) {
812
- const handlers = this.eventHandlers.get(event);
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flipswitch-io/sdk",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "Flipswitch SDK with real-time SSE support for OpenFeature",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",