@posthog/convex 2.1.0 → 2.1.2

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.
@@ -1,2 +1,2 @@
1
- export declare function hashSHA1(text: string): Promise<string>;
1
+ export { hashSHA1 } from '@posthog/core';
2
2
  //# sourceMappingURL=crypto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../src/client/feature-flags/crypto.ts"],"names":[],"mappings":"AAEA,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS5D"}
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../src/client/feature-flags/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA"}
@@ -1,11 +1,2 @@
1
- /// <reference lib="dom" />
2
- export async function hashSHA1(text) {
3
- const subtle = globalThis.crypto?.subtle;
4
- if (!subtle) {
5
- throw new Error('SubtleCrypto API not available');
6
- }
7
- const hashBuffer = await subtle.digest('SHA-1', new TextEncoder().encode(text));
8
- const hashArray = Array.from(new Uint8Array(hashBuffer));
9
- return hashArray.map((byte) => byte.toString(16).padStart(2, '0')).join('');
10
- }
1
+ export { hashSHA1 } from '@posthog/core';
11
2
  //# sourceMappingURL=crypto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../src/client/feature-flags/crypto.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY;IACzC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAA;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/E,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAA;IACxD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC7E,CAAC"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../src/client/feature-flags/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA"}
@@ -42,6 +42,5 @@ export declare class LocalFeatureFlagEvaluator {
42
42
  private matchFeatureFlagProperties;
43
43
  private isConditionMatch;
44
44
  private getMatchingVariant;
45
- private variantLookupTable;
46
45
  }
47
46
  //# sourceMappingURL=evaluator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../src/client/feature-flags/evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../src/client/feature-flags/evaluator.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,5 @@
1
- import { hashSHA1 } from './crypto.js';
1
+ import { getFeatureFlagHash, getFeatureFlagVariant, resolveFeatureFlagPayload } from '@posthog/core';
2
2
  import { InconclusiveMatchError, RequiresServerEvaluation, matchCohort, matchProperty } from './match-property.js';
