flagsmith-nodejs 6.0.0 → 6.0.1

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,19 +1,20 @@
1
1
  import { FeatureStateModel } from '../flagsmith-engine/features/models.js';
2
2
  import { AnalyticsProcessor } from './analytics.js';
3
+ type FlagValue = string | number | boolean | undefined;
3
4
  export declare class BaseFlag {
4
5
  enabled: boolean;
5
- value: string | number | boolean | undefined;
6
+ value: FlagValue;
6
7
  isDefault: boolean;
7
- constructor(value: string | number | boolean | undefined, enabled: boolean, isDefault: boolean);
8
+ constructor(value: FlagValue, enabled: boolean, isDefault: boolean);
8
9
  }
9
10
  export declare class DefaultFlag extends BaseFlag {
10
- constructor(value: string | number | boolean | undefined, enabled: boolean);
11
+ constructor(value: FlagValue, enabled: boolean);
11
12
  }
12
13
  export declare class Flag extends BaseFlag {
13
14
  featureId: number;
14
15
  featureName: string;
15
16
  constructor(params: {
16
- value: string | number | boolean | undefined;
17
+ value: FlagValue;
17
18
  enabled: boolean;
18
19
  isDefault?: boolean;
19
20
  featureId: number;
@@ -50,6 +51,7 @@ export declare class Flags {
50
51
  }): Flags;
51
52
  allFlags(): Flag[];
52
53
  getFlag(featureName: string): BaseFlag;
53
- getFeatureValue(featureName: string): any;
54
+ getFeatureValue(featureName: string): FlagValue;
54
55
  isFeatureEnabled(featureName: string): boolean;
55
56
  }
57
+ export {};
@@ -1,19 +1,20 @@
1
1
  import { FeatureStateModel } from '../flagsmith-engine/features/models.js';
2
2
  import { AnalyticsProcessor } from './analytics.js';
3
+ type FlagValue = string | number | boolean | undefined;
3
4
  export declare class BaseFlag {
4
5
  enabled: boolean;
5
- value: string | number | boolean | undefined;
6
+ value: FlagValue;
6
7
  isDefault: boolean;
7
- constructor(value: string | number | boolean | undefined, enabled: boolean, isDefault: boolean);
8
+ constructor(value: FlagValue, enabled: boolean, isDefault: boolean);
8
9
  }
9
10
  export declare class DefaultFlag extends BaseFlag {
10
- constructor(value: string | number | boolean | undefined, enabled: boolean);
11
+ constructor(value: FlagValue, enabled: boolean);
11
12
  }
12
13
  export declare class Flag extends BaseFlag {
13
14
  featureId: number;
14
15
  featureName: string;
15
16
  constructor(params: {
16
- value: string | number | boolean | undefined;
17
+ value: FlagValue;
17
18
  enabled: boolean;
18
19
  isDefault?: boolean;
19
20
  featureId: number;
@@ -50,6 +51,7 @@ export declare class Flags {
50
51
  }): Flags;
51
52
  allFlags(): Flag[];
52
53
  getFlag(featureName: string): BaseFlag;
53
- getFeatureValue(featureName: string): any;
54
+ getFeatureValue(featureName: string): FlagValue;
54
55
  isFeatureEnabled(featureName: string): boolean;
55
56
  }
57
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flagsmith-nodejs",
3
- "version": "6.0.0",
3
+ "version": "6.0.1",
4
4
  "description": "Flagsmith lets you manage features flags and remote config across web, mobile and server side applications. Deliver true Continuous Integration. Get builds out faster. Control who has access to new features.",
5
5
  "main": "./build/cjs/index.js",
6
6
  "type": "module",
@@ -69,7 +69,7 @@
69
69
  "@types/semver": "^7.3.9",
70
70
  "@types/uuid": "^8.3.4",
71
71
  "@vitest/coverage-v8": "^2.1.2",
72
- "esbuild": "^0.14.25",
72
+ "esbuild": "^0.25.0",
73
73
  "husky": "^7.0.4",
74
74
  "prettier": "^2.2.1",
75
75
  "typescript": "^4.9.5",
package/sdk/models.ts CHANGED
@@ -1,16 +1,14 @@
1
1
  import { FeatureStateModel } from '../flagsmith-engine/features/models.js';
2
2
  import { AnalyticsProcessor } from './analytics.js';
3
3
 
4
+ type FlagValue = string | number | boolean | undefined;
5
+
4
6
  export class BaseFlag {
5
7
  enabled: boolean;
6
- value: string | number | boolean | undefined;
8
+ value: FlagValue;
7
9
  isDefault: boolean;
8
10
 
9
- constructor(
10
- value: string | number | boolean | undefined,
11
- enabled: boolean,
12
- isDefault: boolean
13
- ) {
11
+ constructor(value: FlagValue, enabled: boolean, isDefault: boolean) {
14
12
  this.value = value;
15
13
  this.enabled = enabled;
16
14
  this.isDefault = isDefault;
@@ -18,7 +16,7 @@ export class BaseFlag {
18
16
  }
19
17
 
20
18
  export class DefaultFlag extends BaseFlag {
21
- constructor(value: string | number | boolean | undefined, enabled: boolean) {
19
+ constructor(value: FlagValue, enabled: boolean) {
22
20
  super(value, enabled, true);
23
21
  }
24
22
  }
@@ -28,7 +26,7 @@ export class Flag extends BaseFlag {
28
26
  featureName: string;
29
27
 
30
28
  constructor(params: {
31
- value: string | number | boolean | undefined;
29
+ value: FlagValue;
32
30
  enabled: boolean;
33
31
  isDefault?: boolean;
34
32
  featureId: number;
@@ -82,7 +80,7 @@ export class Flags {
82
80
  defaultFlagHandler?: (f: string) => DefaultFlag;
83
81
  identityID?: string | number;
84
82
  }): Flags {
85
- const flags: { [key: string]: any } = {};
83
+ const flags: { [key: string]: Flag } = {};
86
84
  for (const fs of data.featureStates) {
87
85
  flags[fs.feature.name] = Flag.fromFeatureStateModel(fs, data.identityID);
88
86
  }
@@ -98,7 +96,7 @@ export class Flags {
98
96
  analyticsProcessor?: AnalyticsProcessor;
99
97
  defaultFlagHandler?: (v: string) => DefaultFlag;
100
98
  }): Flags {
101
- const flags: { [key: string]: any } = {};
99
+ const flags: { [key: string]: Flag } = {};
102
100
 
103
101
  for (const flagData of data.apiFlags) {
104
102
  flags[flagData['feature']['name']] = Flag.fromAPIFlag(flagData);
@@ -124,7 +122,6 @@ export class Flags {
124
122
  }
125
123
 
126
124
  return { enabled: false, isDefault: true, value: undefined };
127
-
128
125
  }
129
126
 
130
127
  if (this.analyticsProcessor && flag.featureId) {
@@ -134,7 +131,7 @@ export class Flags {
134
131
  return flag;
135
132
  }
136
133
 
137
- getFeatureValue(featureName: string): any {
134
+ getFeatureValue(featureName: string): FlagValue {
138
135
  return this.getFlag(featureName).value;
139
136
  }
140
137