@featurevisor/sdk 1.16.0 → 1.17.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/.eslintcache +1 -1
- package/CHANGELOG.md +11 -0
- package/coverage/clover.xml +397 -390
- package/coverage/coverage-final.json +2 -2
- package/coverage/lcov-report/bucket.ts.html +1 -1
- package/coverage/lcov-report/conditions.ts.html +1 -1
- package/coverage/lcov-report/datafileReader.ts.html +1 -1
- package/coverage/lcov-report/emitter.ts.html +1 -1
- package/coverage/lcov-report/feature.ts.html +88 -22
- package/coverage/lcov-report/index.html +23 -23
- package/coverage/lcov-report/instance.ts.html +209 -32
- package/coverage/lcov-report/logger.ts.html +1 -1
- package/coverage/lcov-report/segments.ts.html +1 -1
- package/coverage/lcov.info +655 -646
- package/dist/index.js +1 -1
- package/dist/index.js.gz +0 -0
- package/dist/index.js.map +1 -1
- package/lib/feature.d.ts +5 -1
- package/lib/feature.js +19 -8
- package/lib/feature.js.map +1 -1
- package/lib/instance.d.ts +5 -1
- package/lib/instance.js +59 -25
- package/lib/instance.js.map +1 -1
- package/package.json +2 -2
- package/src/feature.ts +31 -9
- package/src/instance.ts +85 -26
package/lib/instance.js
CHANGED
|
@@ -215,9 +215,16 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
215
215
|
var bucketKey = this.getBucketKey(feature, context);
|
|
216
216
|
var value = getBucketedNumber(bucketKey);
|
|
217
217
|
if (this.configureBucketValue) {
|
|
218
|
-
|
|
218
|
+
var configuredValue = this.configureBucketValue(feature, context, value);
|
|
219
|
+
return {
|
|
220
|
+
bucketKey: bucketKey,
|
|
221
|
+
bucketValue: configuredValue,
|
|
222
|
+
};
|
|
219
223
|
}
|
|
220
|
-
return
|
|
224
|
+
return {
|
|
225
|
+
bucketKey: bucketKey,
|
|
226
|
+
bucketValue: value,
|
|
227
|
+
};
|
|
221
228
|
};
|
|
222
229
|
/**
|
|
223
230
|
* Statuses
|
|
@@ -293,8 +300,8 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
293
300
|
evaluation = {
|
|
294
301
|
featureKey: key,
|
|
295
302
|
reason: EvaluationReason.STICKY,
|
|
296
|
-
enabled: this.stickyFeatures[key].enabled,
|
|
297
303
|
sticky: this.stickyFeatures[key],
|
|
304
|
+
enabled: this.stickyFeatures[key].enabled,
|
|
298
305
|
};
|
|
299
306
|
this.logger.debug("using sticky enabled", evaluation);
|
|
300
307
|
return evaluation;
|
|
@@ -308,8 +315,8 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
308
315
|
evaluation = {
|
|
309
316
|
featureKey: key,
|
|
310
317
|
reason: EvaluationReason.INITIAL,
|
|
311
|
-
enabled: this.initialFeatures[key].enabled,
|
|
312
318
|
initial: this.initialFeatures[key],
|
|
319
|
+
enabled: this.initialFeatures[key].enabled,
|
|
313
320
|
};
|
|
314
321
|
this.logger.debug("using initial enabled", evaluation);
|
|
315
322
|
return evaluation;
|
|
@@ -330,11 +337,13 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
330
337
|
}
|
|
331
338
|
var finalContext_1 = this.interceptContext ? this.interceptContext(context) : context;
|
|
332
339
|
// forced
|
|
333
|
-
var
|
|
340
|
+
var _a = findForceFromFeature(feature, context, this.datafileReader, this.logger), force = _a.force, forceIndex = _a.forceIndex;
|
|
334
341
|
if (force && typeof force.enabled !== "undefined") {
|
|
335
342
|
evaluation = {
|
|
336
343
|
featureKey: feature.key,
|
|
337
344
|
reason: EvaluationReason.FORCED,
|
|
345
|
+
forceIndex: forceIndex,
|
|
346
|
+
force: force,
|
|
338
347
|
enabled: force.enabled,
|
|
339
348
|
};
|
|
340
349
|
this.logger.debug("forced enabled found", evaluation);
|
|
@@ -366,6 +375,7 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
366
375
|
evaluation = {
|
|
367
376
|
featureKey: feature.key,
|
|
368
377
|
reason: EvaluationReason.REQUIRED,
|
|
378
|
+
required: feature.required,
|
|
369
379
|
enabled: requiredFeaturesAreEnabled,
|
|
370
380
|
};
|
|
371
381
|
this.logger.debug("required features not enabled", evaluation);
|
|
@@ -373,7 +383,7 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
373
383
|
}
|
|
374
384
|
}
|
|
375
385
|
// bucketing
|
|
376
|
-
var
|
|
386
|
+
var _b = this.getBucketValue(feature, finalContext_1), bucketKey = _b.bucketKey, bucketValue_1 = _b.bucketValue;
|
|
377
387
|
var matchedTraffic = getMatchedTraffic(feature.traffic, finalContext_1, this.datafileReader, this.logger);
|
|
378
388
|
if (matchedTraffic) {
|
|
379
389
|
// check if mutually exclusive
|
|
@@ -386,8 +396,11 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
386
396
|
evaluation = {
|
|
387
397
|
featureKey: feature.key,
|
|
388
398
|
reason: EvaluationReason.ALLOCATED,
|
|
389
|
-
|
|
399
|
+
bucketKey: bucketKey,
|
|
390
400
|
bucketValue: bucketValue_1,
|
|
401
|
+
ruleKey: matchedTraffic.key,
|
|
402
|
+
traffic: matchedTraffic,
|
|
403
|
+
enabled: typeof matchedTraffic.enabled === "undefined" ? true : matchedTraffic.enabled,
|
|
391
404
|
};
|
|
392
405
|
this.logger.debug("matched", evaluation);
|
|
393
406
|
return evaluation;
|
|
@@ -396,8 +409,9 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
396
409
|
evaluation = {
|
|
397
410
|
featureKey: feature.key,
|
|
398
411
|
reason: EvaluationReason.OUT_OF_RANGE,
|
|
399
|
-
|
|
412
|
+
bucketKey: bucketKey,
|
|
400
413
|
bucketValue: bucketValue_1,
|
|
414
|
+
enabled: false,
|
|
401
415
|
};
|
|
402
416
|
this.logger.debug("not matched", evaluation);
|
|
403
417
|
return evaluation;
|
|
@@ -407,10 +421,11 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
407
421
|
evaluation = {
|
|
408
422
|
featureKey: feature.key,
|
|
409
423
|
reason: EvaluationReason.OVERRIDE,
|
|
410
|
-
|
|
424
|
+
bucketKey: bucketKey,
|
|
411
425
|
bucketValue: bucketValue_1,
|
|
412
426
|
ruleKey: matchedTraffic.key,
|
|
413
427
|
traffic: matchedTraffic,
|
|
428
|
+
enabled: matchedTraffic.enabled,
|
|
414
429
|
};
|
|
415
430
|
this.logger.debug("override from rule", evaluation);
|
|
416
431
|
return evaluation;
|
|
@@ -420,10 +435,11 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
420
435
|
evaluation = {
|
|
421
436
|
featureKey: feature.key,
|
|
422
437
|
reason: EvaluationReason.RULE,
|
|
423
|
-
|
|
438
|
+
bucketKey: bucketKey,
|
|
424
439
|
bucketValue: bucketValue_1,
|
|
425
440
|
ruleKey: matchedTraffic.key,
|
|
426
441
|
traffic: matchedTraffic,
|
|
442
|
+
enabled: true,
|
|
427
443
|
};
|
|
428
444
|
this.logger.debug("matched traffic", evaluation);
|
|
429
445
|
return evaluation;
|
|
@@ -433,8 +449,9 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
433
449
|
evaluation = {
|
|
434
450
|
featureKey: feature.key,
|
|
435
451
|
reason: EvaluationReason.ERROR,
|
|
436
|
-
|
|
452
|
+
bucketKey: bucketKey,
|
|
437
453
|
bucketValue: bucketValue_1,
|
|
454
|
+
enabled: false,
|
|
438
455
|
};
|
|
439
456
|
this.logger.debug("nothing matched", evaluation);
|
|
440
457
|
return evaluation;
|
|
@@ -526,13 +543,15 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
526
543
|
}
|
|
527
544
|
var finalContext = this.interceptContext ? this.interceptContext(context) : context;
|
|
528
545
|
// forced
|
|
529
|
-
var
|
|
546
|
+
var _a = findForceFromFeature(feature, context, this.datafileReader, this.logger), force_1 = _a.force, forceIndex = _a.forceIndex;
|
|
530
547
|
if (force_1 && force_1.variation) {
|
|
531
548
|
var variation = feature.variations.find(function (v) { return v.value === force_1.variation; });
|
|
532
549
|
if (variation) {
|
|
533
550
|
evaluation = {
|
|
534
551
|
featureKey: feature.key,
|
|
535
552
|
reason: EvaluationReason.FORCED,
|
|
553
|
+
forceIndex: forceIndex,
|
|
554
|
+
force: force_1,
|
|
536
555
|
variation: variation,
|
|
537
556
|
};
|
|
538
557
|
this.logger.debug("forced variation found", evaluation);
|
|
@@ -540,8 +559,8 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
540
559
|
}
|
|
541
560
|
}
|
|
542
561
|
// bucketing
|
|
543
|
-
var
|
|
544
|
-
var
|
|
562
|
+
var _b = this.getBucketValue(feature, finalContext), bucketKey = _b.bucketKey, bucketValue = _b.bucketValue;
|
|
563
|
+
var _c = getMatchedTrafficAndAllocation(feature.traffic, finalContext, bucketValue, this.datafileReader, this.logger), matchedTraffic_1 = _c.matchedTraffic, matchedAllocation_1 = _c.matchedAllocation;
|
|
545
564
|
if (matchedTraffic_1) {
|
|
546
565
|
// override from rule
|
|
547
566
|
if (matchedTraffic_1.variation) {
|
|
@@ -550,9 +569,11 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
550
569
|
evaluation = {
|
|
551
570
|
featureKey: feature.key,
|
|
552
571
|
reason: EvaluationReason.RULE,
|
|
553
|
-
|
|
572
|
+
bucketKey: bucketKey,
|
|
554
573
|
bucketValue: bucketValue,
|
|
555
574
|
ruleKey: matchedTraffic_1.key,
|
|
575
|
+
traffic: matchedTraffic_1,
|
|
576
|
+
variation: variation,
|
|
556
577
|
};
|
|
557
578
|
this.logger.debug("override from rule", evaluation);
|
|
558
579
|
return evaluation;
|
|
@@ -565,7 +586,10 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
565
586
|
evaluation = {
|
|
566
587
|
featureKey: feature.key,
|
|
567
588
|
reason: EvaluationReason.ALLOCATED,
|
|
589
|
+
bucketKey: bucketKey,
|
|
568
590
|
bucketValue: bucketValue,
|
|
591
|
+
ruleKey: matchedTraffic_1.key,
|
|
592
|
+
traffic: matchedTraffic_1,
|
|
569
593
|
variation: variation,
|
|
570
594
|
};
|
|
571
595
|
this.logger.debug("allocated variation", evaluation);
|
|
@@ -577,6 +601,7 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
577
601
|
evaluation = {
|
|
578
602
|
featureKey: feature.key,
|
|
579
603
|
reason: EvaluationReason.ERROR,
|
|
604
|
+
bucketKey: bucketKey,
|
|
580
605
|
bucketValue: bucketValue,
|
|
581
606
|
};
|
|
582
607
|
this.logger.debug("no matched variation", evaluation);
|
|
@@ -720,11 +745,13 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
720
745
|
}
|
|
721
746
|
var finalContext_3 = this.interceptContext ? this.interceptContext(context) : context;
|
|
722
747
|
// forced
|
|
723
|
-
var
|
|
748
|
+
var _a = findForceFromFeature(feature, context, this.datafileReader, this.logger), force = _a.force, forceIndex = _a.forceIndex;
|
|
724
749
|
if (force && force.variables && typeof force.variables[variableKey] !== "undefined") {
|
|
725
750
|
evaluation = {
|
|
726
751
|
featureKey: feature.key,
|
|
727
752
|
reason: EvaluationReason.FORCED,
|
|
753
|
+
forceIndex: forceIndex,
|
|
754
|
+
force: force,
|
|
728
755
|
variableKey: variableKey,
|
|
729
756
|
variableSchema: variableSchema,
|
|
730
757
|
variableValue: force.variables[variableKey],
|
|
@@ -733,8 +760,8 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
733
760
|
return evaluation;
|
|
734
761
|
}
|
|
735
762
|
// bucketing
|
|
736
|
-
var
|
|
737
|
-
var
|
|
763
|
+
var _b = this.getBucketValue(feature, finalContext_3), bucketKey = _b.bucketKey, bucketValue = _b.bucketValue;
|
|
764
|
+
var _c = getMatchedTrafficAndAllocation(feature.traffic, finalContext_3, bucketValue, this.datafileReader, this.logger), matchedTraffic = _c.matchedTraffic, matchedAllocation = _c.matchedAllocation;
|
|
738
765
|
if (matchedTraffic) {
|
|
739
766
|
// override from rule
|
|
740
767
|
if (matchedTraffic.variables &&
|
|
@@ -742,11 +769,13 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
742
769
|
evaluation = {
|
|
743
770
|
featureKey: feature.key,
|
|
744
771
|
reason: EvaluationReason.RULE,
|
|
772
|
+
bucketKey: bucketKey,
|
|
773
|
+
bucketValue: bucketValue,
|
|
774
|
+
ruleKey: matchedTraffic.key,
|
|
775
|
+
traffic: matchedTraffic,
|
|
745
776
|
variableKey: variableKey,
|
|
746
777
|
variableSchema: variableSchema,
|
|
747
778
|
variableValue: matchedTraffic.variables[variableKey],
|
|
748
|
-
bucketValue: bucketValue,
|
|
749
|
-
ruleKey: matchedTraffic.key,
|
|
750
779
|
};
|
|
751
780
|
this.logger.debug("override from rule", evaluation);
|
|
752
781
|
return evaluation;
|
|
@@ -778,11 +807,13 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
778
807
|
evaluation = {
|
|
779
808
|
featureKey: feature.key,
|
|
780
809
|
reason: EvaluationReason.OVERRIDE,
|
|
810
|
+
bucketKey: bucketKey,
|
|
811
|
+
bucketValue: bucketValue,
|
|
812
|
+
ruleKey: matchedTraffic.key,
|
|
813
|
+
traffic: matchedTraffic,
|
|
781
814
|
variableKey: variableKey,
|
|
782
815
|
variableSchema: variableSchema,
|
|
783
816
|
variableValue: override.value,
|
|
784
|
-
bucketValue: bucketValue,
|
|
785
|
-
ruleKey: matchedTraffic.key,
|
|
786
817
|
};
|
|
787
818
|
this.logger.debug("variable override", evaluation);
|
|
788
819
|
return evaluation;
|
|
@@ -792,11 +823,13 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
792
823
|
evaluation = {
|
|
793
824
|
featureKey: feature.key,
|
|
794
825
|
reason: EvaluationReason.ALLOCATED,
|
|
826
|
+
bucketKey: bucketKey,
|
|
827
|
+
bucketValue: bucketValue,
|
|
828
|
+
ruleKey: matchedTraffic.key,
|
|
829
|
+
traffic: matchedTraffic,
|
|
795
830
|
variableKey: variableKey,
|
|
796
831
|
variableSchema: variableSchema,
|
|
797
832
|
variableValue: variableFromVariation.value,
|
|
798
|
-
bucketValue: bucketValue,
|
|
799
|
-
ruleKey: matchedTraffic.key,
|
|
800
833
|
};
|
|
801
834
|
this.logger.debug("allocated variable", evaluation);
|
|
802
835
|
return evaluation;
|
|
@@ -809,10 +842,11 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
809
842
|
evaluation = {
|
|
810
843
|
featureKey: feature.key,
|
|
811
844
|
reason: EvaluationReason.DEFAULTED,
|
|
845
|
+
bucketKey: bucketKey,
|
|
846
|
+
bucketValue: bucketValue,
|
|
812
847
|
variableKey: variableKey,
|
|
813
848
|
variableSchema: variableSchema,
|
|
814
849
|
variableValue: variableSchema.defaultValue,
|
|
815
|
-
bucketValue: bucketValue,
|
|
816
850
|
};
|
|
817
851
|
this.logger.debug("using default value", evaluation);
|
|
818
852
|
return evaluation;
|
package/lib/instance.js.map
CHANGED
|
@@ -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": "1.
|
|
3
|
+
"version": "1.17.0",
|
|
4
4
|
"description": "Featurevisor SDK for Node.js and the browser",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"compare-versions": "^6.0.0-rc.1",
|
|
50
50
|
"murmurhash": "^2.0.1"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "41b21ee48a1508fad58824b255403125ce175f95"
|
|
53
53
|
}
|
package/src/feature.ts
CHANGED
|
@@ -85,25 +85,47 @@ export function getMatchedTrafficAndAllocation(
|
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
+
export interface ForceResult {
|
|
89
|
+
force?: Force;
|
|
90
|
+
forceIndex?: number;
|
|
91
|
+
}
|
|
92
|
+
|
|
88
93
|
export function findForceFromFeature(
|
|
89
94
|
feature: Feature,
|
|
90
95
|
context: Context,
|
|
91
96
|
datafileReader: DatafileReader,
|
|
92
97
|
logger: Logger,
|
|
93
|
-
):
|
|
98
|
+
): ForceResult {
|
|
99
|
+
const result: ForceResult = {
|
|
100
|
+
force: undefined,
|
|
101
|
+
forceIndex: undefined,
|
|
102
|
+
};
|
|
103
|
+
|
|
94
104
|
if (!feature.force) {
|
|
95
|
-
return
|
|
105
|
+
return result;
|
|
96
106
|
}
|
|
97
107
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
108
|
+
for (let i = 0; i < feature.force.length; i++) {
|
|
109
|
+
const currentForce = feature.force[i];
|
|
110
|
+
|
|
111
|
+
if (
|
|
112
|
+
currentForce.conditions &&
|
|
113
|
+
allConditionsAreMatched(currentForce.conditions, context, logger)
|
|
114
|
+
) {
|
|
115
|
+
result.force = currentForce;
|
|
116
|
+
result.forceIndex = i;
|
|
117
|
+
break;
|
|
101
118
|
}
|
|
102
119
|
|
|
103
|
-
if (
|
|
104
|
-
|
|
120
|
+
if (
|
|
121
|
+
currentForce.segments &&
|
|
122
|
+
allGroupSegmentsAreMatched(currentForce.segments, context, datafileReader, logger)
|
|
123
|
+
) {
|
|
124
|
+
result.force = currentForce;
|
|
125
|
+
result.forceIndex = i;
|
|
126
|
+
break;
|
|
105
127
|
}
|
|
128
|
+
}
|
|
106
129
|
|
|
107
|
-
|
|
108
|
-
});
|
|
130
|
+
return result;
|
|
109
131
|
}
|