flagsmith-nodejs 2.2.0 → 2.2.2-beta.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/build/index.d.ts +1 -1
- package/build/index.js +9 -10
- package/build/sdk/index.d.ts +1 -0
- package/build/sdk/index.js +16 -7
- package/example/package-lock.json +62 -7
- package/example/package.json +1 -1
- package/example/server/api/index.js +2 -1
- package/index.ts +2 -5
- package/package.json +1 -1
- package/sdk/index.ts +11 -7
package/build/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { AnalyticsProcessor, FlagsmithAPIError, FlagsmithClientError, EnvironmentDataPollingManager, FlagsmithCache, DefaultFlag, Flags } from './sdk';
|
|
1
|
+
export { AnalyticsProcessor, FlagsmithAPIError, FlagsmithClientError, EnvironmentDataPollingManager, FlagsmithCache, DefaultFlag, Flags, default } from './sdk';
|
|
2
2
|
export { EnvironmentModel, IntegrationModel, FeatureStateModel, IdentityModel, TraitModel, SegmentModel, OrganisationModel } from './flagsmith-engine';
|
package/build/index.js
CHANGED
|
@@ -3,15 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.OrganisationModel = exports.SegmentModel = exports.TraitModel = exports.IdentityModel = exports.FeatureStateModel = exports.IntegrationModel = exports.EnvironmentModel = exports.Flags = exports.DefaultFlag = exports.EnvironmentDataPollingManager = exports.FlagsmithClientError = exports.FlagsmithAPIError = exports.AnalyticsProcessor = void 0;
|
|
7
|
-
var sdk_1 =
|
|
8
|
-
|
|
9
|
-
Object.defineProperty(exports, "
|
|
10
|
-
Object.defineProperty(exports, "
|
|
11
|
-
Object.defineProperty(exports, "
|
|
12
|
-
Object.defineProperty(exports, "
|
|
13
|
-
Object.defineProperty(exports, "
|
|
14
|
-
Object.defineProperty(exports, "
|
|
6
|
+
exports.OrganisationModel = exports.SegmentModel = exports.TraitModel = exports.IdentityModel = exports.FeatureStateModel = exports.IntegrationModel = exports.EnvironmentModel = exports.default = exports.Flags = exports.DefaultFlag = exports.EnvironmentDataPollingManager = exports.FlagsmithClientError = exports.FlagsmithAPIError = exports.AnalyticsProcessor = void 0;
|
|
7
|
+
var sdk_1 = require("./sdk");
|
|
8
|
+
Object.defineProperty(exports, "AnalyticsProcessor", { enumerable: true, get: function () { return sdk_1.AnalyticsProcessor; } });
|
|
9
|
+
Object.defineProperty(exports, "FlagsmithAPIError", { enumerable: true, get: function () { return sdk_1.FlagsmithAPIError; } });
|
|
10
|
+
Object.defineProperty(exports, "FlagsmithClientError", { enumerable: true, get: function () { return sdk_1.FlagsmithClientError; } });
|
|
11
|
+
Object.defineProperty(exports, "EnvironmentDataPollingManager", { enumerable: true, get: function () { return sdk_1.EnvironmentDataPollingManager; } });
|
|
12
|
+
Object.defineProperty(exports, "DefaultFlag", { enumerable: true, get: function () { return sdk_1.DefaultFlag; } });
|
|
13
|
+
Object.defineProperty(exports, "Flags", { enumerable: true, get: function () { return sdk_1.Flags; } });
|
|
14
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(sdk_1).default; } });
|
|
15
15
|
var flagsmith_engine_1 = require("./flagsmith-engine");
|
|
16
16
|
Object.defineProperty(exports, "EnvironmentModel", { enumerable: true, get: function () { return flagsmith_engine_1.EnvironmentModel; } });
|
|
17
17
|
Object.defineProperty(exports, "IntegrationModel", { enumerable: true, get: function () { return flagsmith_engine_1.IntegrationModel; } });
|
|
@@ -20,4 +20,3 @@ Object.defineProperty(exports, "IdentityModel", { enumerable: true, get: functio
|
|
|
20
20
|
Object.defineProperty(exports, "TraitModel", { enumerable: true, get: function () { return flagsmith_engine_1.TraitModel; } });
|
|
21
21
|
Object.defineProperty(exports, "SegmentModel", { enumerable: true, get: function () { return flagsmith_engine_1.SegmentModel; } });
|
|
22
22
|
Object.defineProperty(exports, "OrganisationModel", { enumerable: true, get: function () { return flagsmith_engine_1.OrganisationModel; } });
|
|
23
|
-
module.exports = sdk_1.default;
|
package/build/sdk/index.d.ts
CHANGED
|
@@ -114,6 +114,7 @@ export declare class Flagsmith {
|
|
|
114
114
|
* You only need to call this if you wish to bypass environmentRefreshIntervalSeconds.
|
|
115
115
|
*/
|
|
116
116
|
updateEnvironment(): Promise<void>;
|
|
117
|
+
close(): Promise<void>;
|
|
117
118
|
private getJSONResponse;
|
|
118
119
|
/**
|
|
119
120
|
* This promise ensures that the environment is retrieved before attempting to locally evaluate.
|
package/build/sdk/index.js
CHANGED
|
@@ -183,10 +183,10 @@ var Flagsmith = /** @class */ (function () {
|
|
|
183
183
|
return [2 /*return*/, cachedItem];
|
|
184
184
|
}
|
|
185
185
|
if (this.enableLocalEvaluation) {
|
|
186
|
-
return [2 /*return*/, new Promise(function (resolve) {
|
|
186
|
+
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
187
187
|
return _this.environmentPromise.then(function () {
|
|
188
188
|
resolve(_this.getEnvironmentFlagsFromDocument());
|
|
189
|
-
});
|
|
189
|
+
}).catch(function (e) { return reject(e); });
|
|
190
190
|
})];
|
|
191
191
|
}
|
|
192
192
|
if (this.environment) {
|
|
@@ -228,10 +228,10 @@ var Flagsmith = /** @class */ (function () {
|
|
|
228
228
|
}
|
|
229
229
|
traits = traits || {};
|
|
230
230
|
if (this.enableLocalEvaluation) {
|
|
231
|
-
return [2 /*return*/, new Promise(function (resolve) {
|
|
231
|
+
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
232
232
|
return _this.environmentPromise.then(function () {
|
|
233
233
|
resolve(_this.getIdentityFlagsFromDocument(identifier, traits || {}));
|
|
234
|
-
});
|
|
234
|
+
}).catch(function (e) { return reject(e); });
|
|
235
235
|
})];
|
|
236
236
|
}
|
|
237
237
|
return [2 /*return*/, this.getIdentityFlagsFromApi(identifier, traits)];
|
|
@@ -254,15 +254,15 @@ var Flagsmith = /** @class */ (function () {
|
|
|
254
254
|
var _this = this;
|
|
255
255
|
traits = traits || {};
|
|
256
256
|
if (this.enableLocalEvaluation) {
|
|
257
|
-
return
|
|
258
|
-
return
|
|
257
|
+
return new Promise(function (resolve, reject) {
|
|
258
|
+
return _this.environmentPromise.then(function () {
|
|
259
259
|
var identityModel = _this.buildIdentityModel(identifier, Object.keys(traits || {}).map(function (key) { return ({
|
|
260
260
|
key: key,
|
|
261
261
|
value: traits === null || traits === void 0 ? void 0 : traits[key]
|
|
262
262
|
}); }));
|
|
263
263
|
var segments = (0, evaluators_1.getIdentitySegments)(_this.environment, identityModel);
|
|
264
264
|
return resolve(segments);
|
|
265
|
-
});
|
|
265
|
+
}).catch(function (e) { return reject(e); });
|
|
266
266
|
});
|
|
267
267
|
}
|
|
268
268
|
console.error('This function is only permitted with local evaluation.');
|
|
@@ -312,6 +312,15 @@ var Flagsmith = /** @class */ (function () {
|
|
|
312
312
|
});
|
|
313
313
|
});
|
|
314
314
|
};
|
|
315
|
+
Flagsmith.prototype.close = function () {
|
|
316
|
+
var _a;
|
|
317
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
318
|
+
return __generator(this, function (_b) {
|
|
319
|
+
(_a = this.environmentDataPollingManager) === null || _a === void 0 ? void 0 : _a.stop();
|
|
320
|
+
return [2 /*return*/];
|
|
321
|
+
});
|
|
322
|
+
});
|
|
323
|
+
};
|
|
315
324
|
Flagsmith.prototype.getJSONResponse = function (url, method, body) {
|
|
316
325
|
return __awaiter(this, void 0, void 0, function () {
|
|
317
326
|
var headers, _a, _b, _c, k, v, data;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"version": "0.1.1",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"flagsmith-nodejs": "^2.
|
|
12
|
+
"flagsmith-nodejs": "^2.2.2-beta.1",
|
|
13
13
|
"node-cache": "^5.1.2",
|
|
14
14
|
"ssg-node-express": "4.16.4",
|
|
15
15
|
"ssg-util": "0.0.3"
|
|
@@ -478,16 +478,31 @@
|
|
|
478
478
|
}
|
|
479
479
|
},
|
|
480
480
|
"node_modules/flagsmith-nodejs": {
|
|
481
|
-
"version": "2.
|
|
482
|
-
"resolved": "https://registry.npmjs.org/flagsmith-nodejs/-/flagsmith-nodejs-2.
|
|
483
|
-
"integrity": "sha512-
|
|
481
|
+
"version": "2.2.2-beta.1",
|
|
482
|
+
"resolved": "https://registry.npmjs.org/flagsmith-nodejs/-/flagsmith-nodejs-2.2.2-beta.1.tgz",
|
|
483
|
+
"integrity": "sha512-bUAhcU/T6UmNpZXfUZ1D1KtkaidVrSNMXyjBiIASpureOtg1xaLyIrhD+S24RLpf/TBwyhhqmdupcmpeAf9uJw==",
|
|
484
484
|
"dependencies": {
|
|
485
485
|
"big-integer": "^1.6.51",
|
|
486
486
|
"md5": "^2.3.0",
|
|
487
487
|
"node-fetch": "^2.1.2",
|
|
488
|
+
"semver": "^7.3.7",
|
|
488
489
|
"uuid": "^8.3.2"
|
|
489
490
|
}
|
|
490
491
|
},
|
|
492
|
+
"node_modules/flagsmith-nodejs/node_modules/semver": {
|
|
493
|
+
"version": "7.3.7",
|
|
494
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
|
|
495
|
+
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
|
|
496
|
+
"dependencies": {
|
|
497
|
+
"lru-cache": "^6.0.0"
|
|
498
|
+
},
|
|
499
|
+
"bin": {
|
|
500
|
+
"semver": "bin/semver.js"
|
|
501
|
+
},
|
|
502
|
+
"engines": {
|
|
503
|
+
"node": ">=10"
|
|
504
|
+
}
|
|
505
|
+
},
|
|
491
506
|
"node_modules/forwarded": {
|
|
492
507
|
"version": "0.1.2",
|
|
493
508
|
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
|
|
@@ -714,6 +729,17 @@
|
|
|
714
729
|
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
|
|
715
730
|
"integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
|
|
716
731
|
},
|
|
732
|
+
"node_modules/lru-cache": {
|
|
733
|
+
"version": "6.0.0",
|
|
734
|
+
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
|
735
|
+
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
|
736
|
+
"dependencies": {
|
|
737
|
+
"yallist": "^4.0.0"
|
|
738
|
+
},
|
|
739
|
+
"engines": {
|
|
740
|
+
"node": ">=10"
|
|
741
|
+
}
|
|
742
|
+
},
|
|
717
743
|
"node_modules/md5": {
|
|
718
744
|
"version": "2.3.0",
|
|
719
745
|
"resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
|
|
@@ -1320,6 +1346,11 @@
|
|
|
1320
1346
|
"version": "1.0.2",
|
|
1321
1347
|
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
|
1322
1348
|
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
|
1349
|
+
},
|
|
1350
|
+
"node_modules/yallist": {
|
|
1351
|
+
"version": "4.0.0",
|
|
1352
|
+
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
|
1353
|
+
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
|
|
1323
1354
|
}
|
|
1324
1355
|
},
|
|
1325
1356
|
"dependencies": {
|
|
@@ -1684,14 +1715,25 @@
|
|
|
1684
1715
|
}
|
|
1685
1716
|
},
|
|
1686
1717
|
"flagsmith-nodejs": {
|
|
1687
|
-
"version": "2.
|
|
1688
|
-
"resolved": "https://registry.npmjs.org/flagsmith-nodejs/-/flagsmith-nodejs-2.
|
|
1689
|
-
"integrity": "sha512-
|
|
1718
|
+
"version": "2.2.2-beta.1",
|
|
1719
|
+
"resolved": "https://registry.npmjs.org/flagsmith-nodejs/-/flagsmith-nodejs-2.2.2-beta.1.tgz",
|
|
1720
|
+
"integrity": "sha512-bUAhcU/T6UmNpZXfUZ1D1KtkaidVrSNMXyjBiIASpureOtg1xaLyIrhD+S24RLpf/TBwyhhqmdupcmpeAf9uJw==",
|
|
1690
1721
|
"requires": {
|
|
1691
1722
|
"big-integer": "^1.6.51",
|
|
1692
1723
|
"md5": "^2.3.0",
|
|
1693
1724
|
"node-fetch": "^2.1.2",
|
|
1725
|
+
"semver": "^7.3.7",
|
|
1694
1726
|
"uuid": "^8.3.2"
|
|
1727
|
+
},
|
|
1728
|
+
"dependencies": {
|
|
1729
|
+
"semver": {
|
|
1730
|
+
"version": "7.3.7",
|
|
1731
|
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
|
|
1732
|
+
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
|
|
1733
|
+
"requires": {
|
|
1734
|
+
"lru-cache": "^6.0.0"
|
|
1735
|
+
}
|
|
1736
|
+
}
|
|
1695
1737
|
}
|
|
1696
1738
|
},
|
|
1697
1739
|
"forwarded": {
|
|
@@ -1866,6 +1908,14 @@
|
|
|
1866
1908
|
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
|
|
1867
1909
|
"integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
|
|
1868
1910
|
},
|
|
1911
|
+
"lru-cache": {
|
|
1912
|
+
"version": "6.0.0",
|
|
1913
|
+
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
|
1914
|
+
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
|
1915
|
+
"requires": {
|
|
1916
|
+
"yallist": "^4.0.0"
|
|
1917
|
+
}
|
|
1918
|
+
},
|
|
1869
1919
|
"md5": {
|
|
1870
1920
|
"version": "2.3.0",
|
|
1871
1921
|
"resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
|
|
@@ -2327,6 +2377,11 @@
|
|
|
2327
2377
|
"version": "1.0.2",
|
|
2328
2378
|
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
|
2329
2379
|
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
|
2380
|
+
},
|
|
2381
|
+
"yallist": {
|
|
2382
|
+
"version": "4.0.0",
|
|
2383
|
+
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
|
2384
|
+
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
|
|
2330
2385
|
}
|
|
2331
2386
|
}
|
|
2332
2387
|
}
|
package/example/package.json
CHANGED
package/index.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import Flagsmith from './sdk';
|
|
2
|
-
|
|
3
1
|
export {
|
|
4
2
|
AnalyticsProcessor,
|
|
5
3
|
FlagsmithAPIError,
|
|
@@ -7,7 +5,8 @@ export {
|
|
|
7
5
|
EnvironmentDataPollingManager,
|
|
8
6
|
FlagsmithCache,
|
|
9
7
|
DefaultFlag,
|
|
10
|
-
Flags
|
|
8
|
+
Flags,
|
|
9
|
+
default
|
|
11
10
|
} from './sdk';
|
|
12
11
|
|
|
13
12
|
export {
|
|
@@ -19,5 +18,3 @@ export {
|
|
|
19
18
|
SegmentModel,
|
|
20
19
|
OrganisationModel
|
|
21
20
|
} from './flagsmith-engine';
|
|
22
|
-
|
|
23
|
-
module.exports = Flagsmith;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flagsmith-nodejs",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.2-beta.2",
|
|
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/index.js",
|
|
6
6
|
"repository": {
|
package/sdk/index.ts
CHANGED
|
@@ -152,10 +152,10 @@ export class Flagsmith {
|
|
|
152
152
|
return cachedItem;
|
|
153
153
|
}
|
|
154
154
|
if (this.enableLocalEvaluation) {
|
|
155
|
-
return new Promise(resolve =>
|
|
155
|
+
return new Promise((resolve, reject) =>
|
|
156
156
|
this.environmentPromise!.then(() => {
|
|
157
157
|
resolve(this.getEnvironmentFlagsFromDocument());
|
|
158
|
-
})
|
|
158
|
+
}).catch((e) => reject(e))
|
|
159
159
|
);
|
|
160
160
|
}
|
|
161
161
|
if (this.environment) {
|
|
@@ -182,10 +182,10 @@ export class Flagsmith {
|
|
|
182
182
|
}
|
|
183
183
|
traits = traits || {};
|
|
184
184
|
if (this.enableLocalEvaluation) {
|
|
185
|
-
return new Promise(resolve =>
|
|
185
|
+
return new Promise((resolve, reject) =>
|
|
186
186
|
this.environmentPromise!.then(() => {
|
|
187
187
|
resolve(this.getIdentityFlagsFromDocument(identifier, traits || {}));
|
|
188
|
-
})
|
|
188
|
+
}).catch(e => reject(e))
|
|
189
189
|
);
|
|
190
190
|
}
|
|
191
191
|
return this.getIdentityFlagsFromApi(identifier, traits);
|
|
@@ -208,8 +208,8 @@ export class Flagsmith {
|
|
|
208
208
|
): Promise<SegmentModel[]> {
|
|
209
209
|
traits = traits || {};
|
|
210
210
|
if (this.enableLocalEvaluation) {
|
|
211
|
-
return
|
|
212
|
-
return
|
|
211
|
+
return new Promise((resolve, reject) => {
|
|
212
|
+
return this.environmentPromise!.then(() => {
|
|
213
213
|
const identityModel = this.buildIdentityModel(
|
|
214
214
|
identifier,
|
|
215
215
|
Object.keys(traits || {}).map(key => ({
|
|
@@ -220,7 +220,7 @@ export class Flagsmith {
|
|
|
220
220
|
|
|
221
221
|
const segments = getIdentitySegments(this.environment, identityModel);
|
|
222
222
|
return resolve(segments);
|
|
223
|
-
});
|
|
223
|
+
}).catch((e) => reject(e));
|
|
224
224
|
});
|
|
225
225
|
}
|
|
226
226
|
console.error('This function is only permitted with local evaluation.');
|
|
@@ -253,6 +253,10 @@ export class Flagsmith {
|
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
255
|
|
|
256
|
+
async close() {
|
|
257
|
+
this.environmentDataPollingManager?.stop();
|
|
258
|
+
}
|
|
259
|
+
|
|
256
260
|
private async getJSONResponse(
|
|
257
261
|
url: string,
|
|
258
262
|
method: string,
|