@openfeature/web-sdk 0.4.14 → 0.4.15

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/esm/index.js CHANGED
@@ -24,374 +24,184 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  mod
25
25
  ));
26
26
 
27
- // ../../node_modules/events/events.js
28
- var require_events = __commonJS({
29
- "../../node_modules/events/events.js"(exports, module) {
27
+ // ../../node_modules/eventemitter3/index.js
28
+ var require_eventemitter3 = __commonJS({
29
+ "../../node_modules/eventemitter3/index.js"(exports, module) {
30
30
  "use strict";
31
- var R = typeof Reflect === "object" ? Reflect : null;
32
- var ReflectApply = R && typeof R.apply === "function" ? R.apply : function ReflectApply2(target, receiver, args) {
33
- return Function.prototype.apply.call(target, receiver, args);
34
- };
35
- var ReflectOwnKeys;
36
- if (R && typeof R.ownKeys === "function") {
37
- ReflectOwnKeys = R.ownKeys;
38
- } else if (Object.getOwnPropertySymbols) {
39
- ReflectOwnKeys = function ReflectOwnKeys2(target) {
40
- return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));
41
- };
42
- } else {
43
- ReflectOwnKeys = function ReflectOwnKeys2(target) {
44
- return Object.getOwnPropertyNames(target);
45
- };
46
- }
47
- function ProcessEmitWarning(warning) {
48
- if (console && console.warn)
49
- console.warn(warning);
31
+ var has = Object.prototype.hasOwnProperty;
32
+ var prefix = "~";
33
+ function Events() {
34
+ }
35
+ if (Object.create) {
36
+ Events.prototype = /* @__PURE__ */ Object.create(null);
37
+ if (!new Events().__proto__)
38
+ prefix = false;
39
+ }
40
+ function EE(fn, context, once) {
41
+ this.fn = fn;
42
+ this.context = context;
43
+ this.once = once || false;
44
+ }
45
+ function addListener(emitter, event, fn, context, once) {
46
+ if (typeof fn !== "function") {
47
+ throw new TypeError("The listener must be a function");
48
+ }
49
+ var listener = new EE(fn, context || emitter, once), evt = prefix ? prefix + event : event;
50
+ if (!emitter._events[evt])
51
+ emitter._events[evt] = listener, emitter._eventsCount++;
52
+ else if (!emitter._events[evt].fn)
53
+ emitter._events[evt].push(listener);
54
+ else
55
+ emitter._events[evt] = [emitter._events[evt], listener];
56
+ return emitter;
57
+ }
58
+ function clearEvent(emitter, evt) {
59
+ if (--emitter._eventsCount === 0)
60
+ emitter._events = new Events();
61
+ else
62
+ delete emitter._events[evt];
50
63
  }
51
- var NumberIsNaN = Number.isNaN || function NumberIsNaN2(value) {
52
- return value !== value;
53
- };
54
64
  function EventEmitter2() {
55
- EventEmitter2.init.call(this);
65
+ this._events = new Events();
66
+ this._eventsCount = 0;
56
67
  }
57
- module.exports = EventEmitter2;
58
- module.exports.once = once;
59
- EventEmitter2.EventEmitter = EventEmitter2;
60
- EventEmitter2.prototype._events = void 0;
61
- EventEmitter2.prototype._eventsCount = 0;
62
- EventEmitter2.prototype._maxListeners = void 0;
63
- var defaultMaxListeners = 10;
64
- function checkListener(listener) {
65
- if (typeof listener !== "function") {
66
- throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
67
- }
68
- }
69
- Object.defineProperty(EventEmitter2, "defaultMaxListeners", {
70
- enumerable: true,
71
- get: function() {
72
- return defaultMaxListeners;
73
- },
74
- set: function(arg) {
75
- if (typeof arg !== "number" || arg < 0 || NumberIsNaN(arg)) {
76
- throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + ".");
77
- }
78
- defaultMaxListeners = arg;
68
+ EventEmitter2.prototype.eventNames = function eventNames() {
69
+ var names = [], events, name;
70
+ if (this._eventsCount === 0)
71
+ return names;
72
+ for (name in events = this._events) {
73
+ if (has.call(events, name))
74
+ names.push(prefix ? name.slice(1) : name);
79
75
  }
80
- });
81
- EventEmitter2.init = function() {
82
- if (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) {
83
- this._events = /* @__PURE__ */ Object.create(null);
84
- this._eventsCount = 0;
76
+ if (Object.getOwnPropertySymbols) {
77
+ return names.concat(Object.getOwnPropertySymbols(events));
85
78
  }
86
- this._maxListeners = this._maxListeners || void 0;
79
+ return names;
87
80
  };
88
- EventEmitter2.prototype.setMaxListeners = function setMaxListeners(n) {
89
- if (typeof n !== "number" || n < 0 || NumberIsNaN(n)) {
90
- throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + ".");
81
+ EventEmitter2.prototype.listeners = function listeners(event) {
82
+ var evt = prefix ? prefix + event : event, handlers = this._events[evt];
83
+ if (!handlers)
84
+ return [];
85
+ if (handlers.fn)
86
+ return [handlers.fn];
87
+ for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {
88
+ ee[i] = handlers[i].fn;
91
89
  }
92
- this._maxListeners = n;
93
- return this;
90
+ return ee;
94
91
  };
95
- function _getMaxListeners(that) {
96
- if (that._maxListeners === void 0)
97
- return EventEmitter2.defaultMaxListeners;
98
- return that._maxListeners;
99
- }
100
- EventEmitter2.prototype.getMaxListeners = function getMaxListeners() {
101
- return _getMaxListeners(this);
92
+ EventEmitter2.prototype.listenerCount = function listenerCount(event) {
93
+ var evt = prefix ? prefix + event : event, listeners = this._events[evt];
94
+ if (!listeners)
95
+ return 0;
96
+ if (listeners.fn)
97
+ return 1;
98
+ return listeners.length;
102
99
  };
103
- EventEmitter2.prototype.emit = function emit(type) {
104
- var args = [];
105
- for (var i = 1; i < arguments.length; i++)
106
- args.push(arguments[i]);
107
- var doError = type === "error";
108
- var events = this._events;
109
- if (events !== void 0)
110
- doError = doError && events.error === void 0;
111
- else if (!doError)
100
+ EventEmitter2.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
101
+ var evt = prefix ? prefix + event : event;
102
+ if (!this._events[evt])
112
103
  return false;
113
- if (doError) {
114
- var er;
115
- if (args.length > 0)
116
- er = args[0];
117
- if (er instanceof Error) {
118
- throw er;
104
+ var listeners = this._events[evt], len = arguments.length, args, i;
105
+ if (listeners.fn) {
106
+ if (listeners.once)
107
+ this.removeListener(event, listeners.fn, void 0, true);
108
+ switch (len) {
109
+ case 1:
110
+ return listeners.fn.call(listeners.context), true;
111
+ case 2:
112
+ return listeners.fn.call(listeners.context, a1), true;
113
+ case 3:
114
+ return listeners.fn.call(listeners.context, a1, a2), true;
115
+ case 4:
116
+ return listeners.fn.call(listeners.context, a1, a2, a3), true;
117
+ case 5:
118
+ return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
119
+ case 6:
120
+ return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
119
121
  }
120
- var err = new Error("Unhandled error." + (er ? " (" + er.message + ")" : ""));
121
- err.context = er;
122
- throw err;
123
- }
124
- var handler = events[type];
125
- if (handler === void 0)
126
- return false;
127
- if (typeof handler === "function") {
128
- ReflectApply(handler, this, args);
129
- } else {
130
- var len = handler.length;
131
- var listeners = arrayClone(handler, len);
132
- for (var i = 0; i < len; ++i)
133
- ReflectApply(listeners[i], this, args);
134
- }
135
- return true;
136
- };
137
- function _addListener(target, type, listener, prepend) {
138
- var m;
139
- var events;
140
- var existing;
141
- checkListener(listener);
142
- events = target._events;
143
- if (events === void 0) {
144
- events = target._events = /* @__PURE__ */ Object.create(null);
145
- target._eventsCount = 0;
146
- } else {
147
- if (events.newListener !== void 0) {
148
- target.emit(
149
- "newListener",
150
- type,
151
- listener.listener ? listener.listener : listener
152
- );
153
- events = target._events;
122
+ for (i = 1, args = new Array(len - 1); i < len; i++) {
123
+ args[i - 1] = arguments[i];
154
124
  }
155
- existing = events[type];
156
- }
157
- if (existing === void 0) {
158
- existing = events[type] = listener;
159
- ++target._eventsCount;
125
+ listeners.fn.apply(listeners.context, args);
160
126
  } else {
161
- if (typeof existing === "function") {
162
- existing = events[type] = prepend ? [listener, existing] : [existing, listener];
163
- } else if (prepend) {
164
- existing.unshift(listener);
165
- } else {
166
- existing.push(listener);
167
- }
168
- m = _getMaxListeners(target);
169
- if (m > 0 && existing.length > m && !existing.warned) {
170
- existing.warned = true;
171
- var w = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type) + " listeners added. Use emitter.setMaxListeners() to increase limit");
172
- w.name = "MaxListenersExceededWarning";
173
- w.emitter = target;
174
- w.type = type;
175
- w.count = existing.length;
176
- ProcessEmitWarning(w);
127
+ var length = listeners.length, j;
128
+ for (i = 0; i < length; i++) {
129
+ if (listeners[i].once)
130
+ this.removeListener(event, listeners[i].fn, void 0, true);
131
+ switch (len) {
132
+ case 1:
133
+ listeners[i].fn.call(listeners[i].context);
134
+ break;
135
+ case 2:
136
+ listeners[i].fn.call(listeners[i].context, a1);
137
+ break;
138
+ case 3:
139
+ listeners[i].fn.call(listeners[i].context, a1, a2);
140
+ break;
141
+ case 4:
142
+ listeners[i].fn.call(listeners[i].context, a1, a2, a3);
143
+ break;
144
+ default:
145
+ if (!args)
146
+ for (j = 1, args = new Array(len - 1); j < len; j++) {
147
+ args[j - 1] = arguments[j];
148
+ }
149
+ listeners[i].fn.apply(listeners[i].context, args);
150
+ }
177
151
  }
178
152
  }
179
- return target;
180
- }
181
- EventEmitter2.prototype.addListener = function addListener(type, listener) {
182
- return _addListener(this, type, listener, false);
183
- };
184
- EventEmitter2.prototype.on = EventEmitter2.prototype.addListener;
185
- EventEmitter2.prototype.prependListener = function prependListener(type, listener) {
186
- return _addListener(this, type, listener, true);
153
+ return true;
187
154
  };
188
- function onceWrapper() {
189
- if (!this.fired) {
190
- this.target.removeListener(this.type, this.wrapFn);
191
- this.fired = true;
192
- if (arguments.length === 0)
193
- return this.listener.call(this.target);
194
- return this.listener.apply(this.target, arguments);
195
- }
196
- }
197
- function _onceWrap(target, type, listener) {
198
- var state = { fired: false, wrapFn: void 0, target, type, listener };
199
- var wrapped = onceWrapper.bind(state);
200
- wrapped.listener = listener;
201
- state.wrapFn = wrapped;
202
- return wrapped;
203
- }
204
- EventEmitter2.prototype.once = function once2(type, listener) {
205
- checkListener(listener);
206
- this.on(type, _onceWrap(this, type, listener));
207
- return this;
155
+ EventEmitter2.prototype.on = function on(event, fn, context) {
156
+ return addListener(this, event, fn, context, false);
208
157
  };
209
- EventEmitter2.prototype.prependOnceListener = function prependOnceListener(type, listener) {
210
- checkListener(listener);
211
- this.prependListener(type, _onceWrap(this, type, listener));
212
- return this;
158
+ EventEmitter2.prototype.once = function once(event, fn, context) {
159
+ return addListener(this, event, fn, context, true);
213
160
  };
214
- EventEmitter2.prototype.removeListener = function removeListener(type, listener) {
215
- var list, events, position, i, originalListener;
216
- checkListener(listener);
217
- events = this._events;
218
- if (events === void 0)
161
+ EventEmitter2.prototype.removeListener = function removeListener(event, fn, context, once) {
162
+ var evt = prefix ? prefix + event : event;
163
+ if (!this._events[evt])
219
164
  return this;
220
- list = events[type];
221
- if (list === void 0)
165
+ if (!fn) {
166
+ clearEvent(this, evt);
222
167
  return this;
223
- if (list === listener || list.listener === listener) {
224
- if (--this._eventsCount === 0)
225
- this._events = /* @__PURE__ */ Object.create(null);
226
- else {
227
- delete events[type];
228
- if (events.removeListener)
229
- this.emit("removeListener", type, list.listener || listener);
168
+ }
169
+ var listeners = this._events[evt];
170
+ if (listeners.fn) {
171
+ if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) {
172
+ clearEvent(this, evt);
230
173
  }
231
- } else if (typeof list !== "function") {
232
- position = -1;
233
- for (i = list.length - 1; i >= 0; i--) {
234
- if (list[i] === listener || list[i].listener === listener) {
235
- originalListener = list[i].listener;
236
- position = i;
237
- break;
174
+ } else {
175
+ for (var i = 0, events = [], length = listeners.length; i < length; i++) {
176
+ if (listeners[i].fn !== fn || once && !listeners[i].once || context && listeners[i].context !== context) {
177
+ events.push(listeners[i]);
238
178
  }
239
179
  }
240
- if (position < 0)
241
- return this;
242
- if (position === 0)
243
- list.shift();
244
- else {
245
- spliceOne(list, position);
246
- }
247
- if (list.length === 1)
248
- events[type] = list[0];
249
- if (events.removeListener !== void 0)
250
- this.emit("removeListener", type, originalListener || listener);
180
+ if (events.length)
181
+ this._events[evt] = events.length === 1 ? events[0] : events;
182
+ else
183
+ clearEvent(this, evt);
251
184
  }
252
185
  return this;
253
186
  };
254
- EventEmitter2.prototype.off = EventEmitter2.prototype.removeListener;
255
- EventEmitter2.prototype.removeAllListeners = function removeAllListeners(type) {
256
- var listeners, events, i;
257
- events = this._events;
258
- if (events === void 0)
259
- return this;
260
- if (events.removeListener === void 0) {
261
- if (arguments.length === 0) {
262
- this._events = /* @__PURE__ */ Object.create(null);
263
- this._eventsCount = 0;
264
- } else if (events[type] !== void 0) {
265
- if (--this._eventsCount === 0)
266
- this._events = /* @__PURE__ */ Object.create(null);
267
- else
268
- delete events[type];
269
- }
270
- return this;
271
- }
272
- if (arguments.length === 0) {
273
- var keys = Object.keys(events);
274
- var key;
275
- for (i = 0; i < keys.length; ++i) {
276
- key = keys[i];
277
- if (key === "removeListener")
278
- continue;
279
- this.removeAllListeners(key);
280
- }
281
- this.removeAllListeners("removeListener");
282
- this._events = /* @__PURE__ */ Object.create(null);
187
+ EventEmitter2.prototype.removeAllListeners = function removeAllListeners(event) {
188
+ var evt;
189
+ if (event) {
190
+ evt = prefix ? prefix + event : event;
191
+ if (this._events[evt])
192
+ clearEvent(this, evt);
193
+ } else {
194
+ this._events = new Events();
283
195
  this._eventsCount = 0;
284
- return this;
285
- }
286
- listeners = events[type];
287
- if (typeof listeners === "function") {
288
- this.removeListener(type, listeners);
289
- } else if (listeners !== void 0) {
290
- for (i = listeners.length - 1; i >= 0; i--) {
291
- this.removeListener(type, listeners[i]);
292
- }
293
196
  }
294
197
  return this;
295
198
  };
296
- function _listeners(target, type, unwrap) {
297
- var events = target._events;
298
- if (events === void 0)
299
- return [];
300
- var evlistener = events[type];
301
- if (evlistener === void 0)
302
- return [];
303
- if (typeof evlistener === "function")
304
- return unwrap ? [evlistener.listener || evlistener] : [evlistener];
305
- return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);
306
- }
307
- EventEmitter2.prototype.listeners = function listeners(type) {
308
- return _listeners(this, type, true);
309
- };
310
- EventEmitter2.prototype.rawListeners = function rawListeners(type) {
311
- return _listeners(this, type, false);
312
- };
313
- EventEmitter2.listenerCount = function(emitter, type) {
314
- if (typeof emitter.listenerCount === "function") {
315
- return emitter.listenerCount(type);
316
- } else {
317
- return listenerCount.call(emitter, type);
318
- }
319
- };
320
- EventEmitter2.prototype.listenerCount = listenerCount;
321
- function listenerCount(type) {
322
- var events = this._events;
323
- if (events !== void 0) {
324
- var evlistener = events[type];
325
- if (typeof evlistener === "function") {
326
- return 1;
327
- } else if (evlistener !== void 0) {
328
- return evlistener.length;
329
- }
330
- }
331
- return 0;
332
- }
333
- EventEmitter2.prototype.eventNames = function eventNames() {
334
- return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];
335
- };
336
- function arrayClone(arr, n) {
337
- var copy = new Array(n);
338
- for (var i = 0; i < n; ++i)
339
- copy[i] = arr[i];
340
- return copy;
341
- }
342
- function spliceOne(list, index) {
343
- for (; index + 1 < list.length; index++)
344
- list[index] = list[index + 1];
345
- list.pop();
346
- }
347
- function unwrapListeners(arr) {
348
- var ret = new Array(arr.length);
349
- for (var i = 0; i < ret.length; ++i) {
350
- ret[i] = arr[i].listener || arr[i];
351
- }
352
- return ret;
353
- }
354
- function once(emitter, name) {
355
- return new Promise(function(resolve, reject) {
356
- function errorListener(err) {
357
- emitter.removeListener(name, resolver);
358
- reject(err);
359
- }
360
- function resolver() {
361
- if (typeof emitter.removeListener === "function") {
362
- emitter.removeListener("error", errorListener);
363
- }
364
- resolve([].slice.call(arguments));
365
- }
366
- ;
367
- eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });
368
- if (name !== "error") {
369
- addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });
370
- }
371
- });
372
- }
373
- function addErrorHandlerIfEventEmitter(emitter, handler, flags) {
374
- if (typeof emitter.on === "function") {
375
- eventTargetAgnosticAddListener(emitter, "error", handler, flags);
376
- }
377
- }
378
- function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
379
- if (typeof emitter.on === "function") {
380
- if (flags.once) {
381
- emitter.once(name, listener);
382
- } else {
383
- emitter.on(name, listener);
384
- }
385
- } else if (typeof emitter.addEventListener === "function") {
386
- emitter.addEventListener(name, function wrapListener(arg) {
387
- if (flags.once) {
388
- emitter.removeEventListener(name, wrapListener);
389
- }
390
- listener(arg);
391
- });
392
- } else {
393
- throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter);
394
- }
199
+ EventEmitter2.prototype.off = EventEmitter2.prototype.removeListener;
200
+ EventEmitter2.prototype.addListener = EventEmitter2.prototype.on;
201
+ EventEmitter2.prefixed = prefix;
202
+ EventEmitter2.EventEmitter = EventEmitter2;
203
+ if ("undefined" !== typeof module) {
204
+ module.exports = EventEmitter2;
395
205
  }
396
206
  }
397
207
  });
@@ -415,15 +225,16 @@ import {
415
225
  } from "@openfeature/core";
416
226
 
417
227
  // src/events/open-feature-event-emitter.ts
418
- var import_events = __toESM(require_events());
419
228
  import { GenericEventEmitter } from "@openfeature/core";
229
+
230
+ // ../../node_modules/eventemitter3/index.mjs
231
+ var import_index = __toESM(require_eventemitter3(), 1);
232
+
233
+ // src/events/open-feature-event-emitter.ts
420
234
  var OpenFeatureEventEmitter = class extends GenericEventEmitter {
421
- eventEmitter = new import_events.EventEmitter({ captureRejections: true });
235
+ eventEmitter = new import_index.default();
422
236
  constructor() {
423
237
  super();
424
- this.eventEmitter.on("error", (err) => {
425
- this._logger?.error("Error running event handler:", err);
426
- });
427
238
  }
428
239
  };
429
240