@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/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, matchedAllocation_2 = _a.matchedAllocation;
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
- if (matchedAllocation_2 && matchedAllocation_2.variation && Array.isArray(feature.variations)) {
751
- var variation = feature.variations.find(function (v) { return v.value === matchedAllocation_2.variation; });
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(typeof o.segments === "string" && o.segments !== "*"
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
  };
@@ -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.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": "02c2a84b1963688d521065075298c0e04ee6fdf7"
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
  }
@@ -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 { findForceFromFeature, getMatchedTraffic, getMatchedTrafficAndAllocation } from "./feature";
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
- if (matchedAllocation && matchedAllocation.variation && Array.isArray(feature.variations)) {
1076
- const variation = feature.variations.find((v) => v.value === matchedAllocation.variation);
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
- typeof o.segments === "string" && o.segments !== "*"
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
  }