@zuplo/cli 7.12.6 → 7.12.7

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.
Files changed (36) hide show
  1. package/node_modules/@posthog/core/dist/featureFlagLocalEvaluation.d.ts +13 -1
  2. package/node_modules/@posthog/core/dist/featureFlagLocalEvaluation.d.ts.map +1 -1
  3. package/node_modules/@posthog/core/dist/featureFlagLocalEvaluation.js +101 -31
  4. package/node_modules/@posthog/core/dist/featureFlagLocalEvaluation.mjs +99 -32
  5. package/node_modules/@posthog/core/dist/index.d.ts +2 -2
  6. package/node_modules/@posthog/core/dist/index.d.ts.map +1 -1
  7. package/node_modules/@posthog/core/dist/index.js +17 -7
  8. package/node_modules/@posthog/core/dist/index.mjs +1 -1
  9. package/node_modules/@posthog/core/dist/posthog-core.d.ts.map +1 -1
  10. package/node_modules/@posthog/core/dist/posthog-core.js +1 -1
  11. package/node_modules/@posthog/core/dist/posthog-core.mjs +1 -1
  12. package/node_modules/@posthog/core/dist/types.d.ts +2 -0
  13. package/node_modules/@posthog/core/dist/types.d.ts.map +1 -1
  14. package/node_modules/@posthog/core/dist/types.js +1 -0
  15. package/node_modules/@posthog/core/dist/types.mjs +1 -0
  16. package/node_modules/@posthog/core/package.json +1 -1
  17. package/node_modules/@posthog/core/src/featureFlagLocalEvaluation.ts +143 -63
  18. package/node_modules/@posthog/core/src/index.ts +2 -0
  19. package/node_modules/@posthog/core/src/posthog-core.ts +3 -1
  20. package/node_modules/@posthog/core/src/types.ts +2 -0
  21. package/node_modules/@zuplo/core/package.json +1 -1
  22. package/node_modules/@zuplo/core/zeno.js +4 -4
  23. package/node_modules/@zuplo/graphql/package.json +1 -1
  24. package/node_modules/@zuplo/openapi-tools/package.json +1 -1
  25. package/node_modules/@zuplo/otel/package.json +1 -1
  26. package/node_modules/@zuplo/runtime/package.json +1 -1
  27. package/node_modules/body-parser/README.md +17 -13
  28. package/node_modules/body-parser/lib/read.js +74 -57
  29. package/node_modules/body-parser/lib/types/json.js +11 -11
  30. package/node_modules/body-parser/lib/types/urlencoded.js +5 -5
  31. package/node_modules/body-parser/lib/utils.js +0 -15
  32. package/node_modules/body-parser/package.json +7 -12
  33. package/node_modules/on-finished/index.js +14 -2
  34. package/node_modules/on-finished/package.json +11 -7
  35. package/package.json +11 -11
  36. package/node_modules/on-finished/HISTORY.md +0 -98
@@ -21,12 +21,24 @@ export type FeatureFlagVariantLookupEntry = {
21
21
  valueMax: number;
22
22
  key: string;
23
23
  };
24
+ /**
25
+ * Why local evaluation could not resolve a flag. `experience_continuity` and
26
+ * `unsupported_definition` come from the flag's definition, `missing_context` from the
27
+ * evaluation call, and `unresolved_dependency` from a flag the definition depends on.
28
+ */
29
+ export type UnresolvedFlagReason = 'experience_continuity' | 'unsupported_definition' | 'missing_context' | 'unresolved_dependency';
24
30
  export declare class InconclusiveMatchError extends Error {
25
- constructor(message: string);
31
+ readonly reason: UnresolvedFlagReason;
32
+ constructor(message: string, reason?: UnresolvedFlagReason);
26
33
  }
27
34
  type SemverTuple = [number, number, number];
28
35
  export declare function parseFeatureFlagSemver(value: string, parsingPolicy?: FeatureFlagSemverParsingPolicy): SemverTuple;
29
36
  export declare function relativeDateParseForFeatureFlagMatching(value: string): Date | null;
37
+ /**
38
+ * Throws an unsupported_definition error when local evaluation cannot use the filter, whatever
39
+ * the context holds: an unknown operator, or a filter value that the operator cannot parse.
40
+ */
41
+ export declare function assertFeatureFlagFilterSupported(property: FeatureFlagProperty, options?: Pick<MatchFeatureFlagPropertyOptions, 'semverParsingPolicy'>): void;
30
42
  export declare function matchFeatureFlagProperty(property: FeatureFlagProperty, propertyValues: Record<string, any>, options?: MatchFeatureFlagPropertyOptions): boolean;
31
43
  export declare function hashSHA1(text: string): Promise<string>;
32
44
  export declare function getFeatureFlagHash(key: string, bucketingValue: string, salt?: string, separator?: string): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"featureFlagLocalEvaluation.d.ts","sourceRoot":"","sources":["../src/featureFlagLocalEvaluation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEzD,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAA;AAE/C,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,wBAAwB,CAAA;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG,QAAQ,GAAG,mBAAmB,CAAA;AAE3E,MAAM,MAAM,+BAA+B,GAAG;IAC5C,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,mBAAmB,CAAC,EAAE,8BAA8B,CAAA;IACpD,mGAAmG;IACnG,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,kBAAkB,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAqBD,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,OAAO,EAAE,MAAM,EAI1B;CACF;AAsLD,KAAK,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAa3C,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,aAAa,GAAE,8BAAyC,GACvD,WAAW,CAeb;AAwED,wBAAgB,uCAAuC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAmBlF;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,mBAAmB,EAC7B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAoKT;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ5D;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,MAAM,EACtB,IAAI,GAAE,MAAW,EACjB,SAAS,GAAE,MAAY,GACtB,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,EACxE,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA0B7B;AAED,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GACtC,6BAA6B,EAAE,CASjC;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GACtC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAK7B;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,EAC3E,SAAS,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAC7C,QAAQ,GAAG,IAAI,CAMjB"}
