@featurevisor/sdk 1.0.0 → 1.0.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.
- package/.eslintcache +1 -1
- package/CHANGELOG.md +19 -0
- package/coverage/clover.xml +429 -417
- package/coverage/coverage-final.json +7 -7
- package/coverage/lcov-report/bucket.ts.html +4 -4
- package/coverage/lcov-report/conditions.ts.html +11 -11
- package/coverage/lcov-report/datafileReader.ts.html +9 -9
- package/coverage/lcov-report/emitter.ts.html +1 -1
- package/coverage/lcov-report/feature.ts.html +22 -22
- package/coverage/lcov-report/index.html +20 -20
- package/coverage/lcov-report/instance.ts.html +166 -91
- package/coverage/lcov-report/logger.ts.html +3 -3
- package/coverage/lcov-report/segments.ts.html +15 -15
- package/coverage/lcov.info +736 -722
- 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 +1 -0
- package/lib/feature.js +1 -1
- package/lib/feature.js.map +1 -1
- package/lib/instance.js +19 -7
- package/lib/instance.js.map +1 -1
- package/package.json +2 -2
- package/src/feature.ts +1 -1
- package/src/instance.spec.ts +51 -0
- package/src/instance.ts +31 -6
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, getMatchedTraffic, getMatchedTrafficAndAllocation } from "./feature";
|
|
5
|
+
import { findForceFromFeature, getMatchedTraffic, getMatchedTrafficAndAllocation, parseFromStringifiedSegments, } from "./feature";
|
|
6
6
|
import { allConditionsAreMatched } from "./conditions";
|
|
7
7
|
import { allGroupSegmentsAreMatched } from "./segments";
|
|
8
8
|
var DEFAULT_BUCKET_KEY_SEPARATOR = ".";
|
|
@@ -368,6 +368,7 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
368
368
|
reason: EvaluationReason.REQUIRED,
|
|
369
369
|
enabled: requiredFeaturesAreEnabled,
|
|
370
370
|
};
|
|
371
|
+
this.logger.debug("required features not enabled", evaluation);
|
|
371
372
|
return evaluation;
|
|
372
373
|
}
|
|
373
374
|
}
|
|
@@ -388,6 +389,7 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
388
389
|
enabled: typeof matchedTraffic.enabled === "undefined" ? true : matchedTraffic.enabled,
|
|
389
390
|
bucketValue: bucketValue_1,
|
|
390
391
|
};
|
|
392
|
+
this.logger.debug("matched", evaluation);
|
|
391
393
|
return evaluation;
|
|
392
394
|
}
|
|
393
395
|
// no match
|
|
@@ -424,6 +426,7 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
424
426
|
ruleKey: matchedTraffic.key,
|
|
425
427
|
traffic: matchedTraffic,
|
|
426
428
|
};
|
|
429
|
+
this.logger.debug("matched traffic", evaluation);
|
|
427
430
|
return evaluation;
|
|
428
431
|
}
|
|
429
432
|
}
|
|
@@ -434,6 +437,7 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
434
437
|
enabled: false,
|
|
435
438
|
bucketValue: bucketValue_1,
|
|
436
439
|
};
|
|
440
|
+
this.logger.debug("nothing matched", evaluation);
|
|
437
441
|
return evaluation;
|
|
438
442
|
}
|
|
439
443
|
catch (e) {
|
|
@@ -442,6 +446,7 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
442
446
|
reason: EvaluationReason.ERROR,
|
|
443
447
|
error: e,
|
|
444
448
|
};
|
|
449
|
+
this.logger.error("error", evaluation);
|
|
445
450
|
return evaluation;
|
|
446
451
|
}
|
|
447
452
|
};
|
|
@@ -584,6 +589,7 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
584
589
|
reason: EvaluationReason.ERROR,
|
|
585
590
|
error: e,
|
|
586
591
|
};
|
|
592
|
+
this.logger.error("error", evaluation);
|
|
587
593
|
return evaluation;
|
|
588
594
|
}
|
|
589
595
|
};
|
|
@@ -729,7 +735,7 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
729
735
|
}
|
|
730
736
|
// bucketing
|
|
731
737
|
var bucketValue = this.getBucketValue(feature, finalContext_3);
|
|
732
|
-
var _a = getMatchedTrafficAndAllocation(feature.traffic, finalContext_3, bucketValue, this.datafileReader), matchedTraffic = _a.matchedTraffic,
|
|
738
|
+
var _a = getMatchedTrafficAndAllocation(feature.traffic, finalContext_3, bucketValue, this.datafileReader), matchedTraffic = _a.matchedTraffic, matchedAllocation = _a.matchedAllocation;
|
|
733
739
|
if (matchedTraffic) {
|
|
734
740
|
// override from rule
|
|
735
741
|
if (matchedTraffic.variables &&
|
|
@@ -747,8 +753,15 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
747
753
|
return evaluation;
|
|
748
754
|
}
|
|
749
755
|
// regular allocation
|
|
750
|
-
|
|
751
|
-
|
|
756
|
+
var variationValue_1;
|
|
757
|
+
if (force && force.variation) {
|
|
758
|
+
variationValue_1 = force.variation;
|
|
759
|
+
}
|
|
760
|
+
else if (matchedAllocation && matchedAllocation.variation) {
|
|
761
|
+
variationValue_1 = matchedAllocation.variation;
|
|
762
|
+
}
|
|
763
|
+
if (variationValue_1 && Array.isArray(feature.variations)) {
|
|
764
|
+
var variation = feature.variations.find(function (v) { return v.value === variationValue_1; });
|
|
752
765
|
if (variation && variation.variables) {
|
|
753
766
|
var variableFromVariation = variation.variables.find(function (v) { return v.key === variableKey; });
|
|
754
767
|
if (variableFromVariation) {
|
|
@@ -758,9 +771,7 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
758
771
|
return allConditionsAreMatched(typeof o.conditions === "string" ? JSON.parse(o.conditions) : o.conditions, finalContext_3);
|
|
759
772
|
}
|
|
760
773
|
if (o.segments) {
|
|
761
|
-
return allGroupSegmentsAreMatched(
|
|
762
|
-
? JSON.parse(o.segments)
|
|
763
|
-
: o.segments, finalContext_3, _this.datafileReader);
|
|
774
|
+
return allGroupSegmentsAreMatched(parseFromStringifiedSegments(o.segments), finalContext_3, _this.datafileReader);
|
|
764
775
|
}
|
|
765
776
|
return false;
|
|
766
777
|
});
|
|
@@ -814,6 +825,7 @@ var FeaturevisorInstance = /** @class */ (function () {
|
|
|
814
825
|
variableKey: variableKey,
|
|
815
826
|
error: e,
|
|
816
827
|
};
|
|
828
|
+
this.logger.error("error", evaluation);
|
|
817
829
|
return evaluation;
|
|
818
830
|
}
|
|
819
831
|
};
|
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.0.
|
|
3
|
+
"version": "1.0.2",
|
|
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": "8ce607ee04f2b6daf6d172fa68d81dfd5b183ee7"
|
|
53
53
|
}
|
package/src/feature.ts
CHANGED
|
@@ -18,7 +18,7 @@ export function getMatchedAllocation(
|
|
|
18
18
|
return undefined;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
function parseFromStringifiedSegments(value) {
|
|
21
|
+
export function parseFromStringifiedSegments(value) {
|
|
22
22
|
if (typeof value === "string" && (value.startsWith("{") || value.startsWith("["))) {
|
|
23
23
|
return JSON.parse(value);
|
|
24
24
|
}
|
package/src/instance.spec.ts
CHANGED
|
@@ -996,6 +996,11 @@ describe("sdk: instance", function () {
|
|
|
996
996
|
type: "boolean",
|
|
997
997
|
defaultValue: false,
|
|
998
998
|
},
|
|
999
|
+
{
|
|
1000
|
+
key: "sidebarTitle",
|
|
1001
|
+
type: "string",
|
|
1002
|
+
defaultValue: "sidebar title",
|
|
1003
|
+
},
|
|
999
1004
|
{
|
|
1000
1005
|
key: "count",
|
|
1001
1006
|
type: "integer",
|
|
@@ -1053,6 +1058,26 @@ describe("sdk: instance", function () {
|
|
|
1053
1058
|
},
|
|
1054
1059
|
],
|
|
1055
1060
|
},
|
|
1061
|
+
{
|
|
1062
|
+
key: "sidebarTitle",
|
|
1063
|
+
value: "sidebar title from variation",
|
|
1064
|
+
overrides: [
|
|
1065
|
+
{
|
|
1066
|
+
segments: ["netherlands"],
|
|
1067
|
+
value: "Dutch title",
|
|
1068
|
+
},
|
|
1069
|
+
{
|
|
1070
|
+
conditions: [
|
|
1071
|
+
{
|
|
1072
|
+
attribute: "country",
|
|
1073
|
+
operator: "equals",
|
|
1074
|
+
value: "de",
|
|
1075
|
+
},
|
|
1076
|
+
],
|
|
1077
|
+
value: "German title",
|
|
1078
|
+
},
|
|
1079
|
+
],
|
|
1080
|
+
},
|
|
1056
1081
|
],
|
|
1057
1082
|
},
|
|
1058
1083
|
],
|
|
@@ -1069,6 +1094,13 @@ describe("sdk: instance", function () {
|
|
|
1069
1094
|
conditions: [{ attribute: "userId", operator: "equals", value: "user-gb" }],
|
|
1070
1095
|
enabled: false,
|
|
1071
1096
|
},
|
|
1097
|
+
{
|
|
1098
|
+
conditions: [
|
|
1099
|
+
{ attribute: "userId", operator: "equals", value: "user-forced-variation" },
|
|
1100
|
+
],
|
|
1101
|
+
enabled: true,
|
|
1102
|
+
variation: "treatment",
|
|
1103
|
+
},
|
|
1072
1104
|
],
|
|
1073
1105
|
traffic: [
|
|
1074
1106
|
// belgium
|
|
@@ -1167,6 +1199,25 @@ describe("sdk: instance", function () {
|
|
|
1167
1199
|
}),
|
|
1168
1200
|
).toEqual(false);
|
|
1169
1201
|
|
|
1202
|
+
expect(
|
|
1203
|
+
sdk.getVariableString("test", "sidebarTitle", {
|
|
1204
|
+
userId: "user-forced-variation",
|
|
1205
|
+
country: "de",
|
|
1206
|
+
}),
|
|
1207
|
+
).toEqual("German title");
|
|
1208
|
+
expect(
|
|
1209
|
+
sdk.getVariableString("test", "sidebarTitle", {
|
|
1210
|
+
userId: "user-forced-variation",
|
|
1211
|
+
country: "nl",
|
|
1212
|
+
}),
|
|
1213
|
+
).toEqual("Dutch title");
|
|
1214
|
+
expect(
|
|
1215
|
+
sdk.getVariableString("test", "sidebarTitle", {
|
|
1216
|
+
userId: "user-forced-variation",
|
|
1217
|
+
country: "be",
|
|
1218
|
+
}),
|
|
1219
|
+
).toEqual("sidebar title from variation");
|
|
1220
|
+
|
|
1170
1221
|
expect(sdk.getVariable("test", "count", context)).toEqual(0);
|
|
1171
1222
|
expect(sdk.getVariableInteger("test", "count", context)).toEqual(0);
|
|
1172
1223
|
|
package/src/instance.ts
CHANGED
|
@@ -23,7 +23,12 @@ import { createLogger, Logger, LogLevel } from "./logger";
|
|
|
23
23
|
import { DatafileReader } from "./datafileReader";
|
|
24
24
|
import { Emitter } from "./emitter";
|
|
25
25
|
import { getBucketedNumber } from "./bucket";
|
|
26
|
-
import {
|
|
26
|
+
import {
|
|
27
|
+
findForceFromFeature,
|
|
28
|
+
getMatchedTraffic,
|
|
29
|
+
getMatchedTrafficAndAllocation,
|
|
30
|
+
parseFromStringifiedSegments,
|
|
31
|
+
} from "./feature";
|
|
27
32
|
import { allConditionsAreMatched } from "./conditions";
|
|
28
33
|
import { allGroupSegmentsAreMatched } from "./segments";
|
|
29
34
|
|
|
@@ -565,6 +570,8 @@ export class FeaturevisorInstance {
|
|
|
565
570
|
enabled: requiredFeaturesAreEnabled,
|
|
566
571
|
};
|
|
567
572
|
|
|
573
|
+
this.logger.debug("required features not enabled", evaluation);
|
|
574
|
+
|
|
568
575
|
return evaluation;
|
|
569
576
|
}
|
|
570
577
|
}
|
|
@@ -591,6 +598,8 @@ export class FeaturevisorInstance {
|
|
|
591
598
|
bucketValue,
|
|
592
599
|
};
|
|
593
600
|
|
|
601
|
+
this.logger.debug("matched", evaluation);
|
|
602
|
+
|
|
594
603
|
return evaluation;
|
|
595
604
|
}
|
|
596
605
|
|
|
@@ -635,6 +644,8 @@ export class FeaturevisorInstance {
|
|
|
635
644
|
traffic: matchedTraffic,
|
|
636
645
|
};
|
|
637
646
|
|
|
647
|
+
this.logger.debug("matched traffic", evaluation);
|
|
648
|
+
|
|
638
649
|
return evaluation;
|
|
639
650
|
}
|
|
640
651
|
}
|
|
@@ -647,6 +658,8 @@ export class FeaturevisorInstance {
|
|
|
647
658
|
bucketValue,
|
|
648
659
|
};
|
|
649
660
|
|
|
661
|
+
this.logger.debug("nothing matched", evaluation);
|
|
662
|
+
|
|
650
663
|
return evaluation;
|
|
651
664
|
} catch (e) {
|
|
652
665
|
evaluation = {
|
|
@@ -655,6 +668,8 @@ export class FeaturevisorInstance {
|
|
|
655
668
|
error: e,
|
|
656
669
|
};
|
|
657
670
|
|
|
671
|
+
this.logger.error("error", evaluation);
|
|
672
|
+
|
|
658
673
|
return evaluation;
|
|
659
674
|
}
|
|
660
675
|
}
|
|
@@ -844,6 +859,8 @@ export class FeaturevisorInstance {
|
|
|
844
859
|
error: e,
|
|
845
860
|
};
|
|
846
861
|
|
|
862
|
+
this.logger.error("error", evaluation);
|
|
863
|
+
|
|
847
864
|
return evaluation;
|
|
848
865
|
}
|
|
849
866
|
}
|
|
@@ -1072,8 +1089,16 @@ export class FeaturevisorInstance {
|
|
|
1072
1089
|
}
|
|
1073
1090
|
|
|
1074
1091
|
// regular allocation
|
|
1075
|
-
|
|
1076
|
-
|
|
1092
|
+
let variationValue;
|
|
1093
|
+
|
|
1094
|
+
if (force && force.variation) {
|
|
1095
|
+
variationValue = force.variation;
|
|
1096
|
+
} else if (matchedAllocation && matchedAllocation.variation) {
|
|
1097
|
+
variationValue = matchedAllocation.variation;
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1100
|
+
if (variationValue && Array.isArray(feature.variations)) {
|
|
1101
|
+
const variation = feature.variations.find((v) => v.value === variationValue);
|
|
1077
1102
|
|
|
1078
1103
|
if (variation && variation.variables) {
|
|
1079
1104
|
const variableFromVariation = variation.variables.find((v) => v.key === variableKey);
|
|
@@ -1090,9 +1115,7 @@ export class FeaturevisorInstance {
|
|
|
1090
1115
|
|
|
1091
1116
|
if (o.segments) {
|
|
1092
1117
|
return allGroupSegmentsAreMatched(
|
|
1093
|
-
|
|
1094
|
-
? JSON.parse(o.segments)
|
|
1095
|
-
: o.segments,
|
|
1118
|
+
parseFromStringifiedSegments(o.segments),
|
|
1096
1119
|
finalContext,
|
|
1097
1120
|
this.datafileReader,
|
|
1098
1121
|
);
|
|
@@ -1159,6 +1182,8 @@ export class FeaturevisorInstance {
|
|
|
1159
1182
|
error: e,
|
|
1160
1183
|
};
|
|
1161
1184
|
|
|
1185
|
+
this.logger.error("error", evaluation);
|
|
1186
|
+
|
|
1162
1187
|
return evaluation;
|
|
1163
1188
|
}
|
|
1164
1189
|
}
|