@featurevisor/sdk 0.37.0 → 0.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/feature.d.ts CHANGED
@@ -2,6 +2,7 @@ import { Allocation, Context, Traffic, Feature, Force } from "@featurevisor/type
2
2
  import { DatafileReader } from "./datafileReader";
3
3
  import { Logger } from "./logger";
4
4
  export declare function getMatchedAllocation(traffic: Traffic, bucketValue: number): Allocation | undefined;
5
+ export declare function getMatchedTraffic(traffic: Traffic[], context: Context, datafileReader: DatafileReader): Traffic | undefined;
5
6
  export interface MatchedTrafficAndAllocation {
6
7
  matchedTraffic: Traffic | undefined;
7
8
  matchedAllocation: Allocation | undefined;
package/lib/feature.js CHANGED
@@ -10,6 +10,14 @@ export function getMatchedAllocation(traffic, bucketValue) {
10
10
  }
11
11
  return undefined;
12
12
  }
13
+ export function getMatchedTraffic(traffic, context, datafileReader) {
14
+ return traffic.find(function (t) {
15
+ if (!allGroupSegmentsAreMatched(typeof t.segments === "string" && t.segments !== "*" ? JSON.parse(t.segments) : t.segments, context, datafileReader)) {
16
+ return false;
17
+ }
18
+ return true;
19
+ });
20
+ }
13
21
  export function getMatchedTrafficAndAllocation(traffic, context, bucketValue, datafileReader, logger) {
14
22
  var matchedAllocation;
15
23
  var matchedTraffic = traffic.find(function (t) {
@@ -1 +1 @@
1
- {"version":3,"file":"feature.js","sourceRoot":"","sources":["../src/feature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAGvD,MAAM,UAAU,oBAAoB,CAClC,OAAgB,EAChB,WAAmB;IAEnB,KAAyB,UAAkB,EAAlB,KAAA,OAAO,CAAC,UAAU,EAAlB,cAAkB,EAAlB,IAAkB,EAAE;QAAxC,IAAM,UAAU,SAAA;QACb,IAAA,KAAe,UAAU,CAAC,KAAK,EAA9B,KAAK,QAAA,EAAE,GAAG,QAAoB,CAAC;QAEtC,IAAI,UAAU,CAAC,KAAK,IAAI,KAAK,IAAI,WAAW,IAAI,GAAG,IAAI,WAAW,EAAE;YAClE,OAAO,UAAU,CAAC;SACnB;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAOD,MAAM,UAAU,8BAA8B,CAC5C,OAAkB,EAClB,OAAgB,EAChB,WAAmB,EACnB,cAA8B,EAC9B,MAAc;IAEd,IAAI,iBAAyC,CAAC;IAE9C,IAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC;QACpC,IACE,CAAC,0BAA0B,CACzB,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAC1F,OAAO,EACP,cAAc,CACf,EACD;YACA,OAAO,KAAK,CAAC;SACd;QAED,iBAAiB,GAAG,oBAAoB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAEzD,IAAI,iBAAiB,EAAE;YACrB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,cAAc,gBAAA;QACd,iBAAiB,mBAAA;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAgB,EAChB,OAAgB,EAChB,cAA8B;IAE9B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAClB,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,CAAQ;QACjC,IAAI,CAAC,CAAC,UAAU,EAAE;YAChB,OAAO,uBAAuB,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;SACvD;QAED,IAAI,CAAC,CAAC,QAAQ,EAAE;YACd,OAAO,0BAA0B,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;SACxE;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"feature.js","sourceRoot":"","sources":["../src/feature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAGvD,MAAM,UAAU,oBAAoB,CAClC,OAAgB,EAChB,WAAmB;IAEnB,KAAyB,UAAkB,EAAlB,KAAA,OAAO,CAAC,UAAU,EAAlB,cAAkB,EAAlB,IAAkB,EAAE;QAAxC,IAAM,UAAU,SAAA;QACb,IAAA,KAAe,UAAU,CAAC,KAAK,EAA9B,KAAK,QAAA,EAAE,GAAG,QAAoB,CAAC;QAEtC,IAAI,UAAU,CAAC,KAAK,IAAI,KAAK,IAAI,WAAW,IAAI,GAAG,IAAI,WAAW,EAAE;YAClE,OAAO,UAAU,CAAC;SACnB;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,OAAkB,EAClB,OAAgB,EAChB,cAA8B;IAE9B,OAAO,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC;QACpB,IACE,CAAC,0BAA0B,CACzB,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAC1F,OAAO,EACP,cAAc,CACf,EACD;YACA,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAOD,MAAM,UAAU,8BAA8B,CAC5C,OAAkB,EAClB,OAAgB,EAChB,WAAmB,EACnB,cAA8B,EAC9B,MAAc;IAEd,IAAI,iBAAyC,CAAC;IAE9C,IAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC;QACpC,IACE,CAAC,0BAA0B,CACzB,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAC1F,OAAO,EACP,cAAc,CACf,EACD;YACA,OAAO,KAAK,CAAC;SACd;QAED,iBAAiB,GAAG,oBAAoB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAEzD,IAAI,iBAAiB,EAAE;YACrB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,cAAc,gBAAA;QACd,iBAAiB,mBAAA;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAgB,EAChB,OAAgB,EAChB,cAA8B;IAE9B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAClB,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,CAAQ;QACjC,IAAI,CAAC,CAAC,UAAU,EAAE;YAChB,OAAO,uBAAuB,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;SACvD;QAED,IAAI,CAAC,CAAC,QAAQ,EAAE;YACd,OAAO,0BAA0B,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;SACxE;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC"}
package/lib/instance.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Context, BucketKey, BucketValue, DatafileContent, Feature, FeatureKey, InitialFeatures, StickyFeatures, VariableType, VariableValue, VariationType, VariationValue, Variation, RuleKey, VariableKey, VariableSchema } from "@featurevisor/types";
1
+ import { Context, BucketKey, BucketValue, DatafileContent, Feature, FeatureKey, InitialFeatures, OverrideFeature, StickyFeatures, Traffic, VariableType, VariableValue, VariationValue, Variation, RuleKey, VariableKey, VariableSchema } from "@featurevisor/types";
2
2
  import { Logger } from "./logger";
3
3
  import { Emitter } from "./emitter";
4
4
  export type ReadyCallback = () => void;
@@ -30,6 +30,9 @@ export interface InstanceOptions {
30
30
  export type DatafileFetchHandler = (datafileUrl: string) => Promise<DatafileContent>;
31
31
  export declare enum EvaluationReason {
32
32
  NOT_FOUND = "not_found",
33
+ NO_VARIATIONS = "no_variations",
34
+ DISABLED = "disabled",
35
+ OUT_OF_RANGE = "out_of_range",
33
36
  FORCED = "forced",
34
37
  INITIAL = "initial",
35
38
  STICKY = "sticky",
@@ -45,13 +48,17 @@ export interface Evaluation {
45
48
  bucketValue?: BucketValue;
46
49
  ruleKey?: RuleKey;
47
50
  error?: Error;
51
+ enabled?: boolean;
52
+ traffic?: Traffic;
53
+ sticky?: OverrideFeature;
54
+ initial?: OverrideFeature;
48
55
  variation?: Variation;
49
56
  variationValue?: VariationValue;
50
57
  variableKey?: VariableKey;
51
58
  variableValue?: VariableValue;
52
59
  variableSchema?: VariableSchema;
53
60
  }
54
- type FieldType = VariationType | VariableType;
61
+ type FieldType = string | VariableType;
55
62
  type ValueType = VariableValue;
56
63
  export declare function getValueByType(value: ValueType, fieldType: FieldType): ValueType;
57
64
  export declare class FeaturevisorInstance {
@@ -94,15 +101,16 @@ export declare class FeaturevisorInstance {
94
101
  refresh(): void;
95
102
  startRefreshing(): void;
96
103
  stopRefreshing(): void;
104
+ /**
105
+ * Flag
106
+ */
107
+ evaluateFlag(featureKey: FeatureKey | Feature, context?: Context): Evaluation;
108
+ isEnabled(featureKey: FeatureKey | Feature, context?: Context): boolean;
97
109
  /**
98
110
  * Variation
99
111
  */
100
112
  evaluateVariation(featureKey: FeatureKey | Feature, context?: Context): Evaluation;
101
113
  getVariation(featureKey: FeatureKey | Feature, context?: Context): VariationValue | undefined;
102
- getVariationBoolean(featureKey: FeatureKey | Feature, context?: Context): boolean | undefined;
103
- getVariationString(featureKey: FeatureKey | Feature, context?: Context): string | undefined;
104
- getVariationInteger(featureKey: FeatureKey | Feature, context?: Context): number | undefined;
105
- getVariationDouble(featureKey: FeatureKey | Feature, context?: Context): number | undefined;
106
114
  /**
107
115
  * Activate
108
116
  */
package/lib/instance.js CHANGED
@@ -2,7 +2,7 @@ import { createLogger } from "./logger";
2
2
  import { DatafileReader } from "./datafileReader";
3
3
  import { Emitter } from "./emitter";
4
4
  import { getBucketedNumber } from "./bucket";
5
- import { findForceFromFeature, getMatchedTrafficAndAllocation } from "./feature";
5
+ import { findForceFromFeature, getMatchedTraffic, getMatchedTrafficAndAllocation } from "./feature";
6
6
  import { allConditionsAreMatched } from "./conditions";
7
7
  import { allGroupSegmentsAreMatched } from "./segments";
8
8
  var DEFAULT_BUCKET_KEY_SEPARATOR = ".";
@@ -16,6 +16,9 @@ var emptyDatafile = {
16
16
  export var EvaluationReason;
17
17
  (function (EvaluationReason) {
18
18
  EvaluationReason["NOT_FOUND"] = "not_found";
19
+ EvaluationReason["NO_VARIATIONS"] = "no_variations";
20
+ EvaluationReason["DISABLED"] = "disabled";
21
+ EvaluationReason["OUT_OF_RANGE"] = "out_of_range";
19
22
  EvaluationReason["FORCED"] = "forced";
20
23
  EvaluationReason["INITIAL"] = "initial";
21
24
  EvaluationReason["STICKY"] = "sticky";
@@ -257,6 +260,149 @@ var FeaturevisorInstance = /** @class */ (function () {
257
260
  }
258
261
  clearInterval(this.intervalId);
259
262
  };
263
+ /**
264
+ * Flag
265
+ */
266
+ FeaturevisorInstance.prototype.evaluateFlag = function (featureKey, context) {
267
+ if (context === void 0) { context = {}; }
268
+ var evaluation;
269
+ try {
270
+ var key = typeof featureKey === "string" ? featureKey : featureKey.key;
271
+ // sticky
272
+ if (this.stickyFeatures &&
273
+ this.stickyFeatures[key] &&
274
+ typeof this.stickyFeatures[key].enabled !== "undefined") {
275
+ evaluation = {
276
+ featureKey: key,
277
+ reason: EvaluationReason.STICKY,
278
+ enabled: this.stickyFeatures[key].enabled,
279
+ sticky: this.stickyFeatures[key],
280
+ };
281
+ this.logger.debug("using sticky enabled", evaluation);
282
+ return evaluation;
283
+ }
284
+ // initial
285
+ if (this.statuses &&
286
+ !this.statuses.ready &&
287
+ this.initialFeatures &&
288
+ this.initialFeatures[key] &&
289
+ typeof this.initialFeatures[key].enabled !== "undefined") {
290
+ evaluation = {
291
+ featureKey: key,
292
+ reason: EvaluationReason.INITIAL,
293
+ enabled: this.initialFeatures[key].enabled,
294
+ initial: this.initialFeatures[key],
295
+ };
296
+ this.logger.debug("using initial enabled", evaluation);
297
+ return evaluation;
298
+ }
299
+ var feature = this.getFeature(featureKey);
300
+ // not found
301
+ if (!feature) {
302
+ evaluation = {
303
+ featureKey: key,
304
+ reason: EvaluationReason.NOT_FOUND,
305
+ };
306
+ this.logger.warn("feature not found", evaluation);
307
+ return evaluation;
308
+ }
309
+ var finalContext = this.interceptContext ? this.interceptContext(context) : context;
310
+ // forced
311
+ var force = findForceFromFeature(feature, context, this.datafileReader);
312
+ if (force && typeof force.enabled !== "undefined") {
313
+ evaluation = {
314
+ featureKey: feature.key,
315
+ reason: EvaluationReason.FORCED,
316
+ enabled: force.enabled,
317
+ };
318
+ this.logger.debug("forced enabled found", evaluation);
319
+ return evaluation;
320
+ }
321
+ // bucketing
322
+ var bucketValue_1 = this.getBucketValue(feature, finalContext);
323
+ var matchedTraffic = getMatchedTraffic(feature.traffic, finalContext, this.datafileReader);
324
+ if (matchedTraffic) {
325
+ // check if mutually exclusive
326
+ if (feature.ranges && feature.ranges.length > 0) {
327
+ var matchedRange = feature.ranges.find(function (range) {
328
+ return bucketValue_1 >= range[0] && bucketValue_1 < range[1];
329
+ });
330
+ // matched
331
+ if (matchedRange) {
332
+ evaluation = {
333
+ featureKey: feature.key,
334
+ reason: EvaluationReason.ALLOCATED,
335
+ enabled: typeof matchedTraffic.enabled === "undefined" ? true : matchedTraffic.enabled,
336
+ bucketValue: bucketValue_1,
337
+ };
338
+ return evaluation;
339
+ }
340
+ // no match
341
+ evaluation = {
342
+ featureKey: feature.key,
343
+ reason: EvaluationReason.OUT_OF_RANGE,
344
+ enabled: false,
345
+ bucketValue: bucketValue_1,
346
+ };
347
+ this.logger.debug("not matched", evaluation);
348
+ return evaluation;
349
+ }
350
+ // override from rule
351
+ if (typeof matchedTraffic.enabled !== "undefined") {
352
+ evaluation = {
353
+ featureKey: feature.key,
354
+ reason: EvaluationReason.OVERRIDE,
355
+ enabled: matchedTraffic.enabled,
356
+ bucketValue: bucketValue_1,
357
+ ruleKey: matchedTraffic.key,
358
+ traffic: matchedTraffic,
359
+ };
360
+ this.logger.debug("override from rule", evaluation);
361
+ return evaluation;
362
+ }
363
+ // treated as enabled because of matched traffic
364
+ if (bucketValue_1 < matchedTraffic.percentage) {
365
+ // @TODO: verify if range check should be inclusive or not
366
+ evaluation = {
367
+ featureKey: feature.key,
368
+ reason: EvaluationReason.RULE,
369
+ enabled: true,
370
+ bucketValue: bucketValue_1,
371
+ ruleKey: matchedTraffic.key,
372
+ traffic: matchedTraffic,
373
+ };
374
+ return evaluation;
375
+ }
376
+ }
377
+ // nothing matched
378
+ evaluation = {
379
+ featureKey: feature.key,
380
+ reason: EvaluationReason.ERROR,
381
+ enabled: false,
382
+ bucketValue: bucketValue_1,
383
+ };
384
+ return evaluation;
385
+ }
386
+ catch (e) {
387
+ evaluation = {
388
+ featureKey: typeof featureKey === "string" ? featureKey : featureKey.key,
389
+ reason: EvaluationReason.ERROR,
390
+ error: e,
391
+ };
392
+ return evaluation;
393
+ }
394
+ };
395
+ FeaturevisorInstance.prototype.isEnabled = function (featureKey, context) {
396
+ if (context === void 0) { context = {}; }
397
+ try {
398
+ var evaluation = this.evaluateFlag(featureKey, context);
399
+ return evaluation.enabled === true;
400
+ }
401
+ catch (e) {
402
+ this.logger.error("isEnabled", { featureKey: featureKey, error: e });
403
+ return false;
404
+ }
405
+ };
260
406
  /**
261
407
  * Variation
262
408
  */
@@ -265,6 +411,15 @@ var FeaturevisorInstance = /** @class */ (function () {
265
411
  var evaluation;
266
412
  try {
267
413
  var key = typeof featureKey === "string" ? featureKey : featureKey.key;
414
+ var flag = this.evaluateFlag(featureKey, context);
415
+ if (flag.enabled === false) {
416
+ evaluation = {
417
+ featureKey: key,
418
+ reason: EvaluationReason.DISABLED,
419
+ };
420
+ this.logger.debug("feature is disabled", evaluation);
421
+ return evaluation;
422
+ }
268
423
  // sticky
269
424
  if (this.stickyFeatures && this.stickyFeatures[key]) {
270
425
  var variationValue = this.stickyFeatures[key].variation;
@@ -293,43 +448,52 @@ var FeaturevisorInstance = /** @class */ (function () {
293
448
  this.logger.debug("using initial variation", evaluation);
294
449
  return evaluation;
295
450
  }
296
- var feature_1 = this.getFeature(featureKey);
451
+ var feature = this.getFeature(featureKey);
297
452
  // not found
298
- if (!feature_1) {
453
+ if (!feature) {
299
454
  evaluation = {
300
455
  featureKey: key,
301
456
  reason: EvaluationReason.NOT_FOUND,
302
457
  };
303
- this.logger.warn("feature not found in datafile", evaluation);
458
+ this.logger.warn("feature not found", evaluation);
459
+ return evaluation;
460
+ }
461
+ // no variations
462
+ if (!feature.variations || feature.variations.length === 0) {
463
+ evaluation = {
464
+ featureKey: key,
465
+ reason: EvaluationReason.NO_VARIATIONS,
466
+ };
467
+ this.logger.warn("no variations", evaluation);
304
468
  return evaluation;
305
469
  }
306
470
  var finalContext = this.interceptContext ? this.interceptContext(context) : context;
307
471
  // forced
308
- var force_1 = findForceFromFeature(feature_1, context, this.datafileReader);
472
+ var force_1 = findForceFromFeature(feature, context, this.datafileReader);
309
473
  if (force_1 && force_1.variation) {
310
- var variation_1 = feature_1.variations.find(function (v) { return v.value === force_1.variation; });
311
- if (variation_1) {
474
+ var variation = feature.variations.find(function (v) { return v.value === force_1.variation; });
475
+ if (variation) {
312
476
  evaluation = {
313
- featureKey: feature_1.key,
477
+ featureKey: feature.key,
314
478
  reason: EvaluationReason.FORCED,
315
- variation: variation_1,
479
+ variation: variation,
316
480
  };
317
481
  this.logger.debug("forced variation found", evaluation);
318
482
  return evaluation;
319
483
  }
320
484
  }
321
485
  // bucketing
322
- var bucketValue = this.getBucketValue(feature_1, finalContext);
323
- var _a = getMatchedTrafficAndAllocation(feature_1.traffic, finalContext, bucketValue, this.datafileReader, this.logger), matchedTraffic_1 = _a.matchedTraffic, matchedAllocation_1 = _a.matchedAllocation;
486
+ var bucketValue = this.getBucketValue(feature, finalContext);
487
+ var _a = getMatchedTrafficAndAllocation(feature.traffic, finalContext, bucketValue, this.datafileReader, this.logger), matchedTraffic_1 = _a.matchedTraffic, matchedAllocation_1 = _a.matchedAllocation;
324
488
  if (matchedTraffic_1) {
325
489
  // override from rule
326
490
  if (matchedTraffic_1.variation) {
327
- var variation_2 = feature_1.variations.find(function (v) { return v.value === matchedTraffic_1.variation; });
328
- if (variation_2) {
491
+ var variation = feature.variations.find(function (v) { return v.value === matchedTraffic_1.variation; });
492
+ if (variation) {
329
493
  evaluation = {
330
- featureKey: feature_1.key,
494
+ featureKey: feature.key,
331
495
  reason: EvaluationReason.RULE,
332
- variation: variation_2,
496
+ variation: variation,
333
497
  bucketValue: bucketValue,
334
498
  ruleKey: matchedTraffic_1.key,
335
499
  };
@@ -339,38 +503,26 @@ var FeaturevisorInstance = /** @class */ (function () {
339
503
  }
340
504
  // regular allocation
341
505
  if (matchedAllocation_1 && matchedAllocation_1.variation) {
342
- var variation_3 = feature_1.variations.find(function (v) { return v.value === matchedAllocation_1.variation; });
343
- if (variation_3) {
506
+ var variation = feature.variations.find(function (v) { return v.value === matchedAllocation_1.variation; });
507
+ if (variation) {
344
508
  evaluation = {
345
- featureKey: feature_1.key,
509
+ featureKey: feature.key,
346
510
  reason: EvaluationReason.ALLOCATED,
347
511
  bucketValue: bucketValue,
348
- variation: variation_3,
512
+ variation: variation,
349
513
  };
350
514
  this.logger.debug("allocated variation", evaluation);
351
515
  return evaluation;
352
516
  }
353
517
  }
354
518
  }
355
- // fall back to default
356
- var variation = feature_1.variations.find(function (v) { return v.value === feature_1.defaultVariation; });
357
- if (variation) {
358
- evaluation = {
359
- featureKey: feature_1.key,
360
- reason: EvaluationReason.DEFAULTED,
361
- bucketValue: bucketValue,
362
- variation: variation,
363
- };
364
- this.logger.debug("using default variation", evaluation);
365
- return evaluation;
366
- }
367
- // nothing matched (this should never happen)
519
+ // nothing matched
368
520
  evaluation = {
369
- featureKey: feature_1.key,
521
+ featureKey: feature.key,
370
522
  reason: EvaluationReason.ERROR,
371
523
  bucketValue: bucketValue,
372
524
  };
373
- this.logger.error("no matched variation", evaluation);
525
+ this.logger.debug("no matched variation", evaluation);
374
526
  return evaluation;
375
527
  }
376
528
  catch (e) {
@@ -399,26 +551,6 @@ var FeaturevisorInstance = /** @class */ (function () {
399
551
  return undefined;
400
552
  }
401
553
  };
402
- FeaturevisorInstance.prototype.getVariationBoolean = function (featureKey, context) {
403
- if (context === void 0) { context = {}; }
404
- var variationValue = this.getVariation(featureKey, context);
405
- return getValueByType(variationValue, "boolean");
406
- };
407
- FeaturevisorInstance.prototype.getVariationString = function (featureKey, context) {
408
- if (context === void 0) { context = {}; }
409
- var variationValue = this.getVariation(featureKey, context);
410
- return getValueByType(variationValue, "string");
411
- };
412
- FeaturevisorInstance.prototype.getVariationInteger = function (featureKey, context) {
413
- if (context === void 0) { context = {}; }
414
- var variationValue = this.getVariation(featureKey, context);
415
- return getValueByType(variationValue, "integer");
416
- };
417
- FeaturevisorInstance.prototype.getVariationDouble = function (featureKey, context) {
418
- if (context === void 0) { context = {}; }
419
- var variationValue = this.getVariation(featureKey, context);
420
- return getValueByType(variationValue, "double");
421
- };
422
554
  /**
423
555
  * Activate
424
556
  */
@@ -479,35 +611,50 @@ var FeaturevisorInstance = /** @class */ (function () {
479
611
  var evaluation;
480
612
  try {
481
613
  var key = typeof featureKey === "string" ? featureKey : featureKey.key;
614
+ var flag = this.evaluateFlag(featureKey, context);
615
+ if (flag.enabled === false) {
616
+ evaluation = {
617
+ featureKey: key,
618
+ reason: EvaluationReason.DISABLED,
619
+ };
620
+ this.logger.debug("feature is disabled", evaluation);
621
+ return evaluation;
622
+ }
482
623
  // sticky
483
- if (this.stickyFeatures && this.stickyFeatures[key] && this.stickyFeatures[key].variables) {
484
- var result = this.stickyFeatures[key].variables[variableKey];
485
- if (typeof result !== "undefined") {
486
- evaluation = {
487
- featureKey: key,
488
- reason: EvaluationReason.STICKY,
489
- variableKey: variableKey,
490
- variableValue: result,
491
- };
492
- this.logger.debug("using sticky variable", evaluation);
493
- return evaluation;
624
+ if (this.stickyFeatures && this.stickyFeatures[key]) {
625
+ var variables = this.stickyFeatures[key].variables;
626
+ if (variables) {
627
+ var result = variables[variableKey];
628
+ if (typeof result !== "undefined") {
629
+ evaluation = {
630
+ featureKey: key,
631
+ reason: EvaluationReason.STICKY,
632
+ variableKey: variableKey,
633
+ variableValue: result,
634
+ };
635
+ this.logger.debug("using sticky variable", evaluation);
636
+ return evaluation;
637
+ }
494
638
  }
495
639
  }
496
640
  // initial
497
641
  if (this.statuses &&
498
642
  !this.statuses.ready &&
499
643
  this.initialFeatures &&
500
- this.initialFeatures[key] &&
501
- this.initialFeatures[key].variables &&
502
- typeof this.initialFeatures[key].variables[variableKey] !== "undefined") {
503
- evaluation = {
504
- featureKey: key,
505
- reason: EvaluationReason.INITIAL,
506
- variableKey: variableKey,
507
- variableValue: this.initialFeatures[key].variables[variableKey],
508
- };
509
- this.logger.debug("using initial variable", evaluation);
510
- return evaluation;
644
+ this.initialFeatures[key]) {
645
+ var variables = this.initialFeatures[key].variables;
646
+ if (variables) {
647
+ if (typeof variables[variableKey] !== "undefined") {
648
+ evaluation = {
649
+ featureKey: key,
650
+ reason: EvaluationReason.INITIAL,
651
+ variableKey: variableKey,
652
+ variableValue: variables[variableKey],
653
+ };
654
+ this.logger.debug("using initial variable", evaluation);
655
+ return evaluation;
656
+ }
657
+ }
511
658
  }
512
659
  var feature = this.getFeature(featureKey);
513
660
  // not found
@@ -567,7 +714,7 @@ var FeaturevisorInstance = /** @class */ (function () {
567
714
  return evaluation;
568
715
  }
569
716
  // regular allocation
570
- if (matchedAllocation_2 && matchedAllocation_2.variation) {
717
+ if (matchedAllocation_2 && matchedAllocation_2.variation && Array.isArray(feature.variations)) {
571
718
  var variation = feature.variations.find(function (v) { return v.value === matchedAllocation_2.variation; });
572
719
  if (variation && variation.variables) {
573
720
  var variableFromVariation = variation.variables.find(function (v) { return v.key === variableKey; });
@@ -1 +1 @@
1
- {"version":3,"file":"instance.js","sourceRoot":"","sources":["../src/instance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instance.js","sourceRoot":"","sources":["../src/instance.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@featurevisor/sdk",
3
- "version": "0.37.0",
3
+ "version": "0.38.0",
4
4
  "description": "Featurevisor SDK for Node.js and the browser",
5
5
  "main": "dist/index.js",
6
6
  "module": "lib/index.js",
@@ -42,9 +42,9 @@
42
42
  },
43
43
  "license": "MIT",
44
44
  "dependencies": {
45
- "@featurevisor/types": "^0.37.0",
45
+ "@featurevisor/types": "^0.38.0",
46
46
  "compare-versions": "^6.0.0-rc.1",
47
47
  "murmurhash": "^2.0.1"
48
48
  },
49
- "gitHead": "1944f2ea8e86d07c7031720cd0b407bea547d0cb"
49
+ "gitHead": "79edc620e398ae8250bd9870e6fbf8e3402e6010"
50
50
  }