3
- // Matches posthog-node's hashing constant exactly; the value is larger than Number.MAX_SAFE_INTEGER
4
- // by design and we don't want the no-loss-of-precision rule to coerce it to a different number.
5
- // eslint-disable-next-line no-loss-of-precision
6
- const LONG_SCALE = 0xfffffffffffffff;
7
- async function _hash(key, bucketingValue, salt = '') {
8
- const hashString = await hashSHA1(`${key}.${bucketingValue}${salt}`);
9
- return parseInt(hashString.slice(0, 15), 16) / LONG_SCALE;
10
- }
11
3
  export class LocalFeatureFlagEvaluator {
12
4
  flags;
13
5
  flagsByKey;
@@ -166,31 +158,7 @@ export class LocalFeatureFlagEvaluator {
166
158
  return distinctId;
167
159
  }
168
160
  getPayloadForValue(key, flagValue) {
169
- if (flagValue === false || flagValue === null || flagValue === undefined)
170
- return null;
171
- let payload = null;
172
- const payloads = this.flagsByKey[key]?.filters?.payloads;
173
- if (!payloads)
174
- return null;
175
- if (typeof flagValue === 'boolean') {
176
- payload = payloads[flagValue.toString()] || null;
177
- }
178
- else if (typeof flagValue === 'string') {
179
- payload = payloads[flagValue] || null;
180
- }
181
- if (payload == null)
182
- return null;
183
- if (typeof payload === 'object')
184
- return payload;
185
- if (typeof payload === 'string') {
186
- try {
187
- return JSON.parse(payload);
188
- }
189
- catch {
190
- return payload;
191
- }
192
- }
193
- return payload;
161
+ return resolveFeatureFlagPayload(this.flagsByKey[key]?.filters?.payloads, flagValue);
194
162
  }
195
163
  async evaluateFlagDependency(property, ctx) {
196
164
  const { evaluationCache } = ctx;
@@ -314,25 +282,14 @@ export class LocalFeatureFlagEvaluator {
314
282
  if (rolloutPercentage == undefined)
315
283
  return true;
316
284
  }
317
- if (rolloutPercentage != undefined && (await _hash(flag.key, bucketingValue)) > rolloutPercentage / 100.0) {
285
+ if (rolloutPercentage != undefined &&
286
+ (await getFeatureFlagHash(flag.key, bucketingValue)) > rolloutPercentage / 100.0) {
318
287
  return false;
319
288
  }
320
289
  return true;
321
290
  }
322
291
  async getMatchingVariant(flag, bucketingValue) {
323
- const hashValue = await _hash(flag.key, bucketingValue, 'variant');
324
- return this.variantLookupTable(flag).find((v) => hashValue >= v.valueMin && hashValue < v.valueMax)?.key;
325
- }
326
- variantLookupTable(flag) {
327
- const table = [];
328
- let valueMin = 0;
329
- const multivariates = flag.filters?.multivariate?.variants || [];
330
- for (const variant of multivariates) {
331
- const valueMax = valueMin + variant.rollout_percentage / 100.0;
332
- table.push({ valueMin, valueMax, key: variant.key });
333
- valueMin = valueMax;
334
- }
335
- return table;
292
+ return getFeatureFlagVariant(flag.key, bucketingValue, flag.filters?.multivariate?.variants || []);
336
293
  }
337
294
  }
338
295
  function flagEvaluatesToExpectedValue(expectedValue, flagValue) {
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../src/client/feature-flags/evaluator.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAElH,oGAAoG;AACpG,gGAAgG;AAChG,gDAAgD;AAChD,MAAM,UAAU,GAAG,iBAAiB,CAAA;AAEpC,KAAK,UAAU,KAAK,CAAC,GAAW,EAAE,cAAsB,EAAE,OAAe,EAAE;IACzE,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,GAAG,GAAG,IAAI,cAAc,GAAG,IAAI,EAAE,CAAC,CAAA;IACpE,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,CAAA;AAC3D,CAAC;AAOD,MAAM,OAAO,yBAAyB;IAC3B,KAAK,CAAsB;IAC3B,UAAU,CAAoC;IAC9C,gBAAgB,CAAwB;IACxC,OAAO,CAA4B;IAC5C,SAAS,GAAY,KAAK,CAAA;IAE1B,YAAY,WAA4B;QACtC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE,CAAA;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAqC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACpF,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;YACpB,OAAO,GAAG,CAAA;QACZ,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,IAAI,EAAE,CAAA;QAC1D,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,EAAE,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,UAAmB,IAAI;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAA;IAC1B,CAAC;IAEO,aAAa,CAAC,EAAc;QAClC,IAAI,IAAI,CAAC,SAAS;YAAE,EAAE,EAAE,CAAA;IAC1B,CAAC;IAEO,uBAAuB,CAC7B,UAAkB,EAClB,SAAiC,EAAE,EACnC,mBAAwC,EAAE,EAC1C,kBAAuD,EAAE;QAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,EAAE,EAAE,CAAA;IACvF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAClB,GAAW,EACX,UAAkB,EAClB,SAAiC,EAAE,EACnC,mBAAwC,EAAE,EAC1C,kBAAuD,EAAE;QAEzD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAExC,MAAM,GAAG,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAA;QAC/F,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YACpE,OAAO,KAAK,CAAA;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,wBAAwB,IAAI,CAAC,YAAY,sBAAsB,EAAE,CAAC;gBACjF,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CACtB,OAAO,CAAC,KAAK,CACX,mBAAoB,CAAW,CAAC,IAAI,iCAAiC,GAAG,KAAM,CAAW,CAAC,OAAO,EAAE,CACpG,CACF,CAAA;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,GAAW,EACX,UAAkB,EAClB,SAAiC,EAAE,EACnC,mBAAwC,EAAE,EAC1C,kBAAuD,EAAE;QAEzD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAExC,MAAM,GAAG,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAA;QAC/F,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC3D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,wBAAwB,IAAI,CAAC,YAAY,sBAAsB,EAAE,CAAC;gBACjF,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CACtB,OAAO,CAAC,KAAK,CACX,mBAAoB,CAAW,CAAC,IAAI,iCAAiC,GAAG,KAAM,CAAW,CAAC,OAAO,EAAE,CACpG,CACF,CAAA;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,qBAAqB,CACzB,GAAW,EACX,UAAkB,EAClB,UAAwC,EACxC,SAAiC,EAAE,EACnC,mBAAwC,EAAE,EAC1C,kBAAuD,EAAE;QAEzD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAEnC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;QACjD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAA;QAC1G,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAC1C,OAAO,MAAM,CAAC,OAAO,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,UAAkB,EAClB,SAAiC,EAAE,EACnC,mBAAwC,EAAE,EAC1C,kBAAuD,EAAE,EACzD,QAAmB;QAEnB,MAAM,YAAY,GAAqC,EAAE,CAAA;QACzD,MAAM,mBAAmB,GAA6B,EAAE,CAAA;QAExD,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QAEvG,MAAM,aAAa,GAAiC;YAClD,UAAU;YACV,MAAM;YACN,gBAAgB;YAChB,eAAe;YACf,eAAe,EAAE,EAAE;SACpB,CAAA;QAED,MAAM,OAAO,CAAC,GAAG,CACf,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACjC,IAAI,CAAC;gBACH,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;gBACvF,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;gBAC9B,IAAI,OAAO,IAAI,IAAI;oBAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAA;YAC9D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,wBAAwB,IAAI,CAAC,YAAY,sBAAsB,EAAE,CAAC;oBACjF,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CACtB,OAAO,CAAC,KAAK,CACX,mBAAoB,CAAW,CAAC,IAAI,iCAAiC,IAAI,CAAC,GAAG,KAAM,CAAW,CAAC,OAAO,EAAE,CACzG,CACF,CAAA;oBACD,OAAM;gBACR,CAAC;gBACD,MAAM,CAAC,CAAA;YACT,CAAC;QACH,CAAC,CAAC,CACH,CAAA;QAED,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,IAAwB,EACxB,GAAiC,EACjC,UAA6C,EAAE;QAE/C,MAAM,SAAS,GACb,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACvG,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAA;IACpF,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,IAAwB,EACxB,GAAiC;QAEjC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,GAAG,CAAA;QAErE,qFAAqF;QACrF,0FAA0F;QAC1F,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QAC9B,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACtC,MAAM,IAAI,sBAAsB,CAAC,wCAAwC,CAAC,CAAA;QAC5E,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QACtC,MAAM,4BAA4B,GAAG,WAAW,CAAC,4BAA4B,CAAA;QAE7E,IAAI,4BAA4B,IAAI,SAAS,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAA;YAC7E,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CACtB,OAAO,CAAC,IAAI,CACV,4CAA4C,4BAA4B,qBAAqB,IAAI,CAAC,GAAG,EAAE,CACxG,CACF,CAAA;gBACD,MAAM,IAAI,sBAAsB,CAAC,mCAAmC,CAAC,CAAA;YACvE,CAAC;YAED,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CACtB,OAAO,CAAC,IAAI,CAAC,qDAAqD,IAAI,CAAC,GAAG,gCAAgC,CAAC,CAC5G,CAAA;gBACD,OAAO,KAAK,CAAA;YACd,CAAC;YAED,MAAM,sBAAsB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;YACzD,OAAO,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAA;QACpG,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAA;QACxF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CACtB,OAAO,CAAC,IAAI,CACV,+CAA+C,IAAI,CAAC,GAAG,wDAAwD,CAChH,CACF,CAAA;YACD,MAAM,IAAI,sBAAsB,CAAC,+BAA+B,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAA;QAChG,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAA;IAC3F,CAAC;IAEO,wBAAwB,CAC9B,IAAwB,EACxB,UAAkB,EAClB,UAA+B;QAE/B,IAAI,IAAI,CAAC,OAAO,EAAE,4BAA4B,IAAI,SAAS;YAAE,OAAO,UAAU,CAAA;QAC9E,IAAI,IAAI,CAAC,oBAAoB,KAAK,WAAW,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,UAAU,EAAE,UAAU,CAAA;YACvC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,EAAE;gBAAE,OAAO,SAAS,CAAA;YACpF,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAEO,kBAAkB,CAAC,GAAW,EAAE,SAA2B;QACjE,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAErF,IAAI,OAAO,GAAoB,IAAI,CAAA;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAA;QACxD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAE1B,IAAI,OAAO,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAA;QAClD,CAAC;aAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAA;QACvC,CAAC;QAED,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;QAChC,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAA;QAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,OAAO,CAAA;YAChB,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,QAAgF,EAChF,GAAiC;QAEjC,MAAM,EAAE,eAAe,EAAE,GAAG,GAAG,CAAA;QAC/B,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAA;QAElC,IAAI,CAAC,CAAC,kBAAkB,IAAI,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,sBAAsB,CAC9B,iCAAiC,aAAa,gDAAgD,CAC/F,CAAA;QACH,CAAC;QACD,MAAM,eAAe,GAAG,QAAQ,CAAC,gBAAgB,CAAA;QACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,sBAAsB,CAC9B,iCAAiC,aAAa,qCAAqC,CACpF,CAAA;QACH,CAAC;QACD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,sBAAsB,CAAC,0CAA0C,aAAa,GAAG,CAAC,CAAA;QAC9F,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;YACzC,IAAI,CAAC,CAAC,UAAU,IAAI,eAAe,CAAC,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;gBAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,sBAAsB,CAAC,4BAA4B,UAAU,eAAe,aAAa,GAAG,CAAC,CAAA;gBACzG,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACpB,eAAe,CAAC,UAAU,CAAC,GAAG,KAAK,CAAA;gBACrC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,eAAe,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;oBAChF,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,IAAI,sBAAsB,CAC9B,qCAAqC,UAAU,eAAe,aAAa,MAAM,KAAK,EAAE,CACzF,CAAA;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;YAC1C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC5C,MAAM,IAAI,sBAAsB,CAAC,eAAe,UAAU,0BAA0B,CAAC,CAAA;YACvF,CAAC;QACH,CAAC;QAED,OAAO,4BAA4B,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC,CAAA;IACrF,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACtC,IAAwB,EACxB,cAAsB,EACtB,UAA+B,EAC/B,GAAiC;QAEjC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QACtC,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAA;QAC/C,MAAM,eAAe,GAAG,WAAW,CAAC,4BAA4B,CAAA;QAChE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,GAAG,CAAA;QACvC,IAAI,cAAc,GAAG,KAAK,CAAA;QAC1B,IAAI,MAAM,GAAiC,SAAS,CAAA;QAEpD,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,oBAAoB,GACxB,SAAS,CAAC,4BAA4B,KAAK,SAAS;oBAClD,CAAC,CAAC,SAAS,CAAC,4BAA4B;oBACxC,CAAC,CAAC,eAAe,CAAA;gBAErB,IAAI,mBAAmB,GAAG,UAAU,CAAA;gBACpC,IAAI,uBAAuB,GAAG,cAAc,CAAA;gBAE5C,IAAI,oBAAoB,KAAK,eAAe,EAAE,CAAC;oBAC7C,IAAI,oBAAoB,KAAK,IAAI,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;wBACxE,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAA;wBACrE,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC;4BACzC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CACtB,OAAO,CAAC,KAAK,CACX,sDAAsD,IAAI,CAAC,GAAG,uBAAuB,oBAAoB,gBAAgB,CAC1H,CACF,CAAA;4BACD,SAAQ;wBACV,CAAC;wBACD,IAAI,CAAC,CAAC,SAAS,IAAI,eAAe,CAAC,EAAE,CAAC;4BACpC,cAAc,GAAG,IAAI,CAAA;4BACrB,SAAQ;wBACV,CAAC;wBACD,mBAAmB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;wBAChD,uBAAuB,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;oBAC7C,CAAC;gBACH,CAAC;gBAED,IAAI,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,CAAC;oBACpG,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAA;oBACzC,MAAM,YAAY,GAAG,WAAW,CAAC,YAAY,EAAE,QAAQ,IAAI,EAAE,CAAA;oBAC7D,IAAI,eAAe,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,eAAe,CAAC,EAAE,CAAC;wBACvF,MAAM,GAAG,eAAe,CAAA;oBAC1B,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC,IAAI,IAAI,CAAA;oBACjF,CAAC;oBACD,MAAK;gBACP,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,wBAAwB;oBAAE,MAAM,CAAC,CAAA;gBAClD,IAAI,CAAC,YAAY,sBAAsB,EAAE,CAAC;oBACxC,cAAc,GAAG,IAAI,CAAA;gBACvB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,CAAA;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAA;QACvC,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,sBAAsB,CAAC,yEAAyE,CAAC,CAAA;QAC7G,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,IAAwB,EACxB,cAAsB,EACtB,SAA+B,EAC/B,UAA+B,EAC/B,GAAiC;QAEjC,MAAM,iBAAiB,GAAG,SAAS,CAAC,kBAAkB,CAAA;QACtD,MAAM,IAAI,GAAG,CAAC,GAAW,EAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAE/E,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;gBACxC,IAAI,OAAgB,CAAA;gBACpB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;gBACvE,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAChC,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;gBACxD,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;gBACjD,CAAC;gBACD,yFAAyF;gBACzF,2FAA2F;gBAC3F,IAAI,IAAI,CAAC,QAAQ;oBAAE,OAAO,GAAG,CAAC,OAAO,CAAA;gBACrC,IAAI,CAAC,OAAO;oBAAE,OAAO,KAAK,CAAA;YAC5B,CAAC;YACD,IAAI,iBAAiB,IAAI,SAAS;gBAAE,OAAO,IAAI,CAAA;QACjD,CAAC;QAED,IAAI,iBAAiB,IAAI,SAAS,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,GAAG,iBAAiB,GAAG,KAAK,EAAE,CAAC;YAC1G,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,IAAwB,EAAE,cAAsB;QAC/E,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,SAAS,CAAC,CAAA;QAClE,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAA;IAC1G,CAAC;IAEO,kBAAkB,CAAC,IAAwB;QACjD,MAAM,KAAK,GAA0D,EAAE,CAAA;QACvE,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,IAAI,EAAE,CAAA;QAChE,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,kBAAkB,GAAG,KAAK,CAAA;YAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;YACpD,QAAQ,GAAG,QAAQ,CAAA;QACrB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAED,SAAS,4BAA4B,CAAC,aAAgC,EAAE,SAA2B;IACjG,IAAI,OAAO,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,aAAa,KAAK,SAAS,IAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,EAAE,IAAI,aAAa,KAAK,IAAI,CAAC,CAAA;IACrH,CAAC;IACD,IAAI,OAAO,aAAa,KAAK,QAAQ;QAAE,OAAO,SAAS,KAAK,aAAa,CAAA;IACzE,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../src/client/feature-flags/evaluator.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,9 @@
1
+ import { InconclusiveMatchError } from '@posthog/core';
1
2
  import type { FlagProperty, PropertyGroup } from './types.js';
2
- export declare class InconclusiveMatchError extends Error {
3
- constructor(message: string);
4
- }
3
+ export { InconclusiveMatchError };
5
4
  export declare class RequiresServerEvaluation extends Error {
6
5
  constructor(message: string);
7
6
  }
8
- export declare function relativeDateParseForFeatureFlagMatching(value: string): Date | null;
9
7
  export declare function matchProperty(property: FlagProperty, propertyValues: Record<string, any>, warnFunction?: (msg: string) => void): boolean;
10
8
  export declare function matchCohort(property: FlagProperty, propertyValues: Record<string, any>, cohortProperties: Record<string, PropertyGroup>, debugMode?: boolean): boolean;
11
9
  export declare function matchPropertyGroup(propertyGroup: PropertyGroup, propertyValues: Record<string, any>, cohortProperties: Record<string, PropertyGroup>, debugMode?: boolean): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"match-property.d.ts","sourceRoot":"","sources":["../../../src/client/feature-flags/match-property.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAqB,aAAa,EAAE,MAAM,YAAY,CAAA;AAOhF,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAK5B;AAED,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAK5B;AAoFD,wBAAgB,uCAAuC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAmBlF;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACnC,OAAO,CAyHT;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC/C,SAAS,GAAE,OAAe,GACzB,OAAO,CAQT;AAED,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC/C,SAAS,GAAE,OAAe,GACzB,OAAO,CAiFT"}
1
+ {"version":3,"file":"match-property.d.ts","sourceRoot":"","sources":["../../../src/client/feature-flags/match-property.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAA4B,MAAM,eAAe,CAAA;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE7D,OAAO,EAAE,sBAAsB,EAAE,CAAA;AAEjC,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAK5B;AAID,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACnC,OAAO,CAKT;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC/C,SAAS,GAAE,OAAe,GACzB,OAAO,CAQT;AAED,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAC/C,SAAS,GAAE,OAAe,GACzB,OAAO,CAiFT"}
@@ -1,14 +1,5 @@
1
- // Operators that should still run their switch case when the property value is null/undefined.
2
- // `is_not` may legitimately compare against null; `is_set` only cares about key presence and
3
- // must not be short-circuited by the null guard below.
4
- const NULL_VALUES_ALLOWED_OPERATORS = ['is_not', 'is_set'];
5
- export class InconclusiveMatchError extends Error {
6
- constructor(message) {
7
- super(message);
8
- this.name = this.constructor.name;
9
- Object.setPrototypeOf(this, InconclusiveMatchError.prototype);
10
- }
11
- }
1
+ import { InconclusiveMatchError, matchFeatureFlagProperty } from '@posthog/core';
2
+ export { InconclusiveMatchError };
12
3
  export class RequiresServerEvaluation extends Error {
13
4
  constructor(message) {
14
5
  super(message);
@@ -16,233 +7,13 @@ export class RequiresServerEvaluation extends Error {
16
7
  Object.setPrototypeOf(this, RequiresServerEvaluation.prototype);
17
8
  }
18
9
  }
19
- function isValidRegex(regex) {
20
- try {
21
- new RegExp(regex);
22
- return true;
23
- }
24
- catch {
25
- return false;
26
- }
27
- }
28
- function parseSemver(value) {
29
- const text = String(value).trim().replace(/^[vV]/, '');
30
- const baseVersion = text.split('-')[0].split('+')[0];
31
- if (!baseVersion || baseVersion.startsWith('.')) {
32
- throw new InconclusiveMatchError(`Invalid semver: ${value}`);
33
- }
34
- const parts = baseVersion.split('.');
35
- const parsePart = (part) => {
36
- if (part === undefined || part === '')
37
- return 0;
38
- if (!/^\d+$/.test(part)) {
39
- throw new InconclusiveMatchError(`Invalid semver: ${value}`);
40
- }
41
- return parseInt(part, 10);
42
- };
43
- return [parsePart(parts[0]), parsePart(parts[1]), parsePart(parts[2])];
44
- }
45
- function compareSemverTuples(a, b) {
46
- for (let i = 0; i < 3; i++) {
47
- if (a[i] < b[i])
48
- return -1;
49
- if (a[i] > b[i])
50
- return 1;
51
- }
52
- return 0;
53
- }
54
- function computeTildeBounds(value) {
55
- const parsed = parseSemver(value);
56
- return { lower: [parsed[0], parsed[1], parsed[2]], upper: [parsed[0], parsed[1] + 1, 0] };
57
- }
58
- function computeCaretBounds(value) {
59
- const [major, minor, patch] = parseSemver(value);
60
- const lower = [major, minor, patch];
61
- let upper;
62
- if (major > 0)
63
- upper = [major + 1, 0, 0];
64
- else if (minor > 0)
65
- upper = [0, minor + 1, 0];
66
- else
67
- upper = [0, 0, patch + 1];
68
- return { lower, upper };
69
- }
70
- function computeWildcardBounds(value) {
71
- const text = String(value).trim().replace(/^[vV]/, '');
72
- const cleanedText = text.replace(/\.\*$/, '').replace(/\*$/, '');
73
- if (!cleanedText)
74
- throw new InconclusiveMatchError(`Invalid wildcard semver: ${value}`);
75
- const parts = cleanedText.split('.');
76
- const major = parseInt(parts[0], 10);
77
- if (isNaN(major))
78
- throw new InconclusiveMatchError(`Invalid wildcard semver: ${value}`);
79
- if (parts.length === 1) {
80
- return { lower: [major, 0, 0], upper: [major + 1, 0, 0] };
81
- }
82
- const minor = parseInt(parts[1], 10);
83
- if (isNaN(minor))
84
- throw new InconclusiveMatchError(`Invalid wildcard semver: ${value}`);
85
- return { lower: [major, minor, 0], upper: [major, minor + 1, 0] };
86
- }
87
- function convertToDateTime(value) {
88
- if (value instanceof Date)
89
- return value;
90
- if (typeof value === 'string' || typeof value === 'number') {
91
- const date = new Date(value);
92
- if (!isNaN(date.valueOf()))
93
- return date;
94
- throw new InconclusiveMatchError(`${value} is in an invalid date format`);
95
- }
96
- throw new InconclusiveMatchError(`The date provided ${value} must be a string, number, or date object`);
97
- }
98
- export function relativeDateParseForFeatureFlagMatching(value) {
99
- const regex = /^-?(?<number>[0-9]+)(?<interval>[a-z])$/;
100
- const match = value.match(regex);
101
- const parsedDt = new Date(new Date().toISOString());
102
- if (!match || !match.groups)
103
- return null;
104
- const number = parseInt(match.groups['number']);
105
- if (number >= 10000)
106
- return null;
107
- const interval = match.groups['interval'];
108
- if (interval == 'h')
109
- parsedDt.setUTCHours(parsedDt.getUTCHours() - number);
110
- else if (interval == 'd')
111
- parsedDt.setUTCDate(parsedDt.getUTCDate() - number);
112
- else if (interval == 'w')
113
- parsedDt.setUTCDate(parsedDt.getUTCDate() - number * 7);
114
- else if (interval == 'm')
115
- parsedDt.setUTCMonth(parsedDt.getUTCMonth() - number);
116
- else if (interval == 'y')
117
- parsedDt.setUTCFullYear(parsedDt.getUTCFullYear() - number);
118
- else
119
- return null;
120
- return parsedDt;
121
- }
10
+ // Convex historically accepted leading-zero SemVer identifiers and parseInt-compatible wildcard
11
+ // components. Keep that behavior explicit until product parity is decided.
122
12
  export function matchProperty(property, propertyValues, warnFunction) {
123
- const key = property.key;
124
- const value = property.value;
125
- const operator = property.operator || 'exact';
126
- if (!(key in propertyValues)) {
127
- // When the property is genuinely absent we can answer `is_not_set` locally — no need to
128
- // bail out as inconclusive and force the flag to return undefined.
129
- if (operator === 'is_not_set')
130
- return true;
131
- throw new InconclusiveMatchError(`Property ${key} not found in propertyValues`);
132
- }
133
- else if (operator === 'is_not_set') {
134
- return false;
135
- }
136
- const overrideValue = propertyValues[key];
137
- if (overrideValue == null && !NULL_VALUES_ALLOWED_OPERATORS.includes(operator)) {
138
- warnFunction?.(`Property ${key} cannot have a value of null/undefined with the ${operator} operator`);
139
- return false;
140
- }
141
- function computeExactMatch(value, overrideValue) {
142
- if (Array.isArray(value)) {
143
- return value.map((val) => String(val).toLowerCase()).includes(String(overrideValue).toLowerCase());
144
- }
145
- return String(value).toLowerCase() === String(overrideValue).toLowerCase();
146
- }
147
- function compare(lhs, rhs, op) {
148
- if (op === 'gt')
149
- return lhs > rhs;
150
- if (op === 'gte')
151
- return lhs >= rhs;
152
- if (op === 'lt')
153
- return lhs < rhs;
154
- if (op === 'lte')
155
- return lhs <= rhs;
156
- throw new Error(`Invalid operator: ${op}`);
157
- }
158
- switch (operator) {
159
- case 'exact':
160
- return computeExactMatch(value, overrideValue);
161
- case 'is_not':
162
- return !computeExactMatch(value, overrideValue);
163
- case 'is_set':
164
- return key in propertyValues;
165
- case 'icontains':
166
- return String(overrideValue).toLowerCase().includes(String(value).toLowerCase());
167
- case 'not_icontains':
168
- return !String(overrideValue).toLowerCase().includes(String(value).toLowerCase());
169
- case 'starts_with':
170
- return String(overrideValue).toLowerCase().startsWith(String(value).toLowerCase());
171
- case 'not_starts_with':
172
- return !String(overrideValue).toLowerCase().startsWith(String(value).toLowerCase());
173
- case 'ends_with':
174
- return String(overrideValue).toLowerCase().endsWith(String(value).toLowerCase());
175
- case 'not_ends_with':
176
- return !String(overrideValue).toLowerCase().endsWith(String(value).toLowerCase());
177
- case 'regex':
178
- return isValidRegex(String(value)) && String(overrideValue).match(String(value)) !== null;
179
- case 'not_regex':
180
- return isValidRegex(String(value)) && String(overrideValue).match(String(value)) === null;
181
- case 'gt':
182
- case 'gte':
183
- case 'lt':
184
- case 'lte': {
185
- // Try a numeric comparison first; only fall back to lexicographic when one side genuinely
186
- // isn't a number. `parseFloat` returns NaN for non-numeric strings, so `Number.isFinite`
187
- // is the right guard — `NaN != null` would slip through and produce nonsense comparisons
188
- // like `NaN > 5`. Likewise, when a person property arrives as the string `"10"` we want
189
- // `"10" > "9"` to evaluate numerically (true), not lexicographically (false).
190
- const parsedValue = typeof value === 'number' ? value : parseFloat(String(value));
191
- const parsedOverride = typeof overrideValue === 'number'
192
- ? overrideValue
193
- : overrideValue != null
194
- ? parseFloat(String(overrideValue))
195
- : NaN;
196
- if (Number.isFinite(parsedValue) && Number.isFinite(parsedOverride)) {
197
- return compare(parsedOverride, parsedValue, operator);
198
- }
199
- return compare(String(overrideValue), String(value), operator);
200
- }
201
- case 'is_date_after':
202
- case 'is_date_before': {
203
- if (typeof value === 'boolean') {
204
- throw new InconclusiveMatchError(`Date operations cannot be performed on boolean values`);
205
- }
206
- let parsedDate = relativeDateParseForFeatureFlagMatching(String(value));
207
- if (parsedDate == null)
208
- parsedDate = convertToDateTime(value);
209
- if (parsedDate == null)
210
- throw new InconclusiveMatchError(`Invalid date: ${value}`);
211
- const overrideDate = convertToDateTime(overrideValue);
212
- if (operator === 'is_date_before')
213
- return overrideDate < parsedDate;
214
- return overrideDate > parsedDate;
215
- }
216
- case 'semver_eq':
217
- return compareSemverTuples(parseSemver(String(overrideValue)), parseSemver(String(value))) === 0;
218
- case 'semver_neq':
219
- return compareSemverTuples(parseSemver(String(overrideValue)), parseSemver(String(value))) !== 0;
220
- case 'semver_gt':
221
- return compareSemverTuples(parseSemver(String(overrideValue)), parseSemver(String(value))) > 0;
222
- case 'semver_gte':
223
- return compareSemverTuples(parseSemver(String(overrideValue)), parseSemver(String(value))) >= 0;
224
- case 'semver_lt':
225
- return compareSemverTuples(parseSemver(String(overrideValue)), parseSemver(String(value))) < 0;
226
- case 'semver_lte':
227
- return compareSemverTuples(parseSemver(String(overrideValue)), parseSemver(String(value))) <= 0;
228
- case 'semver_tilde': {
229
- const overrideParsed = parseSemver(String(overrideValue));
230
- const { lower, upper } = computeTildeBounds(String(value));
231
- return compareSemverTuples(overrideParsed, lower) >= 0 && compareSemverTuples(overrideParsed, upper) < 0;
232
- }
233
- case 'semver_caret': {
234
- const overrideParsed = parseSemver(String(overrideValue));
235
- const { lower, upper } = computeCaretBounds(String(value));
236
- return compareSemverTuples(overrideParsed, lower) >= 0 && compareSemverTuples(overrideParsed, upper) < 0;
237
- }
238
- case 'semver_wildcard': {
239
- const overrideParsed = parseSemver(String(overrideValue));
240
- const { lower, upper } = computeWildcardBounds(String(value));
241
- return compareSemverTuples(overrideParsed, lower) >= 0 && compareSemverTuples(overrideParsed, upper) < 0;
242
- }
243
- default:
244
- throw new InconclusiveMatchError(`Unknown operator: ${operator}`);
245
- }
13
+ return matchFeatureFlagProperty(property, propertyValues, {
14
+ warnFunction,
15
+ semverParsingPolicy: 'legacy-permissive',
16
+ });
246
17
  }
247
18
  export function matchCohort(property, propertyValues, cohortProperties, debugMode = false) {
248
19
  const cohortId = String(property.value);
@@ -1 +1 @@
1
- {"version":3,"file":"match-property.js","sourceRoot":"","sources":["../../../src/client/feature-flags/match-property.ts"],"names":[],"mappings":"AAEA,+FAA+F;AAC/F,6FAA6F;AAC7F,uDAAuD;AACvD,MAAM,6BAA6B,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;AAE1D,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;QACjC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAA;IAC/D,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;QACjC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,wBAAwB,CAAC,SAAS,CAAC,CAAA;IACjE,CAAC;CACF;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,IAAI,CAAC;QACH,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAID,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACtD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAEpD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,sBAAsB,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEpC,MAAM,SAAS,GAAG,CAAC,IAAwB,EAAU,EAAE;QACrD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE;YAAE,OAAO,CAAC,CAAA;QAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,sBAAsB,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAA;QAC9D,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAC3B,CAAC,CAAA;IAED,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACxE,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAc,EAAE,CAAc;IACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;IAC3B,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IACjC,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;AAC3F,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IAChD,MAAM,KAAK,GAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IAChD,IAAI,KAAkB,CAAA;IACtB,IAAI,KAAK,GAAG,CAAC;QAAE,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;SACnC,IAAI,KAAK,GAAG,CAAC;QAAE,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;;QACxC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;IAC9B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;AACzB,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACtD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAChE,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,sBAAsB,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAA;IAEvF,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACpC,IAAI,KAAK,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,sBAAsB,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAA;IAEvF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;IAC3D,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACpC,IAAI,KAAK,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,sBAAsB,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAA;IACvF,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;AACnE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA+B;IACxD,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAA;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO,IAAI,CAAA;QACvC,MAAM,IAAI,sBAAsB,CAAC,GAAG,KAAK,+BAA+B,CAAC,CAAA;IAC3E,CAAC;IACD,MAAM,IAAI,sBAAsB,CAAC,qBAAqB,KAAK,2CAA2C,CAAC,CAAA;AACzG,CAAC;AAED,MAAM,UAAU,uCAAuC,CAAC,KAAa;IACnE,MAAM,KAAK,GAAG,yCAAyC,CAAA;IACvD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAChC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;IAEnD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAExC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC/C,IAAI,MAAM,IAAI,KAAK;QAAE,OAAO,IAAI,CAAA;IAEhC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACzC,IAAI,QAAQ,IAAI,GAAG;QAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,CAAA;SACrE,IAAI,QAAQ,IAAI,GAAG;QAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,CAAA;SACxE,IAAI,QAAQ,IAAI,GAAG;QAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,CAAA;SAC5E,IAAI,QAAQ,IAAI,GAAG;QAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,CAAA;SAC1E,IAAI,QAAQ,IAAI,GAAG;QAAE,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,MAAM,CAAC,CAAA;;QAChF,OAAO,IAAI,CAAA;IAEhB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,QAAsB,EACtB,cAAmC,EACnC,YAAoC;IAEpC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAA;IACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAA;IAE7C,IAAI,CAAC,CAAC,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC;QAC7B,wFAAwF;QACxF,mEAAmE;QACnE,IAAI,QAAQ,KAAK,YAAY;YAAE,OAAO,IAAI,CAAA;QAC1C,MAAM,IAAI,sBAAsB,CAAC,YAAY,GAAG,8BAA8B,CAAC,CAAA;IACjF,CAAC;SAAM,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QACrC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;IACzC,IAAI,aAAa,IAAI,IAAI,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/E,YAAY,EAAE,CAAC,YAAY,GAAG,mDAAmD,QAAQ,WAAW,CAAC,CAAA;QACrG,OAAO,KAAK,CAAA;IACd,CAAC;IAED,SAAS,iBAAiB,CAAC,KAAU,EAAE,aAAkB;QACvD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;QACpG,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAA;IAC5E,CAAC;IAED,SAAS,OAAO,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAU;QAC7C,IAAI,EAAE,KAAK,IAAI;YAAE,OAAO,GAAG,GAAG,GAAG,CAAA;QACjC,IAAI,EAAE,KAAK,KAAK;YAAE,OAAO,GAAG,IAAI,GAAG,CAAA;QACnC,IAAI,EAAE,KAAK,IAAI;YAAE,OAAO,GAAG,GAAG,GAAG,CAAA;QACjC,IAAI,EAAE,KAAK,KAAK;YAAE,OAAO,GAAG,IAAI,GAAG,CAAA;QACnC,MAAM,IAAI,KAAK,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAA;IAC5C,CAAC;IAED,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;QAChD,KAAK,QAAQ;YACX,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;QACjD,KAAK,QAAQ;YACX,OAAO,GAAG,IAAI,cAAc,CAAA;QAC9B,KAAK,WAAW;YACd,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;QAClF,KAAK,eAAe;YAClB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;QACnF,KAAK,aAAa;YAChB,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;QACpF,KAAK,iBAAiB;YACpB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;QACrF,KAAK,WAAW;YACd,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;QAClF,KAAK,eAAe;YAClB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;QACnF,KAAK,OAAO;YACV,OAAO,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAA;QAC3F,KAAK,WAAW;YACd,OAAO,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAA;QAC3F,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC;QACX,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,0FAA0F;YAC1F,yFAAyF;YACzF,yFAAyF;YACzF,wFAAwF;YACxF,8EAA8E;YAC9E,MAAM,WAAW,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YACjF,MAAM,cAAc,GAClB,OAAO,aAAa,KAAK,QAAQ;gBAC/B,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,aAAa,IAAI,IAAI;oBACrB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBACnC,CAAC,CAAC,GAAG,CAAA;YACX,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACpE,OAAO,OAAO,CAAC,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YACvD,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAA;QAChE,CAAC;QACD,KAAK,eAAe,CAAC;QACrB,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,sBAAsB,CAAC,uDAAuD,CAAC,CAAA;YAC3F,CAAC;YACD,IAAI,UAAU,GAAG,uCAAuC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YACvE,IAAI,UAAU,IAAI,IAAI;gBAAE,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;YAC7D,IAAI,UAAU,IAAI,IAAI;gBAAE,MAAM,IAAI,sBAAsB,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAA;YAClF,MAAM,YAAY,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAA;YACrD,IAAI,QAAQ,KAAK,gBAAgB;gBAAE,OAAO,YAAY,GAAG,UAAU,CAAA;YACnE,OAAO,YAAY,GAAG,UAAU,CAAA;QAClC,CAAC;QACD,KAAK,WAAW;YACd,OAAO,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAClG,KAAK,YAAY;YACf,OAAO,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAClG,KAAK,WAAW;YACd,OAAO,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAChG,KAAK,YAAY;YACf,OAAO,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACjG,KAAK,WAAW;YACd,OAAO,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAChG,KAAK,YAAY;YACf,OAAO,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACjG,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAA;YACzD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC1D,OAAO,mBAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QAC1G,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAA;YACzD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC1D,OAAO,mBAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QAC1G,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAA;YACzD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC7D,OAAO,mBAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QAC1G,CAAC;QACD;YACE,MAAM,IAAI,sBAAsB,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAA;IACrE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,QAAsB,EACtB,cAAmC,EACnC,gBAA+C,EAC/C,YAAqB,KAAK;IAE1B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,CAAC,CAAC,QAAQ,IAAI,gBAAgB,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,wBAAwB,CAChC,UAAU,QAAQ,sFAAsF,CACzG,CAAA;IACH,CAAC;IACD,OAAO,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAA;AACpG,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,aAA4B,EAC5B,cAAmC,EACnC,gBAA+C,EAC/C,YAAqB,KAAK;IAE1B,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAA;IAE/B,MAAM,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAA;IAC5C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAA;IAEvC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvD,IAAI,oBAAoB,GAAG,KAAK,CAAA;IAEhC,IAAI,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,UAA6B,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAA;gBACrF,IAAI,iBAAiB,KAAK,KAAK,EAAE,CAAC;oBAChC,IAAI,CAAC,OAAO;wBAAE,OAAO,KAAK,CAAA;gBAC5B,CAAC;qBAAM,CAAC;oBACN,IAAI,OAAO;wBAAE,OAAO,IAAI,CAAA;gBAC1B,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,wBAAwB;oBAAE,MAAM,GAAG,CAAA;gBACtD,IAAI,GAAG,YAAY,sBAAsB,EAAE,CAAC;oBAC1C,IAAI,SAAS;wBAAE,OAAO,CAAC,KAAK,CAAC,8BAA8B,IAAI,aAAa,GAAG,EAAE,CAAC,CAAA;oBAClF,oBAAoB,GAAG,IAAI,CAAA;gBAC7B,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,CAAA;gBACX,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,IAAI,sBAAsB,CAAC,0DAA0D,CAAC,CAAA;QAC9F,CAAC;QACD,OAAO,iBAAiB,KAAK,KAAK,CAAA;IACpC,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,UAA4B,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,IAAI,OAAgB,CAAA;gBACpB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAA;gBAC1E,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAChC,IAAI,SAAS,EAAE,CAAC;wBACd,OAAO,CAAC,IAAI,CACV,iFAAiF;4BAC/E,+CAA+C,IAAI,CAAC,GAAG,IAAI,SAAS,GAAG,CAC1E,CAAA;oBACH,CAAC;oBACD,wFAAwF;oBACxF,yFAAyF;oBACzF,wEAAwE;oBACxE,uDAAuD;oBACvD,oBAAoB,GAAG,IAAI,CAAA;oBAC3B,SAAQ;gBACV,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;gBAC/C,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAA;gBACvC,IAAI,iBAAiB,KAAK,KAAK,EAAE,CAAC;oBAChC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;wBAAE,OAAO,KAAK,CAAA;oBACvC,IAAI,OAAO,IAAI,QAAQ;wBAAE,OAAO,KAAK,CAAA;gBACvC,CAAC;qBAAM,CAAC;oBACN,IAAI,OAAO,IAAI,CAAC,QAAQ;wBAAE,OAAO,IAAI,CAAA;oBACrC,IAAI,CAAC,OAAO,IAAI,QAAQ;wBAAE,OAAO,IAAI,CAAA;gBACvC,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,wBAAwB;oBAAE,MAAM,GAAG,CAAA;gBACtD,IAAI,GAAG,YAAY,sBAAsB,EAAE,CAAC;oBAC1C,IAAI,SAAS;wBAAE,OAAO,CAAC,KAAK,CAAC,8BAA8B,IAAI,aAAa,GAAG,EAAE,CAAC,CAAA;oBAClF,oBAAoB,GAAG,IAAI,CAAA;gBAC7B,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,CAAA;gBACX,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,IAAI,sBAAsB,CAAC,0DAA0D,CAAC,CAAA;QAC9F,CAAC;QACD,OAAO,iBAAiB,KAAK,KAAK,CAAA;IACpC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"match-property.js","sourceRoot":"","sources":["../../../src/client/feature-flags/match-property.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,7 @@ export declare class PostHog {
69
69
  properties?: Record<string, unknown>;
70
70
  groups?: Record<string, string | number>;
71
71
  sendFeatureFlags?: boolean;
72
+ /** UTC is preferred; non-UTC input is converted to UTC before capture. */
72
73
  timestamp?: Date;
73
74
  uuid?: string;
74
75
  disableGeoip?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -62,9 +62,15 @@ export class PostHog {
62
62
  const fns = Array.isArray(this.beforeSend) ? this.beforeSend : [this.beforeSend];
63
63
  let result = event;
64
64
  for (const fn of fns) {
65
- result = fn(result);
66
- if (!result)
65
+ try {
66
+ result = fn(result);
67
+ if (!result)
68
+ return null;
69
+ }
70
+ catch (e) {
71
+ console.warn(`[PostHog] Error in beforeSend function for event '${event.event}':`, e);
67
72
  return null;
73
+ }
68
74
  }
69
75
  return result;
70
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "2.1.0";
1
+ export declare const version = "2.1.2";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,2 +1,2 @@
1
- export const version = '2.1.0';
1
+ export const version = '2.1.2';
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "url": "https://github.com/PostHog/posthog-js/issues"
12
12
  },
13
13
  "author": "PostHog Inc.",
14
- "version": "2.1.0",
14
+ "version": "2.1.2",
15
15
  "license": "MIT",
16
16
  "keywords": [
17
17
  "convex",
@@ -48,8 +48,8 @@
48
48
  "types": "./dist/client/index.d.ts",
49
49
  "module": "./dist/client/index.js",
50
50
  "dependencies": {
51
- "posthog-node": "^5.48.0",
52
- "@posthog/core": "^1.46.8"
51
+ "@posthog/core": "^1.48.11",
52
+ "posthog-node": "^5.51.2"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@edge-runtime/vm": "^5.0.0",
@@ -1,12 +1 @@
1
- /// <reference lib="dom" />
2
-
3
- export async function hashSHA1(text: string): Promise<string> {
4
- const subtle = globalThis.crypto?.subtle
5
- if (!subtle) {
6
- throw new Error('SubtleCrypto API not available')
7
- }
8
-
9
- const hashBuffer = await subtle.digest('SHA-1', new TextEncoder().encode(text))
10
- const hashArray = Array.from(new Uint8Array(hashBuffer))
11
- return hashArray.map((byte) => byte.toString(16).padStart(2, '0')).join('')
12
- }
1
+ export { hashSHA1 } from '@posthog/core'
@@ -1,3 +1,4 @@
1
+ import { getFeatureFlagHash, getFeatureFlagVariant, resolveFeatureFlagPayload } from '@posthog/core'
1
2
  import type {
2
3
  FeatureFlagCondition,
3
4
  FeatureFlagEvaluationContext,
@@ -7,19 +8,8 @@ import type {
7
8
  JsonType,
8
9
  PostHogFeatureFlag,
9
10
  } from './types.js'
10
- import { hashSHA1 } from './crypto.js'
11
11
  import { InconclusiveMatchError, RequiresServerEvaluation, matchCohort, matchProperty } from './match-property.js'
12
12
 
13
- // Matches posthog-node's hashing constant exactly; the value is larger than Number.MAX_SAFE_INTEGER
14
- // by design and we don't want the no-loss-of-precision rule to coerce it to a different number.
15
- // eslint-disable-next-line no-loss-of-precision
16
- const LONG_SCALE = 0xfffffffffffffff
17
-
18
- async function _hash(key: string, bucketingValue: string, salt: string = ''): Promise<number> {
19
- const hashString = await hashSHA1(`${key}.${bucketingValue}${salt}`)
20
- return parseInt(hashString.slice(0, 15), 16) / LONG_SCALE
21
- }
22
-
23
13
  export type EvaluationResult = {
24
14
  value: FeatureFlagValue
25
15
  payload: JsonType | null
@@ -263,28 +253,7 @@ export class LocalFeatureFlagEvaluator {
263
253
  }
264
254
 
265
255
  private getPayloadForValue(key: string, flagValue: FeatureFlagValue): JsonType | null {
266
- if (flagValue === false || flagValue === null || flagValue === undefined) return null
267
-
268
- let payload: JsonType | null = null
269
- const payloads = this.flagsByKey[key]?.filters?.payloads
270
- if (!payloads) return null
271
-
272
- if (typeof flagValue === 'boolean') {
273
- payload = payloads[flagValue.toString()] || null
274
- } else if (typeof flagValue === 'string') {
275
- payload = payloads[flagValue] || null
276
- }
277
-
278
- if (payload == null) return null
279
- if (typeof payload === 'object') return payload
280
- if (typeof payload === 'string') {
281
- try {
282
- return JSON.parse(payload)
283
- } catch {
284
- return payload
285
- }
286
- }
287
- return payload
256
+ return resolveFeatureFlagPayload(this.flagsByKey[key]?.filters?.payloads, flagValue)
288
257
  }
289
258
 
290
259
  private async evaluateFlagDependency(
@@ -434,27 +403,17 @@ export class LocalFeatureFlagEvaluator {
434
403
  if (rolloutPercentage == undefined) return true
435
404
  }
436
405
 
437
- if (rolloutPercentage != undefined && (await _hash(flag.key, bucketingValue)) > rolloutPercentage / 100.0) {
406
+ if (
407
+ rolloutPercentage != undefined &&
408
+ (await getFeatureFlagHash(flag.key, bucketingValue)) > rolloutPercentage / 100.0
409
+ ) {
438
410
  return false
439
411
  }
440
412
  return true
441
413
  }
442
414
 
443
415
  private async getMatchingVariant(flag: PostHogFeatureFlag, bucketingValue: string): Promise<string | undefined> {
444
- const hashValue = await _hash(flag.key, bucketingValue, 'variant')
445
- return this.variantLookupTable(flag).find((v) => hashValue >= v.valueMin && hashValue < v.valueMax)?.key
446
- }
447
-
448
- private variantLookupTable(flag: PostHogFeatureFlag): { valueMin: number; valueMax: number; key: string }[] {
449
- const table: { valueMin: number; valueMax: number; key: string }[] = []
450
- let valueMin = 0
451
- const multivariates = flag.filters?.multivariate?.variants || []
452
- for (const variant of multivariates) {
453
- const valueMax = valueMin + variant.rollout_percentage / 100.0
454
- table.push({ valueMin, valueMax, key: variant.key })
455
- valueMin = valueMax
456
- }
457
- return table
416
+ return getFeatureFlagVariant(flag.key, bucketingValue, flag.filters?.multivariate?.variants || [])
458
417
  }
459
418
  }
460
419
 
@@ -141,6 +141,16 @@ describe('matchProperty — starts_with / ends_with', () => {
141
141
  )
142
142
  })
143
143
 
144
+ describe('matchProperty — SemVer compatibility policy', () => {
145
+ test('preserves legacy leading-zero SemVer matching', () => {
146
+ expect(matchProperty(prop('semver_eq', '01.02.03'), { k: '1.2.3' })).toBe(true)
147
+ })
148
+
149
+ test('preserves legacy parseInt-compatible wildcard matching', () => {
150
+ expect(matchProperty(prop('semver_wildcard', '1x.*'), { k: '1.8.0' })).toBe(true)
151
+ })
152
+ })
153
+
144
154
  describe('matchProperty — error cases', () => {
145
155
  test('throws InconclusiveMatchError when key is absent for non-is_not_set operators', () => {
146
156
  expect(() => matchProperty(prop('exact', 'x'), {})).toThrow(InconclusiveMatchError)
@@ -1,17 +1,7 @@
1
- import type { FlagProperty, FlagPropertyValue, PropertyGroup } from './types.js'
1
+ import { InconclusiveMatchError, matchFeatureFlagProperty } from '@posthog/core'
2
+ import type { FlagProperty, PropertyGroup } from './types.js'
2
3
 
3
- // Operators that should still run their switch case when the property value is null/undefined.
4
- // `is_not` may legitimately compare against null; `is_set` only cares about key presence and
5
- // must not be short-circuited by the null guard below.
6
- const NULL_VALUES_ALLOWED_OPERATORS = ['is_not', 'is_set']
7
-
8
- export class InconclusiveMatchError extends Error {
9
- constructor(message: string) {
10
- super(message)
11
- this.name = this.constructor.name
12
- Object.setPrototypeOf(this, InconclusiveMatchError.prototype)
13
- }
14
- }
4
+ export { InconclusiveMatchError }
15
5
 
16
6
  export class RequiresServerEvaluation extends Error {
17
7
  constructor(message: string) {
@@ -21,234 +11,17 @@ export class RequiresServerEvaluation extends Error {
21
11
  }
22
12
  }
23
13
 
24
- function isValidRegex(regex: string): boolean {
25
- try {
26
- new RegExp(regex)
27
- return true
28
- } catch {
29
- return false
30
- }
31
- }
32
-
33
- type SemverTuple = [number, number, number]
34
-
35
- function parseSemver(value: string): SemverTuple {
36
- const text = String(value).trim().replace(/^[vV]/, '')
37
- const baseVersion = text.split('-')[0].split('+')[0]
38
-
39
- if (!baseVersion || baseVersion.startsWith('.')) {
40
- throw new InconclusiveMatchError(`Invalid semver: ${value}`)
41
- }
42
-
43
- const parts = baseVersion.split('.')
44
-
45
- const parsePart = (part: string | undefined): number => {
46
- if (part === undefined || part === '') return 0
47
- if (!/^\d+$/.test(part)) {
48
- throw new InconclusiveMatchError(`Invalid semver: ${value}`)
49
- }
50
- return parseInt(part, 10)
51
- }
52
-
53
- return [parsePart(parts[0]), parsePart(parts[1]), parsePart(parts[2])]
54
- }
55
-
56
- function compareSemverTuples(a: SemverTuple, b: SemverTuple): number {
57
- for (let i = 0; i < 3; i++) {
58
- if (a[i] < b[i]) return -1
59
- if (a[i] > b[i]) return 1
60
- }
61
- return 0
62
- }
63
-
64
- function computeTildeBounds(value: string): { lower: SemverTuple; upper: SemverTuple } {
65
- const parsed = parseSemver(value)
66
- return { lower: [parsed[0], parsed[1], parsed[2]], upper: [parsed[0], parsed[1] + 1, 0] }
67
- }
68
-
69
- function computeCaretBounds(value: string): { lower: SemverTuple; upper: SemverTuple } {
70
- const [major, minor, patch] = parseSemver(value)
71
- const lower: SemverTuple = [major, minor, patch]
72
- let upper: SemverTuple
73
- if (major > 0) upper = [major + 1, 0, 0]
74
- else if (minor > 0) upper = [0, minor + 1, 0]
75
- else upper = [0, 0, patch + 1]
76
- return { lower, upper }
77
- }
78
-
79
- function computeWildcardBounds(value: string): { lower: SemverTuple; upper: SemverTuple } {
80
- const text = String(value).trim().replace(/^[vV]/, '')
81
- const cleanedText = text.replace(/\.\*$/, '').replace(/\*$/, '')
82
- if (!cleanedText) throw new InconclusiveMatchError(`Invalid wildcard semver: ${value}`)
83
-
84
- const parts = cleanedText.split('.')
85
- const major = parseInt(parts[0], 10)
86
- if (isNaN(major)) throw new InconclusiveMatchError(`Invalid wildcard semver: ${value}`)
87
-
88
- if (parts.length === 1) {
89
- return { lower: [major, 0, 0], upper: [major + 1, 0, 0] }
90
- }
91
- const minor = parseInt(parts[1], 10)
92
- if (isNaN(minor)) throw new InconclusiveMatchError(`Invalid wildcard semver: ${value}`)
93
- return { lower: [major, minor, 0], upper: [major, minor + 1, 0] }
94
- }
95
-
96
- function convertToDateTime(value: FlagPropertyValue | Date): Date {
97
- if (value instanceof Date) return value
98
- if (typeof value === 'string' || typeof value === 'number') {
99
- const date = new Date(value)
100
- if (!isNaN(date.valueOf())) return date
101
- throw new InconclusiveMatchError(`${value} is in an invalid date format`)
102
- }
103
- throw new InconclusiveMatchError(`The date provided ${value} must be a string, number, or date object`)
104
- }
105
-
106
- export function relativeDateParseForFeatureFlagMatching(value: string): Date | null {
107
- const regex = /^-?(?<number>[0-9]+)(?<interval>[a-z])$/
108
- const match = value.match(regex)
109
- const parsedDt = new Date(new Date().toISOString())
110
-
111
- if (!match || !match.groups) return null
112
-
113
- const number = parseInt(match.groups['number'])
114
- if (number >= 10000) return null
115
-
116
- const interval = match.groups['interval']
117
- if (interval == 'h') parsedDt.setUTCHours(parsedDt.getUTCHours() - number)
118
- else if (interval == 'd') parsedDt.setUTCDate(parsedDt.getUTCDate() - number)
119
- else if (interval == 'w') parsedDt.setUTCDate(parsedDt.getUTCDate() - number * 7)
120
- else if (interval == 'm') parsedDt.setUTCMonth(parsedDt.getUTCMonth() - number)
121
- else if (interval == 'y') parsedDt.setUTCFullYear(parsedDt.getUTCFullYear() - number)
122
- else return null
123
-
124
- return parsedDt
125
- }
126
-
14
+ // Convex historically accepted leading-zero SemVer identifiers and parseInt-compatible wildcard
15
+ // components. Keep that behavior explicit until product parity is decided.
127
16
  export function matchProperty(
128
17
  property: FlagProperty,
129
18
  propertyValues: Record<string, any>,
130
19
  warnFunction?: (msg: string) => void
131
20
  ): boolean {
132
- const key = property.key
133
- const value = property.value
134
- const operator = property.operator || 'exact'
135
-
136
- if (!(key in propertyValues)) {
137
- // When the property is genuinely absent we can answer `is_not_set` locally — no need to
138
- // bail out as inconclusive and force the flag to return undefined.
139
- if (operator === 'is_not_set') return true
140
- throw new InconclusiveMatchError(`Property ${key} not found in propertyValues`)
141
- } else if (operator === 'is_not_set') {
142
- return false
143
- }
144
-
145
- const overrideValue = propertyValues[key]
146
- if (overrideValue == null && !NULL_VALUES_ALLOWED_OPERATORS.includes(operator)) {
147
- warnFunction?.(`Property ${key} cannot have a value of null/undefined with the ${operator} operator`)
148
- return false
149
- }
150
-
151
- function computeExactMatch(value: any, overrideValue: any): boolean {
152
- if (Array.isArray(value)) {
153
- return value.map((val) => String(val).toLowerCase()).includes(String(overrideValue).toLowerCase())
154
- }
155
- return String(value).toLowerCase() === String(overrideValue).toLowerCase()
156
- }
157
-
158
- function compare(lhs: any, rhs: any, op: string): boolean {
159
- if (op === 'gt') return lhs > rhs
160
- if (op === 'gte') return lhs >= rhs
161
- if (op === 'lt') return lhs < rhs
162
- if (op === 'lte') return lhs <= rhs
163
- throw new Error(`Invalid operator: ${op}`)
164
- }
165
-
166
- switch (operator) {
167
- case 'exact':
168
- return computeExactMatch(value, overrideValue)
169
- case 'is_not':
170
- return !computeExactMatch(value, overrideValue)
171
- case 'is_set':
172
- return key in propertyValues
173
- case 'icontains':
174
- return String(overrideValue).toLowerCase().includes(String(value).toLowerCase())
175
- case 'not_icontains':
176
- return !String(overrideValue).toLowerCase().includes(String(value).toLowerCase())
177
- case 'starts_with':
178
- return String(overrideValue).toLowerCase().startsWith(String(value).toLowerCase())
179
- case 'not_starts_with':
180
- return !String(overrideValue).toLowerCase().startsWith(String(value).toLowerCase())
181
- case 'ends_with':
182
- return String(overrideValue).toLowerCase().endsWith(String(value).toLowerCase())
183
- case 'not_ends_with':
184
- return !String(overrideValue).toLowerCase().endsWith(String(value).toLowerCase())
185
- case 'regex':
186
- return isValidRegex(String(value)) && String(overrideValue).match(String(value)) !== null
187
- case 'not_regex':
188
- return isValidRegex(String(value)) && String(overrideValue).match(String(value)) === null
189
- case 'gt':
190
- case 'gte':
191
- case 'lt':
192
- case 'lte': {
193
- // Try a numeric comparison first; only fall back to lexicographic when one side genuinely
194
- // isn't a number. `parseFloat` returns NaN for non-numeric strings, so `Number.isFinite`
195
- // is the right guard — `NaN != null` would slip through and produce nonsense comparisons
196
- // like `NaN > 5`. Likewise, when a person property arrives as the string `"10"` we want
197
- // `"10" > "9"` to evaluate numerically (true), not lexicographically (false).
198
- const parsedValue = typeof value === 'number' ? value : parseFloat(String(value))
199
- const parsedOverride =
200
- typeof overrideValue === 'number'
201
- ? overrideValue
202
- : overrideValue != null
203
- ? parseFloat(String(overrideValue))
204
- : NaN
205
- if (Number.isFinite(parsedValue) && Number.isFinite(parsedOverride)) {
206
- return compare(parsedOverride, parsedValue, operator)
207
- }
208
- return compare(String(overrideValue), String(value), operator)
209
- }
210
- case 'is_date_after':
211
- case 'is_date_before': {
212
- if (typeof value === 'boolean') {
213
- throw new InconclusiveMatchError(`Date operations cannot be performed on boolean values`)
214
- }
215
- let parsedDate = relativeDateParseForFeatureFlagMatching(String(value))
216
- if (parsedDate == null) parsedDate = convertToDateTime(value)
217
- if (parsedDate == null) throw new InconclusiveMatchError(`Invalid date: ${value}`)
218
- const overrideDate = convertToDateTime(overrideValue)
219
- if (operator === 'is_date_before') return overrideDate < parsedDate
220
- return overrideDate > parsedDate
221
- }
222
- case 'semver_eq':
223
- return compareSemverTuples(parseSemver(String(overrideValue)), parseSemver(String(value))) === 0
224
- case 'semver_neq':
225
- return compareSemverTuples(parseSemver(String(overrideValue)), parseSemver(String(value))) !== 0
226
- case 'semver_gt':
227
- return compareSemverTuples(parseSemver(String(overrideValue)), parseSemver(String(value))) > 0
228
- case 'semver_gte':
229
- return compareSemverTuples(parseSemver(String(overrideValue)), parseSemver(String(value))) >= 0
230
- case 'semver_lt':
231
- return compareSemverTuples(parseSemver(String(overrideValue)), parseSemver(String(value))) < 0
232
- case 'semver_lte':
233
- return compareSemverTuples(parseSemver(String(overrideValue)), parseSemver(String(value))) <= 0
234
- case 'semver_tilde': {
235
- const overrideParsed = parseSemver(String(overrideValue))
236
- const { lower, upper } = computeTildeBounds(String(value))
237
- return compareSemverTuples(overrideParsed, lower) >= 0 && compareSemverTuples(overrideParsed, upper) < 0
238
- }
239
- case 'semver_caret': {
240
- const overrideParsed = parseSemver(String(overrideValue))
241
- const { lower, upper } = computeCaretBounds(String(value))
242
- return compareSemverTuples(overrideParsed, lower) >= 0 && compareSemverTuples(overrideParsed, upper) < 0
243
- }
244
- case 'semver_wildcard': {
245
- const overrideParsed = parseSemver(String(overrideValue))
246
- const { lower, upper } = computeWildcardBounds(String(value))
247
- return compareSemverTuples(overrideParsed, lower) >= 0 && compareSemverTuples(overrideParsed, upper) < 0
248
- }
249
- default:
250
- throw new InconclusiveMatchError(`Unknown operator: ${operator}`)
251
- }
21
+ return matchFeatureFlagProperty(property, propertyValues, {
22
+ warnFunction,
23
+ semverParsingPolicy: 'legacy-permissive',
24
+ })
252
25
  }
253
26
 
254
27
  export function matchCohort(
@@ -478,6 +478,35 @@ describe('beforeSend', () => {
478
478
  expect(fn2).not.toHaveBeenCalled()
479
479
  })
480
480
 
481
+ test('fails closed when a beforeSend function throws', async () => {
482
+ const component = { lib: { capture: 'capture_ref' } }
483
+ const error = new Error('beforeSend failed')
484
+ const sentinel: BeforeSendFn = jest.fn((event: Parameters<BeforeSendFn>[0]) => event)
485
+ const posthog = new PostHog(component as never, {
486
+ beforeSend: [
487
+ (event) => ({ ...event, properties: { ...event.properties, transformed: true } }),
488
+ () => {
489
+ throw error
490
+ },
491
+ sentinel,
492
+ ],
493
+ })
494
+ const ctx = mockSchedulerCtx()
495
+ const warnSpy = jest.spyOn(console, 'warn').mockImplementation(() => {})
496
+
497
+ await expect(
498
+ posthog.capture(ctx as never, {
499
+ distinctId: 'user-1',
500
+ event: 'test',
501
+ })
502
+ ).resolves.toBeUndefined()
503
+
504
+ expect(sentinel).not.toHaveBeenCalled()
505
+ expect(ctx.scheduler.runAfter).not.toHaveBeenCalled()
506
+ expect(warnSpy).toHaveBeenCalledWith("[PostHog] Error in beforeSend function for event 'test':", error)
507
+ warnSpy.mockRestore()
508
+ })
509
+
481
510
  test('applies beforeSend to identify events', async () => {
482
511
  const component = { lib: { identify: 'identify_ref' } }
483
512
  const beforeSend: BeforeSendFn = (event) => {
@@ -119,8 +119,13 @@ export class PostHog {
119
119
  const fns = Array.isArray(this.beforeSend) ? this.beforeSend : [this.beforeSend]
120
120
  let result: PostHogEvent | null = event
121
121
  for (const fn of fns) {
122
- result = fn(result)
123
- if (!result) return null
122
+ try {
123
+ result = fn(result)
124
+ if (!result) return null
125
+ } catch (e) {
126
+ console.warn(`[PostHog] Error in beforeSend function for event '${event.event}':`, e)
127
+ return null
128
+ }
124
129
  }
125
130
  return result
126
131
  }
@@ -166,6 +171,7 @@ export class PostHog {
166
171
  properties?: Record<string, unknown>
167
172
  groups?: Record<string, string | number>
168
173
  sendFeatureFlags?: boolean
174
+ /** UTC is preferred; non-UTC input is converted to UTC before capture. */
169
175
  timestamp?: Date
170
176
  uuid?: string
171
177
  disableGeoip?: boolean
@@ -1 +1 @@
1
- export const version = '2.1.0'
1
+ export const version = '2.1.2'