@datadog/flagging-core 1.1.0 → 1.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.
@@ -32,7 +32,7 @@ export declare abstract class AbstractAssignmentCache<T extends Map<string, stri
32
32
  * Returns an array with all {@link AssignmentCacheEntry} entries in the cache as an array of
33
33
  * {@link string}s.
34
34
  */
35
- entries(): IterableIterator<[string, string]>;
35
+ entries(): MapIterator<[string, string]>;
36
36
  /** Clears all entries from the cache. */
37
37
  clear(): void;
38
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-assignment-cache.d.ts","sourceRoot":"","sources":["../../src/cache/abstract-assignment-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGrD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;AACxE,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAA;AAEhD,0DAA0D;AAC1D,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,kBAAkB,GAAG,aAAa,GAAG,MAAM,CAWpG;AAED,4DAA4D;AAC5D,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,oBAAoB,GAAG,MAAM,CAErF;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC,EAAE,CAAC;IAC5B,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IAEnC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEpC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAErB,GAAG,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAEpC,GAAG,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAA;IAEvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC9B;AAED,8BAAsB,uBAAuB,CAAC,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAE,YAAW,eAAe;IAE/E,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAApD,SAAS,aAAgC,QAAQ,EAAE,CAAC;IAEpD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,yFAAyF;IACzF,GAAG,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO;IAIzC,GAAG,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS;IAIhD;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAItC;;;OAGG;IACH,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI7C,yCAAyC;IACzC,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"abstract-assignment-cache.d.ts","sourceRoot":"","sources":["../../src/cache/abstract-assignment-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGrD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;AACxE,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAA;AAEhD,0DAA0D;AAC1D,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,kBAAkB,GAAG,aAAa,GAAG,MAAM,CAWpG;AAED,4DAA4D;AAC5D,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,oBAAoB,GAAG,MAAM,CAErF;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC,EAAE,CAAC;IAC5B,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IAEnC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEpC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAErB,GAAG,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAEpC,GAAG,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAA;IAEvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC9B;AAED,8BAAsB,uBAAuB,CAAC,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAE,YAAW,eAAe;IAE/E,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAApD,SAAS,aAAgC,QAAQ,EAAE,CAAC;IAEpD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,yFAAyF;IACzF,GAAG,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO;IAIzC,GAAG,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS;IAIhD;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAItC;;;OAGG;IACH,OAAO;IAIP,yCAAyC;IACzC,KAAK,IAAI,IAAI;CAGd"}
@@ -16,14 +16,14 @@ export declare class LRUCache implements Map<string, string> {
16
16
  protected readonly cache: Map<string, string>;
17
17
  [Symbol.toStringTag]: string;
18
18
  constructor(capacity: number);
19
- [Symbol.iterator](): IterableIterator<[string, string]>;
19
+ [Symbol.iterator](): MapIterator<[string, string]>;
20
20
  forEach(callbackFn: (value: string, key: string, map: Map<string, string>) => void): void;
21
21
  readonly size: number;
22
- entries(): IterableIterator<[string, string]>;
22
+ entries(): MapIterator<[string, string]>;
23
23
  clear(): void;
24
24
  delete(key: string): boolean;
25
- keys(): IterableIterator<string>;
26
- values(): IterableIterator<string>;
25
+ keys(): MapIterator<string>;
26
+ values(): MapIterator<string>;
27
27
  has(key: string): boolean;
28
28
  get(key: string): string | undefined;
29
29
  set(key: string, value: string): this;
@@ -1 +1 @@
1
- {"version":3,"file":"lru-cache.d.ts","sourceRoot":"","sources":["../../src/cache/lru-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,qBAAa,QAAS,YAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAMtC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAL/C,SAAS,CAAC,QAAQ,CAAC,KAAK,sBAA6B;IAGrD,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;gBAEG,QAAQ,EAAE,MAAM;IAE/C,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAIvD,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI;IAIzF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAkB;IAEvC,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI7C,KAAK;IAIL,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC;IAIhC,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC;IAIlC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAoBpC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAqBtC"}
1
+ {"version":3,"file":"lru-cache.d.ts","sourceRoot":"","sources":["../../src/cache/lru-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,qBAAa,QAAS,YAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAMtC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAL/C,SAAS,CAAC,QAAQ,CAAC,KAAK,sBAA6B;IAGrD,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;gBAEG,QAAQ,EAAE,MAAM;IAE/C,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI;IAIzF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAkB;IAEvC,OAAO;IAIP,KAAK;IAIL,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,IAAI;IAIJ,MAAM;IAIN,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAoBpC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAqBtC"}
@@ -49,4 +49,10 @@ export type PrecomputedFlagMetadata = {
49
49
  variationType: FlagValueType;
50
50
  doLog: boolean;
51
51
  };
52
+ /**
53
+ * Check if a stored configuration matches the requested evaluation context.
54
+ * - If the config has no context, it's context-agnostic and matches any request
55
+ * - If the config has a context, it must match the requested context exactly
56
+ */
57
+ export declare function configMatchesContext(config: FlagsConfiguration | undefined, requestedContext: EvaluationContext): boolean;
52
58
  //# sourceMappingURL=configuration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/configuration/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEtG;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB;IAChB,WAAW,CAAC,EAAE,wBAAwB,CAAA;CACvC,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,gCAAgC,CAAA;IAC1C,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,SAAS,CAAC,EAAE,aAAa,CAAA;CAC1B,CAAA;AAGD,gBAAgB;AAChB,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,IAAI;IACrD,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,SAAS,CAAA;CAClB,CAAC,CAAC,CAAC,CAAA;AAEJ;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;AAElC,gBAAgB;AAChB,MAAM,MAAM,gCAAgC,GAAG;IAC7C,IAAI,EAAE;QACJ,UAAU,EAAE;YACV,wCAAwC;YACxC,SAAS,EAAE,MAAM,CAAA;YACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;SACvC,CAAA;KACF,CAAA;CACF,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI;IACrE,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,CAAC,CAAA;IAChB,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,EAAE,gBAAgB,CAAA;IACxB,KAAK,EAAE,OAAO,CAAA;IACd,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACtC,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,uBAAuB,GAAG;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,aAAa,CAAA;IAC5B,KAAK,EAAE,OAAO,CAAA;CACf,CAAA"}
1
+ {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/configuration/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEtG;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB;IAChB,WAAW,CAAC,EAAE,wBAAwB,CAAA;CACvC,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,gCAAgC,CAAA;IAC1C,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,SAAS,CAAC,EAAE,aAAa,CAAA;CAC1B,CAAA;AAGD,gBAAgB;AAChB,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,IAAI;IACrD,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,SAAS,CAAA;CAClB,CAAC,CAAC,CAAC,CAAA;AAEJ;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;AAElC,gBAAgB;AAChB,MAAM,MAAM,gCAAgC,GAAG;IAC7C,IAAI,EAAE;QACJ,UAAU,EAAE;YACV,wCAAwC;YACxC,SAAS,EAAE,MAAM,CAAA;YACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;SACvC,CAAA;KACF,CAAA;CACF,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI;IACrE,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,CAAC,CAAA;IAChB,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,EAAE,gBAAgB,CAAA;IACxB,KAAK,EAAE,OAAO,CAAA;IACd,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACtC,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,uBAAuB,GAAG;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,aAAa,CAAA;IAC5B,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,kBAAkB,GAAG,SAAS,EACtC,gBAAgB,EAAE,iBAAiB,GAClC,OAAO,CAUT"}
@@ -1,3 +1,70 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.configMatchesContext = configMatchesContext;
4
+ /**
5
+ * Check if a stored configuration matches the requested evaluation context.
6
+ * - If the config has no context, it's context-agnostic and matches any request
7
+ * - If the config has a context, it must match the requested context exactly
8
+ */
9
+ function configMatchesContext(config, requestedContext) {
10
+ if (!(config === null || config === void 0 ? void 0 : config.precomputed))
11
+ return false;
12
+ const storedContext = config.precomputed.context;
13
+ // No stored context = context-agnostic config, matches any evaluation context
14
+ if (!storedContext)
15
+ return true;
16
+ // Stored context exists = must match exactly
17
+ return contextsEqual(storedContext, requestedContext);
18
+ }
19
+ /**
20
+ * Deep equality check for evaluation contexts
21
+ */
22
+ function contextsEqual(a, b) {
23
+ return objectsEqual(a, b);
24
+ }
25
+ /**
26
+ * Deep equality check for objects
27
+ */
28
+ function objectsEqual(a, b) {
29
+ const keysA = Object.keys(a).sort();
30
+ const keysB = Object.keys(b).sort();
31
+ if (keysA.length !== keysB.length)
32
+ return false;
33
+ for (let i = 0; i < keysA.length; i++) {
34
+ if (keysA[i] !== keysB[i])
35
+ return false;
36
+ if (!valuesEqual(a[keysA[i]], b[keysB[i]]))
37
+ return false;
38
+ }
39
+ return true;
40
+ }
41
+ /**
42
+ * Type guard for record objects
43
+ */
44
+ function isRecord(value) {
45
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
46
+ }
47
+ /**
48
+ * Deep equality check for values (handles primitives, arrays, objects, and dates)
49
+ */
50
+ function valuesEqual(a, b) {
51
+ if (a === b)
52
+ return true;
53
+ if (a == null || b == null)
54
+ return false;
55
+ if (typeof a !== typeof b)
56
+ return false;
57
+ if (a instanceof Date && b instanceof Date) {
58
+ return a.getTime() === b.getTime();
59
+ }
60
+ if (Array.isArray(a) && Array.isArray(b)) {
61
+ if (a.length !== b.length)
62
+ return false;
63
+ return a.every((val, idx) => valuesEqual(val, b[idx]));
64
+ }
65
+ if (isRecord(a) && isRecord(b)) {
66
+ return objectsEqual(a, b);
67
+ }
68
+ return false;
69
+ }
3
70
  //# sourceMappingURL=configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/configuration/configuration.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/configuration/configuration.ts"],"names":[],"mappings":";;AAiEA,oDAaC;AAlBD;;;;GAIG;AACH,SAAgB,oBAAoB,CAClC,MAAsC,EACtC,gBAAmC;IAEnC,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,CAAA;QAAE,OAAO,KAAK,CAAA;IAEtC,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAA;IAEhD,8EAA8E;IAC9E,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAA;IAE/B,6CAA6C;IAC7C,OAAO,aAAa,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAA;AACvD,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,CAAoB,EAAE,CAAoB;IAC/D,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC3B,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,CAA0B,EAAE,CAA0B;IAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAEnC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QACvC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;IAC1D,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,CAAU,EAAE,CAAU;IACzC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACxB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,KAAK,CAAA;IACxC,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,OAAO,KAAK,CAAA;IAEvC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QAC3C,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;IACpC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QACvC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -32,7 +32,7 @@ export declare abstract class AbstractAssignmentCache<T extends Map<string, stri
32
32
  * Returns an array with all {@link AssignmentCacheEntry} entries in the cache as an array of
33
33
  * {@link string}s.
34
34
  */
35
- entries(): IterableIterator<[string, string]>;
35
+ entries(): MapIterator<[string, string]>;
36
36
  /** Clears all entries from the cache. */
37
37
  clear(): void;
38
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-assignment-cache.d.ts","sourceRoot":"","sources":["../../src/cache/abstract-assignment-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGrD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;AACxE,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAA;AAEhD,0DAA0D;AAC1D,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,kBAAkB,GAAG,aAAa,GAAG,MAAM,CAWpG;AAED,4DAA4D;AAC5D,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,oBAAoB,GAAG,MAAM,CAErF;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC,EAAE,CAAC;IAC5B,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IAEnC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEpC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAErB,GAAG,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAEpC,GAAG,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAA;IAEvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC9B;AAED,8BAAsB,uBAAuB,CAAC,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAE,YAAW,eAAe;IAE/E,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAApD,SAAS,aAAgC,QAAQ,EAAE,CAAC;IAEpD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,yFAAyF;IACzF,GAAG,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO;IAIzC,GAAG,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS;IAIhD;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAItC;;;OAGG;IACH,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI7C,yCAAyC;IACzC,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"abstract-assignment-cache.d.ts","sourceRoot":"","sources":["../../src/cache/abstract-assignment-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGrD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;AACxE,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAA;AAEhD,0DAA0D;AAC1D,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,kBAAkB,GAAG,aAAa,GAAG,MAAM,CAWpG;AAED,4DAA4D;AAC5D,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,oBAAoB,GAAG,MAAM,CAErF;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC,EAAE,CAAC;IAC5B,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IAEnC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEpC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAErB,GAAG,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAEpC,GAAG,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAA;IAEvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC9B;AAED,8BAAsB,uBAAuB,CAAC,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAE,YAAW,eAAe;IAE/E,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAApD,SAAS,aAAgC,QAAQ,EAAE,CAAC;IAEpD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,yFAAyF;IACzF,GAAG,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO;IAIzC,GAAG,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS;IAIhD;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAItC;;;OAGG;IACH,OAAO;IAIP,yCAAyC;IACzC,KAAK,IAAI,IAAI;CAGd"}
@@ -16,14 +16,14 @@ export declare class LRUCache implements Map<string, string> {
16
16
  protected readonly cache: Map<string, string>;
17
17
  [Symbol.toStringTag]: string;
18
18
  constructor(capacity: number);
19
- [Symbol.iterator](): IterableIterator<[string, string]>;
19
+ [Symbol.iterator](): MapIterator<[string, string]>;
20
20
  forEach(callbackFn: (value: string, key: string, map: Map<string, string>) => void): void;
21
21
  readonly size: number;
22
- entries(): IterableIterator<[string, string]>;
22
+ entries(): MapIterator<[string, string]>;
23
23
  clear(): void;
24
24
  delete(key: string): boolean;
25
- keys(): IterableIterator<string>;
26
- values(): IterableIterator<string>;
25
+ keys(): MapIterator<string>;
26
+ values(): MapIterator<string>;
27
27
  has(key: string): boolean;
28
28
  get(key: string): string | undefined;
29
29
  set(key: string, value: string): this;
@@ -1 +1 @@
1
- {"version":3,"file":"lru-cache.d.ts","sourceRoot":"","sources":["../../src/cache/lru-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,qBAAa,QAAS,YAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAMtC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAL/C,SAAS,CAAC,QAAQ,CAAC,KAAK,sBAA6B;IAGrD,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;gBAEG,QAAQ,EAAE,MAAM;IAE/C,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAIvD,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI;IAIzF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAkB;IAEvC,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI7C,KAAK;IAIL,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC;IAIhC,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC;IAIlC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAoBpC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAqBtC"}
1
+ {"version":3,"file":"lru-cache.d.ts","sourceRoot":"","sources":["../../src/cache/lru-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,qBAAa,QAAS,YAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAMtC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAL/C,SAAS,CAAC,QAAQ,CAAC,KAAK,sBAA6B;IAGrD,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;gBAEG,QAAQ,EAAE,MAAM;IAE/C,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI;IAIzF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAkB;IAEvC,OAAO;IAIP,KAAK;IAIL,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,IAAI;IAIJ,MAAM;IAIN,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAoBpC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAqBtC"}
@@ -49,4 +49,10 @@ export type PrecomputedFlagMetadata = {
49
49
  variationType: FlagValueType;
50
50
  doLog: boolean;
51
51
  };
52
+ /**
53
+ * Check if a stored configuration matches the requested evaluation context.
54
+ * - If the config has no context, it's context-agnostic and matches any request
55
+ * - If the config has a context, it must match the requested context exactly
56
+ */
57
+ export declare function configMatchesContext(config: FlagsConfiguration | undefined, requestedContext: EvaluationContext): boolean;
52
58
  //# sourceMappingURL=configuration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/configuration/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEtG;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB;IAChB,WAAW,CAAC,EAAE,wBAAwB,CAAA;CACvC,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,gCAAgC,CAAA;IAC1C,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,SAAS,CAAC,EAAE,aAAa,CAAA;CAC1B,CAAA;AAGD,gBAAgB;AAChB,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,IAAI;IACrD,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,SAAS,CAAA;CAClB,CAAC,CAAC,CAAC,CAAA;AAEJ;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;AAElC,gBAAgB;AAChB,MAAM,MAAM,gCAAgC,GAAG;IAC7C,IAAI,EAAE;QACJ,UAAU,EAAE;YACV,wCAAwC;YACxC,SAAS,EAAE,MAAM,CAAA;YACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;SACvC,CAAA;KACF,CAAA;CACF,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI;IACrE,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,CAAC,CAAA;IAChB,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,EAAE,gBAAgB,CAAA;IACxB,KAAK,EAAE,OAAO,CAAA;IACd,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACtC,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,uBAAuB,GAAG;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,aAAa,CAAA;IAC5B,KAAK,EAAE,OAAO,CAAA;CACf,CAAA"}
1
+ {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/configuration/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEtG;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB;IAChB,WAAW,CAAC,EAAE,wBAAwB,CAAA;CACvC,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,gCAAgC,CAAA;IAC1C,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,SAAS,CAAC,EAAE,aAAa,CAAA;CAC1B,CAAA;AAGD,gBAAgB;AAChB,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,IAAI;IACrD,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,SAAS,CAAA;CAClB,CAAC,CAAC,CAAC,CAAA;AAEJ;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;AAElC,gBAAgB;AAChB,MAAM,MAAM,gCAAgC,GAAG;IAC7C,IAAI,EAAE;QACJ,UAAU,EAAE;YACV,wCAAwC;YACxC,SAAS,EAAE,MAAM,CAAA;YACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;SACvC,CAAA;KACF,CAAA;CACF,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI;IACrE,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,CAAC,CAAA;IAChB,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,EAAE,gBAAgB,CAAA;IACxB,KAAK,EAAE,OAAO,CAAA;IACd,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACtC,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,uBAAuB,GAAG;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,aAAa,CAAA;IAC5B,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,kBAAkB,GAAG,SAAS,EACtC,gBAAgB,EAAE,iBAAiB,GAClC,OAAO,CAUT"}
@@ -1,2 +1,67 @@
1
- export {};
1
+ /**
2
+ * Check if a stored configuration matches the requested evaluation context.
3
+ * - If the config has no context, it's context-agnostic and matches any request
4
+ * - If the config has a context, it must match the requested context exactly
5
+ */
6
+ export function configMatchesContext(config, requestedContext) {
7
+ if (!(config === null || config === void 0 ? void 0 : config.precomputed))
8
+ return false;
9
+ const storedContext = config.precomputed.context;
10
+ // No stored context = context-agnostic config, matches any evaluation context
11
+ if (!storedContext)
12
+ return true;
13
+ // Stored context exists = must match exactly
14
+ return contextsEqual(storedContext, requestedContext);
15
+ }
16
+ /**
17
+ * Deep equality check for evaluation contexts
18
+ */
19
+ function contextsEqual(a, b) {
20
+ return objectsEqual(a, b);
21
+ }
22
+ /**
23
+ * Deep equality check for objects
24
+ */
25
+ function objectsEqual(a, b) {
26
+ const keysA = Object.keys(a).sort();
27
+ const keysB = Object.keys(b).sort();
28
+ if (keysA.length !== keysB.length)
29
+ return false;
30
+ for (let i = 0; i < keysA.length; i++) {
31
+ if (keysA[i] !== keysB[i])
32
+ return false;
33
+ if (!valuesEqual(a[keysA[i]], b[keysB[i]]))
34
+ return false;
35
+ }
36
+ return true;
37
+ }
38
+ /**
39
+ * Type guard for record objects
40
+ */
41
+ function isRecord(value) {
42
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
43
+ }
44
+ /**
45
+ * Deep equality check for values (handles primitives, arrays, objects, and dates)
46
+ */
47
+ function valuesEqual(a, b) {
48
+ if (a === b)
49
+ return true;
50
+ if (a == null || b == null)
51
+ return false;
52
+ if (typeof a !== typeof b)
53
+ return false;
54
+ if (a instanceof Date && b instanceof Date) {
55
+ return a.getTime() === b.getTime();
56
+ }
57
+ if (Array.isArray(a) && Array.isArray(b)) {
58
+ if (a.length !== b.length)
59
+ return false;
60
+ return a.every((val, idx) => valuesEqual(val, b[idx]));
61
+ }
62
+ if (isRecord(a) && isRecord(b)) {
63
+ return objectsEqual(a, b);
64
+ }
65
+ return false;
66
+ }
2
67
  //# sourceMappingURL=configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/configuration/configuration.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/configuration/configuration.ts"],"names":[],"mappings":"AA4DA;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAsC,EACtC,gBAAmC;IAEnC,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,CAAA;QAAE,OAAO,KAAK,CAAA;IAEtC,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAA;IAEhD,8EAA8E;IAC9E,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAA;IAE/B,6CAA6C;IAC7C,OAAO,aAAa,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAA;AACvD,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,CAAoB,EAAE,CAAoB;IAC/D,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC3B,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,CAA0B,EAAE,CAA0B;IAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAEnC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QACvC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;IAC1D,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,CAAU,EAAE,CAAU;IACzC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACxB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,KAAK,CAAA;IACxC,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,OAAO,KAAK,CAAA;IAEvC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QAC3C,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;IACpC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QACvC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datadog/flagging-core",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Runtime-agnostic flag-evaluation logic for Datadog Flagging",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -41,15 +41,15 @@
41
41
  "typecheck": "tsc --noEmit"
42
42
  },
43
43
  "devDependencies": {
44
- "@openfeature/core": "^1.8.1",
45
- "@types/jest": "^29.4.0",
44
+ "@openfeature/core": "^1.9.2",
45
+ "@types/jest": "^30.0.0",
46
46
  "@types/node": "^18.0.0",
47
47
  "@types/spark-md5": "^3.0.5",
48
- "jest": "^30.0.4",
48
+ "jest": "^30.0.5",
49
49
  "npm-run-all": "^4.1.5",
50
50
  "ts-jest": "^29.4.0",
51
- "ts-loader": "^9.5.2",
52
- "typescript": "^5.5.0"
51
+ "ts-loader": "^9.5.4",
52
+ "typescript": "^5.9.3"
53
53
  },
54
54
  "dependencies": {
55
55
  "spark-md5": "^3.0.2"