1
+ {"version":3,"file":"featureFlagLocalEvaluation.d.ts","sourceRoot":"","sources":["../src/featureFlagLocalEvaluation.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
31
  InconclusiveMatchError: ()=>InconclusiveMatchError,
32
+ assertFeatureFlagFilterSupported: ()=>assertFeatureFlagFilterSupported,
32
33
  getFeatureFlagHash: ()=>getFeatureFlagHash,
33
34
  getFeatureFlagVariant: ()=>getFeatureFlagVariant,
34
35
  getFeatureFlagVariantLookupTable: ()=>getFeatureFlagVariantLookupTable,
@@ -54,12 +55,21 @@ const NULL_VALUES_ALLOWED_OPERATORS = [
54
55
  ];
55
56
  const LONG_SCALE = 0xfffffffffffffff;
56
57
  class InconclusiveMatchError extends Error {
57
- constructor(message){
58
+ constructor(message, reason = 'unsupported_definition'){
58
59
  super(message);
59
60
  this.name = this.constructor.name;
61
+ this.reason = reason;
60
62
  Object.setPrototypeOf(this, InconclusiveMatchError.prototype);
61
63
  }
62
64
  }
65
+ function readContextValue(read) {
66
+ try {
67
+ return read();
68
+ } catch (e) {
69
+ if (e instanceof InconclusiveMatchError) throw new InconclusiveMatchError(e.message, 'missing_context');
70
+ throw e;
71
+ }
72
+ }
63
73
  function isTruthyOrFalsyPropertyValue(value) {
64
74
  if ('boolean' == typeof value) return true;
65
75
  if ('string' == typeof value) {
@@ -330,7 +340,69 @@ function relativeDateParseForFeatureFlagMatching(value) {
330
340
  }
331
341
  return parsedDt;
332
342
  }
343
+ function parseDateFilter(value) {
344
+ if ('boolean' == typeof value) throw new InconclusiveMatchError('Date operations cannot be performed on boolean values');
345
+ return relativeDateParseForFeatureFlagMatching(String(value)) ?? convertToDateTime(value);
346
+ }
347
+ function assertFeatureFlagFilterSupported(property, options = {}) {
348
+ const value = property.value;
349
+ const parsingPolicy = options.semverParsingPolicy ?? 'strict';
350
+ switch(property.operator || 'exact'){
351
+ case 'exact':
352
+ case 'is_not':
353
+ for (const item of Array.isArray(value) ? value : [
354
+ value
355
+ ])exactMatchString(item);
356
+ return;
357
+ case 'is_set':
358
+ case 'is_not_set':
359
+ case 'icontains':
360
+ case 'not_icontains':
361
+ case 'starts_with':
362
+ case 'not_starts_with':
363
+ case 'ends_with':
364
+ case 'not_ends_with':
365
+ case 'regex':
366
+ case 'not_regex':
367
+ case 'gt':
368
+ case 'gte':
369
+ case 'lt':
370
+ case 'lte':
371
+ return;
372
+ case 'is_date_after':
373
+ case 'is_date_before':
374
+ parseDateFilter(value);
375
+ return;
376
+ case 'semver_eq':
377
+ case 'semver_neq':
378
+ case 'semver_gt':
379
+ case 'semver_gte':
380
+ case 'semver_lt':
381
+ case 'semver_lte':
382
+ parseFeatureFlagSemver(String(value), parsingPolicy);
383
+ return;
384
+ case 'semver_tilde':
385
+ computeTildeBounds(String(value), parsingPolicy);
386
+ return;
387
+ case 'semver_caret':
388
+ computeCaretBounds(String(value), parsingPolicy);
389
+ return;
390
+ case 'semver_wildcard':
391
+ computeWildcardBounds(String(value), parsingPolicy);
392
+ return;
393
+ default:
394
+ throw new InconclusiveMatchError(`Unknown operator: ${property.operator}`);
395
+ }
396
+ }
333
397
  function matchFeatureFlagProperty(property, propertyValues, options = {}) {
398
+ try {
399
+ return matchPropertyValue(property, propertyValues, options);
400
+ } catch (e) {
401
+ if (e instanceof InconclusiveMatchError && 'missing_context' === e.reason) assertFeatureFlagFilterSupported(property, options);
402
+ throw e;
403
+ }
404
+ }
405
+ function matchPropertyValue(property, propertyValues, options) {
334
406
  const key = property.key;
335
407
  const value = property.value;
336
408
  const operator = property.operator || 'exact';
@@ -339,7 +411,7 @@ function matchFeatureFlagProperty(property, propertyValues, options = {}) {
339
411
  if (hasProperty) {
340
412
  if ('is_not_set' === operator) return false;
341
413
  else if ('is_set' === operator) return true;
342
- } else throw new InconclusiveMatchError(`Property ${key} not found in propertyValues`);
414
+ } else throw new InconclusiveMatchError(`Property ${key} not found in propertyValues`, 'missing_context');
343
415
  const overrideValue = propertyValues[key];
344
416
  if (void 0 === overrideValue) {
345
417
  options.warnFunction?.(`Property ${key} cannot have a value of undefined with the ${operator} operator`);
@@ -351,18 +423,19 @@ function matchFeatureFlagProperty(property, propertyValues, options = {}) {
351
423
  }
352
424
  const computeExactMatch = (target, actual)=>{
353
425
  if (2 !== options.propertyMatchingVersion && isTruthyOrFalsyPropertyValue(target) || Array.isArray(target) && 0 === target.length) {
354
- assertJsonRepresentable(actual);
426
+ readContextValue(()=>assertJsonRepresentable(actual));
355
427
  return isTruthyPropertyValue(target) === isTruthyPropertyValue(actual);
356
428
  }
357
429
  if (2 === options.propertyMatchingVersion && 'number' == typeof actual && isTruthyOrFalsyPropertyValue(target)) {
358
- assertJsonRepresentable(actual);
430
+ readContextValue(()=>assertJsonRepresentable(actual));
359
431
  return false;
360
432
  }
361
433
  if (Array.isArray(target)) {
362
- const actualString = exactMatchString(actual).toLowerCase();
434
+ const actualString = readContextValue(()=>exactMatchString(actual)).toLowerCase();
363
435
  return target.some((item)=>exactMatchString(item).toLowerCase() === actualString);
364
436
  }
365
- return exactMatchString(target).toLowerCase() === exactMatchString(actual).toLowerCase();
437
+ const targetString = exactMatchString(target).toLowerCase();
438
+ return targetString === readContextValue(()=>exactMatchString(actual)).toLowerCase();
366
439
  };
367
440
  const compare = (lhs, rhs, comparisonOperator)=>{
368
441
  if ('gt' === comparisonOperator) return lhs > rhs;
@@ -371,6 +444,15 @@ function matchFeatureFlagProperty(property, propertyValues, options = {}) {
371
444
  if ('lte' === comparisonOperator) return lhs <= rhs;
372
445
  throw new Error(`Invalid operator: ${comparisonOperator}`);
373
446
  };
447
+ const parseContextSemver = ()=>readContextValue(()=>parseFeatureFlagSemver(String(overrideValue), parsingPolicy));
448
+ const compareContextSemverToFilter = ()=>{
449
+ const filterParsed = parseFeatureFlagSemver(String(value), parsingPolicy);
450
+ return compareSemverTuples(parseContextSemver(), filterParsed);
451
+ };
452
+ const isContextSemverWithin = ({ lower, upper })=>{
453
+ const overrideParsed = parseContextSemver();
454
+ return compareSemverTuples(overrideParsed, lower) >= 0 && compareSemverTuples(overrideParsed, upper) < 0;
455
+ };
374
456
  switch(operator){
375
457
  case 'exact':
376
458
  return computeExactMatch(value, overrideValue);
@@ -407,42 +489,28 @@ function matchFeatureFlagProperty(property, propertyValues, options = {}) {
407
489
  case 'is_date_after':
408
490
  case 'is_date_before':
409
491
  {
410
- if ('boolean' == typeof value) throw new InconclusiveMatchError('Date operations cannot be performed on boolean values');
411
- let parsedDate = relativeDateParseForFeatureFlagMatching(String(value));
412
- if (null == parsedDate) parsedDate = convertToDateTime(value);
413
- const overrideDate = convertToDateTime(overrideValue);
492
+ const parsedDate = parseDateFilter(value);
493
+ const overrideDate = readContextValue(()=>convertToDateTime(overrideValue));
414
494
  return 'is_date_before' === operator ? overrideDate < parsedDate : overrideDate > parsedDate;
415
495
  }
416
496
  case 'semver_eq':
417
- return 0 === compareSemverTuples(parseFeatureFlagSemver(String(overrideValue), parsingPolicy), parseFeatureFlagSemver(String(value), parsingPolicy));
497
+ return 0 === compareContextSemverToFilter();
418
498
  case 'semver_neq':
419
- return 0 !== compareSemverTuples(parseFeatureFlagSemver(String(overrideValue), parsingPolicy), parseFeatureFlagSemver(String(value), parsingPolicy));
499
+ return 0 !== compareContextSemverToFilter();
420
500
  case 'semver_gt':
421
- return compareSemverTuples(parseFeatureFlagSemver(String(overrideValue), parsingPolicy), parseFeatureFlagSemver(String(value), parsingPolicy)) > 0;
501
+ return compareContextSemverToFilter() > 0;
422
502
  case 'semver_gte':
423
- return compareSemverTuples(parseFeatureFlagSemver(String(overrideValue), parsingPolicy), parseFeatureFlagSemver(String(value), parsingPolicy)) >= 0;
503
+ return compareContextSemverToFilter() >= 0;
424
504
  case 'semver_lt':
425
- return compareSemverTuples(parseFeatureFlagSemver(String(overrideValue), parsingPolicy), parseFeatureFlagSemver(String(value), parsingPolicy)) < 0;
505
+ return compareContextSemverToFilter() < 0;
426
506
  case 'semver_lte':
427
- return compareSemverTuples(parseFeatureFlagSemver(String(overrideValue), parsingPolicy), parseFeatureFlagSemver(String(value), parsingPolicy)) <= 0;
507
+ return compareContextSemverToFilter() <= 0;
428
508
  case 'semver_tilde':
429
- {
430
- const overrideParsed = parseFeatureFlagSemver(String(overrideValue), parsingPolicy);
431
- const { lower, upper } = computeTildeBounds(String(value), parsingPolicy);
432
- return compareSemverTuples(overrideParsed, lower) >= 0 && compareSemverTuples(overrideParsed, upper) < 0;
433
- }
509
+ return isContextSemverWithin(computeTildeBounds(String(value), parsingPolicy));
434
510
  case 'semver_caret':
435
- {
436
- const overrideParsed = parseFeatureFlagSemver(String(overrideValue), parsingPolicy);
437
- const { lower, upper } = computeCaretBounds(String(value), parsingPolicy);
438
- return compareSemverTuples(overrideParsed, lower) >= 0 && compareSemverTuples(overrideParsed, upper) < 0;
439
- }
511
+ return isContextSemverWithin(computeCaretBounds(String(value), parsingPolicy));
440
512
  case 'semver_wildcard':
441
- {
442
- const overrideParsed = parseFeatureFlagSemver(String(overrideValue), parsingPolicy);
443
- const { lower, upper } = computeWildcardBounds(String(value), parsingPolicy);
444
- return compareSemverTuples(overrideParsed, lower) >= 0 && compareSemverTuples(overrideParsed, upper) < 0;
445
- }
513
+ return isContextSemverWithin(computeWildcardBounds(String(value), parsingPolicy));
446
514
  default:
447
515
  throw new InconclusiveMatchError(`Unknown operator: ${operator}`);
448
516
  }
@@ -493,6 +561,7 @@ function resolveFeatureFlagPayload(payloads, flagValue) {
493
561
  return null == payload ? null : (0, external_featureFlagUtils_js_namespaceObject.parsePayload)(payload);
494
562
  }
495
563
  exports.InconclusiveMatchError = __webpack_exports__.InconclusiveMatchError;
564
+ exports.assertFeatureFlagFilterSupported = __webpack_exports__.assertFeatureFlagFilterSupported;
496
565
  exports.getFeatureFlagHash = __webpack_exports__.getFeatureFlagHash;
497
566
  exports.getFeatureFlagVariant = __webpack_exports__.getFeatureFlagVariant;
498
567
  exports.getFeatureFlagVariantLookupTable = __webpack_exports__.getFeatureFlagVariantLookupTable;
@@ -504,6 +573,7 @@ exports.relativeDateParseForFeatureFlagMatching = __webpack_exports__.relativeDa
504
573
  exports.resolveFeatureFlagPayload = __webpack_exports__.resolveFeatureFlagPayload;
505
574
  for(var __rspack_i in __webpack_exports__)if (-1 === [
506
575
  "InconclusiveMatchError",
576
+ "assertFeatureFlagFilterSupported",
507
577
  "getFeatureFlagHash",
508
578
  "getFeatureFlagVariant",
509
579
  "getFeatureFlagVariantLookupTable",
@@ -13,12 +13,21 @@ const NULL_VALUES_ALLOWED_OPERATORS = [
13
13
  ];
14
14
  const LONG_SCALE = 0xfffffffffffffff;
15
15
  class InconclusiveMatchError extends Error {
16
- constructor(message){
16
+ constructor(message, reason = 'unsupported_definition'){
17
17
  super(message);
18
18
  this.name = this.constructor.name;
19
+ this.reason = reason;
19
20
  Object.setPrototypeOf(this, InconclusiveMatchError.prototype);
20
21
  }
21
22
  }
23
+ function readContextValue(read) {
24
+ try {
25
+ return read();
26
+ } catch (e) {
27
+ if (e instanceof InconclusiveMatchError) throw new InconclusiveMatchError(e.message, 'missing_context');
28
+ throw e;
29
+ }
30
+ }
22
31
  function isTruthyOrFalsyPropertyValue(value) {
23
32
  if ('boolean' == typeof value) return true;
24
33
  if ('string' == typeof value) {
@@ -289,7 +298,69 @@ function relativeDateParseForFeatureFlagMatching(value) {
289
298
  }
290
299
  return parsedDt;
291
300
  }
301
+ function parseDateFilter(value) {
302
+ if ('boolean' == typeof value) throw new InconclusiveMatchError('Date operations cannot be performed on boolean values');
303
+ return relativeDateParseForFeatureFlagMatching(String(value)) ?? convertToDateTime(value);
304
+ }
305
+ function assertFeatureFlagFilterSupported(property, options = {}) {
306
+ const value = property.value;
307
+ const parsingPolicy = options.semverParsingPolicy ?? 'strict';
308
+ switch(property.operator || 'exact'){
309
+ case 'exact':
310
+ case 'is_not':
311
+ for (const item of Array.isArray(value) ? value : [
312
+ value
313
+ ])exactMatchString(item);
314
+ return;
315
+ case 'is_set':
316
+ case 'is_not_set':
317
+ case 'icontains':
318
+ case 'not_icontains':
319
+ case 'starts_with':
320
+ case 'not_starts_with':
321
+ case 'ends_with':
322
+ case 'not_ends_with':
323
+ case 'regex':
324
+ case 'not_regex':
325
+ case 'gt':
326
+ case 'gte':
327
+ case 'lt':
328
+ case 'lte':
329
+ return;
330
+ case 'is_date_after':
331
+ case 'is_date_before':
332
+ parseDateFilter(value);
333
+ return;
334
+ case 'semver_eq':
335
+ case 'semver_neq':
336
+ case 'semver_gt':
337
+ case 'semver_gte':
338
+ case 'semver_lt':
339
+ case 'semver_lte':
340
+ parseFeatureFlagSemver(String(value), parsingPolicy);
341
+ return;
342
+ case 'semver_tilde':
343
+ computeTildeBounds(String(value), parsingPolicy);
344
+ return;
345
+ case 'semver_caret':
346
+ computeCaretBounds(String(value), parsingPolicy);
347
+ return;
348
+ case 'semver_wildcard':
349
+ computeWildcardBounds(String(value), parsingPolicy);
350
+ return;
351
+ default:
352
+ throw new InconclusiveMatchError(`Unknown operator: ${property.operator}`);
353
+ }
354
+ }
292
355
  function matchFeatureFlagProperty(property, propertyValues, options = {}) {
356
+ try {
357
+ return matchPropertyValue(property, propertyValues, options);
358
+ } catch (e) {
359
+ if (e instanceof InconclusiveMatchError && 'missing_context' === e.reason) assertFeatureFlagFilterSupported(property, options);
360
+ throw e;
361
+ }
362
+ }
363
+ function matchPropertyValue(property, propertyValues, options) {
293
364
  const key = property.key;
294
365
  const value = property.value;
295
366
  const operator = property.operator || 'exact';
@@ -298,7 +369,7 @@ function matchFeatureFlagProperty(property, propertyValues, options = {}) {
298
369
  if (hasProperty) {
299
370
  if ('is_not_set' === operator) return false;
300
371
  else if ('is_set' === operator) return true;
301
- } else throw new InconclusiveMatchError(`Property ${key} not found in propertyValues`);
372
+ } else throw new InconclusiveMatchError(`Property ${key} not found in propertyValues`, 'missing_context');
302
373
  const overrideValue = propertyValues[key];
303
374
  if (void 0 === overrideValue) {
304
375
  options.warnFunction?.(`Property ${key} cannot have a value of undefined with the ${operator} operator`);
@@ -310,18 +381,19 @@ function matchFeatureFlagProperty(property, propertyValues, options = {}) {
310
381
  }
311
382
  const computeExactMatch = (target, actual)=>{
312
383
  if (2 !== options.propertyMatchingVersion && isTruthyOrFalsyPropertyValue(target) || Array.isArray(target) && 0 === target.length) {
313
- assertJsonRepresentable(actual);
384
+ readContextValue(()=>assertJsonRepresentable(actual));
314
385
  return isTruthyPropertyValue(target) === isTruthyPropertyValue(actual);
315
386
  }
316
387
  if (2 === options.propertyMatchingVersion && 'number' == typeof actual && isTruthyOrFalsyPropertyValue(target)) {
317
- assertJsonRepresentable(actual);
388
+ readContextValue(()=>assertJsonRepresentable(actual));
318
389
  return false;
319
390
  }
320
391
  if (Array.isArray(target)) {
321
- const actualString = exactMatchString(actual).toLowerCase();
392
+ const actualString = readContextValue(()=>exactMatchString(actual)).toLowerCase();
322
393
  return target.some((item)=>exactMatchString(item).toLowerCase() === actualString);
323
394
  }
324
- return exactMatchString(target).toLowerCase() === exactMatchString(actual).toLowerCase();
395
+ const targetString = exactMatchString(target).toLowerCase();
396
+ return targetString === readContextValue(()=>exactMatchString(actual)).toLowerCase();
325
397
  };
326
398
  const compare = (lhs, rhs, comparisonOperator)=>{
327
399
  if ('gt' === comparisonOperator) return lhs > rhs;
@@ -330,6 +402,15 @@ function matchFeatureFlagProperty(property, propertyValues, options = {}) {
330
402
  if ('lte' === comparisonOperator) return lhs <= rhs;
331
403
  throw new Error(`Invalid operator: ${comparisonOperator}`);
332
404
  };
405
+ const parseContextSemver = ()=>readContextValue(()=>parseFeatureFlagSemver(String(overrideValue), parsingPolicy));
406
+ const compareContextSemverToFilter = ()=>{
407
+ const filterParsed = parseFeatureFlagSemver(String(value), parsingPolicy);
408
+ return compareSemverTuples(parseContextSemver(), filterParsed);
409
+ };
410
+ const isContextSemverWithin = ({ lower, upper })=>{
411
+ const overrideParsed = parseContextSemver();
412
+ return compareSemverTuples(overrideParsed, lower) >= 0 && compareSemverTuples(overrideParsed, upper) < 0;
413
+ };
333
414
  switch(operator){
334
415
  case 'exact':
335
416
  return computeExactMatch(value, overrideValue);
@@ -366,42 +447,28 @@ function matchFeatureFlagProperty(property, propertyValues, options = {}) {
366
447
  case 'is_date_after':
367
448
  case 'is_date_before':
368
449
  {
369
- if ('boolean' == typeof value) throw new InconclusiveMatchError('Date operations cannot be performed on boolean values');
370
- let parsedDate = relativeDateParseForFeatureFlagMatching(String(value));
371
- if (null == parsedDate) parsedDate = convertToDateTime(value);
372
- const overrideDate = convertToDateTime(overrideValue);
450
+ const parsedDate = parseDateFilter(value);
451
+ const overrideDate = readContextValue(()=>convertToDateTime(overrideValue));
373
452
  return 'is_date_before' === operator ? overrideDate < parsedDate : overrideDate > parsedDate;
374
453
  }
375
454
  case 'semver_eq':
376
- return 0 === compareSemverTuples(parseFeatureFlagSemver(String(overrideValue), parsingPolicy), parseFeatureFlagSemver(String(value), parsingPolicy));
455
+ return 0 === compareContextSemverToFilter();
377
456
  case 'semver_neq':
378
- return 0 !== compareSemverTuples(parseFeatureFlagSemver(String(overrideValue), parsingPolicy), parseFeatureFlagSemver(String(value), parsingPolicy));
457
+ return 0 !== compareContextSemverToFilter();
379
458
  case 'semver_gt':
380
- return compareSemverTuples(parseFeatureFlagSemver(String(overrideValue), parsingPolicy), parseFeatureFlagSemver(String(value), parsingPolicy)) > 0;
459
+ return compareContextSemverToFilter() > 0;
381
460
  case 'semver_gte':
382
- return compareSemverTuples(parseFeatureFlagSemver(String(overrideValue), parsingPolicy), parseFeatureFlagSemver(String(value), parsingPolicy)) >= 0;
461
+ return compareContextSemverToFilter() >= 0;
383
462
  case 'semver_lt':
384
- return compareSemverTuples(parseFeatureFlagSemver(String(overrideValue), parsingPolicy), parseFeatureFlagSemver(String(value), parsingPolicy)) < 0;
463
+ return compareContextSemverToFilter() < 0;
385
464
  case 'semver_lte':
386
- return compareSemverTuples(parseFeatureFlagSemver(String(overrideValue), parsingPolicy), parseFeatureFlagSemver(String(value), parsingPolicy)) <= 0;
465
+ return compareContextSemverToFilter() <= 0;
387
466
  case 'semver_tilde':
388
- {
389
- const overrideParsed = parseFeatureFlagSemver(String(overrideValue), parsingPolicy);
390
- const { lower, upper } = computeTildeBounds(String(value), parsingPolicy);
391
- return compareSemverTuples(overrideParsed, lower) >= 0 && compareSemverTuples(overrideParsed, upper) < 0;
392
- }
467
+ return isContextSemverWithin(computeTildeBounds(String(value), parsingPolicy));
393
468
  case 'semver_caret':
394
- {
395
- const overrideParsed = parseFeatureFlagSemver(String(overrideValue), parsingPolicy);
396
- const { lower, upper } = computeCaretBounds(String(value), parsingPolicy);
397
- return compareSemverTuples(overrideParsed, lower) >= 0 && compareSemverTuples(overrideParsed, upper) < 0;
398
- }
469
+ return isContextSemverWithin(computeCaretBounds(String(value), parsingPolicy));
399
470
  case 'semver_wildcard':
400
- {
401
- const overrideParsed = parseFeatureFlagSemver(String(overrideValue), parsingPolicy);
402
- const { lower, upper } = computeWildcardBounds(String(value), parsingPolicy);
403
- return compareSemverTuples(overrideParsed, lower) >= 0 && compareSemverTuples(overrideParsed, upper) < 0;
404
- }
471
+ return isContextSemverWithin(computeWildcardBounds(String(value), parsingPolicy));
405
472
  default:
406
473
  throw new InconclusiveMatchError(`Unknown operator: ${operator}`);
407
474
  }
@@ -451,4 +518,4 @@ function resolveFeatureFlagPayload(payloads, flagValue) {
451
518
  const payload = payloads[payloadKey] || null;
452
519
  return null == payload ? null : parsePayload(payload);
453
520
  }
454
- export { InconclusiveMatchError, getFeatureFlagHash, getFeatureFlagVariant, getFeatureFlagVariantLookupTable, getHoldoutVariant, hashSHA1, matchFeatureFlagProperty, parseFeatureFlagSemver, relativeDateParseForFeatureFlagMatching, resolveFeatureFlagPayload };
521
+ export { InconclusiveMatchError, assertFeatureFlagFilterSupported, getFeatureFlagHash, getFeatureFlagVariant, getFeatureFlagVariantLookupTable, getHoldoutVariant, hashSHA1, matchFeatureFlagProperty, parseFeatureFlagSemver, relativeDateParseForFeatureFlagMatching, resolveFeatureFlagPayload };
@@ -1,6 +1,6 @@
1
1
  export { getFeatureFlagValue, getEnabledFromValue, getVariantFromValue, parsePayload, flagDetailsToResults, MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES, minimizeFlagCalledEventProperties, } from './featureFlagUtils';
2
- export { getFeatureFlagHash, getFeatureFlagVariant, getFeatureFlagVariantLookupTable, getHoldoutVariant, hashSHA1, InconclusiveMatchError, matchFeatureFlagProperty, parseFeatureFlagSemver, relativeDateParseForFeatureFlagMatching, resolveFeatureFlagPayload, } from './featureFlagLocalEvaluation';
3
- export type { FeatureFlagProperty, FeatureFlagPropertyValue, FeatureFlagSemverParsingPolicy, FeatureFlagVariant, FeatureFlagVariantLookupEntry, MatchFeatureFlagPropertyOptions, } from './featureFlagLocalEvaluation';
2
+ export { assertFeatureFlagFilterSupported, getFeatureFlagHash, getFeatureFlagVariant, getFeatureFlagVariantLookupTable, getHoldoutVariant, hashSHA1, InconclusiveMatchError, matchFeatureFlagProperty, parseFeatureFlagSemver, relativeDateParseForFeatureFlagMatching, resolveFeatureFlagPayload, } from './featureFlagLocalEvaluation';
3
+ export type { FeatureFlagProperty, FeatureFlagPropertyValue, FeatureFlagSemverParsingPolicy, FeatureFlagVariant, FeatureFlagVariantLookupEntry, MatchFeatureFlagPropertyOptions, UnresolvedFlagReason, } from './featureFlagLocalEvaluation';
4
4
  export { gzipCompress, isGzipData, isGzipRequest, isGzipSupported, isNativeAsyncGzipError, isNativeAsyncGzipReadError, } from './gzip';
5
5
  export * from './utils';
6
6
  export * as ErrorTracking from './error-tracking';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,6CAA6C,EAC7C,iCAAiC,GAClC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,gCAAgC,EAChC,kBAAkB,EAClB,qBAAqB,EACrB,gCAAgC,EAChC,iBAAiB,EACjB,QAAQ,EACR,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,uCAAuC,EACvC,yBAAyB,GAC1B,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,8BAA8B,EAC9B,kBAAkB,EAClB,6BAA6B,EAC7B,+BAA+B,EAC/B,oBAAoB,GACrB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,QAAQ,CAAA;AACf,cAAc,SAAS,CAAA;AACvB,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAA;AACjD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,cAAc,CAAA;AAIrB,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAGzG,YAAY,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAGhE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,WAAW,CAAA;AAClB,YAAY,EACV,WAAW,EACX,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,WAAW,CAAA;AAElB,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,OAAO,EACP,aAAa,GACd,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAG/F,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAClE,YAAY,EACV,IAAI,EACJ,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,0BAA0B,CAAA;AACxC,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -132,9 +132,10 @@ var __webpack_exports__ = {};
132
132
  "getOtlpSeverityNumber",
133
133
  "toOtlpKeyValueList",
134
134
  "matchFeatureFlagProperty",
135
- "PostHogMetrics",
135
+ "assertFeatureFlagFilterSupported",
136
136
  "parseFeatureFlagSemver",
137
137
  "InconclusiveMatchError",
138
+ "PostHogMetrics",
138
139
  "inertSpan",
139
140
  "uuidv7",
140
141
  "getLengthFromRules",
@@ -196,9 +197,10 @@ var __webpack_exports__ = {};
196
197
  "getOtlpSeverityNumber",
197
198
  "toOtlpKeyValueList",
198
199
  "matchFeatureFlagProperty",
199
- "PostHogMetrics",
200
+ "assertFeatureFlagFilterSupported",
200
201
  "parseFeatureFlagSemver",
201
202
  "InconclusiveMatchError",
203
+ "PostHogMetrics",
202
204
  "inertSpan",
203
205
  "uuidv7",
204
206
  "getLengthFromRules",
@@ -249,9 +251,10 @@ var __webpack_exports__ = {};
249
251
  "getOtlpSeverityNumber",
250
252
  "toOtlpKeyValueList",
251
253
  "matchFeatureFlagProperty",
252
- "PostHogMetrics",
254
+ "assertFeatureFlagFilterSupported",
253
255
  "parseFeatureFlagSemver",
254
256
  "InconclusiveMatchError",
257
+ "PostHogMetrics",
255
258
  "inertSpan",
256
259
  "uuidv7",
257
260
  "getLengthFromRules",
@@ -302,9 +305,10 @@ var __webpack_exports__ = {};
302
305
  "getOtlpSeverityNumber",
303
306
  "toOtlpKeyValueList",
304
307
  "matchFeatureFlagProperty",
305
- "PostHogMetrics",
308
+ "assertFeatureFlagFilterSupported",
306
309
  "parseFeatureFlagSemver",
307
310
  "InconclusiveMatchError",
311
+ "PostHogMetrics",
308
312
  "inertSpan",
309
313
  "uuidv7",
310
314
  "getLengthFromRules",
@@ -355,9 +359,10 @@ var __webpack_exports__ = {};
355
359
  "getOtlpSeverityNumber",
356
360
  "toOtlpKeyValueList",
357
361
  "matchFeatureFlagProperty",
358
- "PostHogMetrics",
362
+ "assertFeatureFlagFilterSupported",
359
363
  "parseFeatureFlagSemver",
360
364
  "InconclusiveMatchError",
365
+ "PostHogMetrics",
361
366
  "inertSpan",
362
367
  "uuidv7",
363
368
  "getLengthFromRules",
@@ -408,9 +413,10 @@ var __webpack_exports__ = {};
408
413
  "getOtlpSeverityNumber",
409
414
  "toOtlpKeyValueList",
410
415
  "matchFeatureFlagProperty",
411
- "PostHogMetrics",
416
+ "assertFeatureFlagFilterSupported",
412
417
  "parseFeatureFlagSemver",
413
418
  "InconclusiveMatchError",
419
+ "PostHogMetrics",
414
420
  "inertSpan",
415
421
  "uuidv7",
416
422
  "getLengthFromRules",
@@ -461,9 +467,10 @@ var __webpack_exports__ = {};
461
467
  "getOtlpSeverityNumber",
462
468
  "toOtlpKeyValueList",
463
469
  "matchFeatureFlagProperty",
464
- "PostHogMetrics",
470
+ "assertFeatureFlagFilterSupported",
465
471
  "parseFeatureFlagSemver",
466
472
  "InconclusiveMatchError",
473
+ "PostHogMetrics",
467
474
  "inertSpan",
468
475
  "uuidv7",
469
476
  "getLengthFromRules",
@@ -509,6 +516,7 @@ var __webpack_exports__ = {};
509
516
  PostHogMetrics: ()=>_metrics__rspack_import_9.PostHogMetrics,
510
517
  PostHogTraces: ()=>_traces__rspack_import_10.PostHogTraces,
511
518
  SyncSpanContextManager: ()=>_traces_context__rspack_import_11.SyncSpanContextManager,
519
+ assertFeatureFlagFilterSupported: ()=>_featureFlagLocalEvaluation__rspack_import_1.assertFeatureFlagFilterSupported,
512
520
  buildMetricsResourceAttributes: ()=>_metrics__rspack_import_9.buildMetricsResourceAttributes,
513
521
  buildOtlpLogRecord: ()=>_logs_logs_utils__rspack_import_5.buildOtlpLogRecord,
514
522
  buildOtlpLogsPayload: ()=>_logs_logs_utils__rspack_import_5.buildOtlpLogsPayload,
@@ -558,6 +566,7 @@ exports.PostHogLogs = __webpack_exports__.PostHogLogs;
558
566
  exports.PostHogMetrics = __webpack_exports__.PostHogMetrics;
559
567
  exports.PostHogTraces = __webpack_exports__.PostHogTraces;
560
568
  exports.SyncSpanContextManager = __webpack_exports__.SyncSpanContextManager;
569
+ exports.assertFeatureFlagFilterSupported = __webpack_exports__.assertFeatureFlagFilterSupported;
561
570
  exports.buildMetricsResourceAttributes = __webpack_exports__.buildMetricsResourceAttributes;
562
571
  exports.buildOtlpLogRecord = __webpack_exports__.buildOtlpLogRecord;
563
572
  exports.buildOtlpLogsPayload = __webpack_exports__.buildOtlpLogsPayload;
@@ -606,6 +615,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
606
615
  "PostHogMetrics",
607
616
  "PostHogTraces",
608
617
  "SyncSpanContextManager",
618
+ "assertFeatureFlagFilterSupported",
609
619
  "buildMetricsResourceAttributes",
610
620
  "buildOtlpLogRecord",
611
621
  "buildOtlpLogsPayload",
@@ -7,7 +7,7 @@ export * from "./privacy.mjs";
7
7
  export * from "./tracing-headers.mjs";
8
8
  export * from "./types.mjs";
9
9
  export { MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES, flagDetailsToResults, getEnabledFromValue, getFeatureFlagValue, getVariantFromValue, minimizeFlagCalledEventProperties, parsePayload } from "./featureFlagUtils.mjs";
10
- export { InconclusiveMatchError, getFeatureFlagHash, getFeatureFlagVariant, getFeatureFlagVariantLookupTable, getHoldoutVariant, hashSHA1, matchFeatureFlagProperty, parseFeatureFlagSemver, relativeDateParseForFeatureFlagMatching, resolveFeatureFlagPayload } from "./featureFlagLocalEvaluation.mjs";
10
+ export { InconclusiveMatchError, assertFeatureFlagFilterSupported, getFeatureFlagHash, getFeatureFlagVariant, getFeatureFlagVariantLookupTable, getHoldoutVariant, hashSHA1, matchFeatureFlagProperty, parseFeatureFlagSemver, relativeDateParseForFeatureFlagMatching, resolveFeatureFlagPayload } from "./featureFlagLocalEvaluation.mjs";
11
11
  export { gzipCompress, isGzipData, isGzipRequest, isGzipSupported, isNativeAsyncGzipError, isNativeAsyncGzipReadError } from "./gzip.mjs";
12
12
  export { buildOtlpLogRecord, buildOtlpLogsPayload, buildResourceAttributes, getOtlpSeverityNumber, getOtlpSeverityText } from "./logs/logs-utils.mjs";
13
13
  export { toOtlpAnyValue, toOtlpKeyValueList } from "./utils/otlp-any-value.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"posthog-core.d.ts","sourceRoot":"","sources":["../src/posthog-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"posthog-core.d.ts","sourceRoot":"","sources":["../src/posthog-core.ts"],"names":[],"mappings":"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"}
@@ -588,7 +588,7 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
588
588
  const isQuotaLimited = storedDetails?.quotaLimited?.includes(external_posthog_core_stateless_js_namespaceObject.QuotaLimitedFeature.FeatureFlags);
589
589
  const featureFlag = details?.flags[key];
590
590
  const flagValue = (0, external_featureFlagUtils_js_namespaceObject.getFeatureFlagValue)(featureFlag);
591
- const sendEvent = (options.sendEvent ?? this.sendFeatureFlagEvent) && !this.flagCallReported[key]?.has(flagValue);
591
+ const sendEvent = (options.sendEvent ?? this.sendFeatureFlagEvent) && !this.optedOut && !this.flagCallReported[key]?.has(flagValue);
592
592
  if (sendEvent) {
593
593
  const errors = [];
594
594
  if (storedDetails?.requestError) {