@reflag/node-sdk 1.0.0 → 1.1.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/README.md +85 -30
- package/dist/package.json +6 -5
- package/dist/src/batch-buffer.js +10 -0
- package/dist/src/batch-buffer.js.map +1 -1
- package/dist/src/client.js +71 -70
- package/dist/src/client.js.map +1 -1
- package/dist/src/fetch-http-client.js +5 -1
- package/dist/src/fetch-http-client.js.map +1 -1
- package/dist/src/inRequestCache.js +6 -0
- package/dist/src/inRequestCache.js.map +1 -1
- package/dist/src/periodicallyUpdatingCache.js +8 -0
- package/dist/src/periodicallyUpdatingCache.js.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/types/src/batch-buffer.d.ts +4 -0
- package/dist/types/src/batch-buffer.d.ts.map +1 -1
- package/dist/types/src/client.d.ts +35 -1
- package/dist/types/src/client.d.ts.map +1 -1
- package/dist/types/src/fetch-http-client.d.ts +1 -1
- package/dist/types/src/fetch-http-client.d.ts.map +1 -1
- package/dist/types/src/inRequestCache.d.ts +1 -0
- package/dist/types/src/inRequestCache.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/periodicallyUpdatingCache.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +19 -4
- package/dist/types/src/types.d.ts.map +1 -1
- package/package.json +7 -6
- package/dist/src/cache.js +0 -71
- package/dist/src/cache.js.map +0 -1
- package/dist/types/src/cache.d.ts +0 -16
- package/dist/types/src/cache.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -54,22 +54,6 @@ Other supported languages/frameworks are in the [Supported languages](https://do
|
|
|
54
54
|
|
|
55
55
|
You can also [use the HTTP API directly](https://docs.reflag.com/api/http-api)
|
|
56
56
|
|
|
57
|
-
## Migrating from Bucket SDK
|
|
58
|
-
|
|
59
|
-
If you have been using the Bucket SDKs, the following list will help you migrate to Reflag SDK:
|
|
60
|
-
|
|
61
|
-
- `Bucket*` classes, and types have been renamed to `Reflag*` (e.g. `BucketClient` is now `ReflagClient`)
|
|
62
|
-
- `Feature*` classes, and types have been renamed to `Feature*` (e.g. `Feature` is now `Flag`, `RawFeatures` is now `RawFlags`)
|
|
63
|
-
- When using strongly-typed flags, the new `Flags` interface replaced `Features` interface
|
|
64
|
-
- All methods that contained `feature` in the name have been renamed to use the `flag` terminology (e.g. `getFeature` is `getFlag`)
|
|
65
|
-
- All environment variables that were prefixed with `BUCKET_` are now prefixed with `REFLAG_`
|
|
66
|
-
- The `BUCKET_HOST` environment variable and `host` option have been removed from `ReflagClient` constructor, use `REFLAG_API_BASE_URL` instead
|
|
67
|
-
- The `BUCKET_FEATURES_ENABLED` and `BUCKET_FEATURES_DISABLED` have been renamed to `REFLAG_FLAGS_ENABLED` and `REFLAG_FLAGS_DISABLED`
|
|
68
|
-
- The default configuration file has been renamed from `bucketConfig.json` to `reflag.config.json`
|
|
69
|
-
- The `fallbackFeatures` property in client constructor and configuration files has been renamed to `fallbackFlags`
|
|
70
|
-
- `featureKey` has been renamed to `flagKey` in all methods that accepts that argument
|
|
71
|
-
- The SDKs will not emit `evaluate` and `evaluate-config` events anymore
|
|
72
|
-
|
|
73
57
|
## Basic usage
|
|
74
58
|
|
|
75
59
|
To get started you need to obtain your secret key from the [environment settings](https://app.reflag.com/env-current/settings/app-environments)
|
|
@@ -98,9 +82,9 @@ export const reflagClient = new ReflagClient();
|
|
|
98
82
|
// Initialize the client and begin fetching flag targeting definitions.
|
|
99
83
|
// You must call this method prior to any calls to `getFlags()`,
|
|
100
84
|
// otherwise an empty object will be returned.
|
|
101
|
-
reflagClient.initialize().then({
|
|
102
|
-
console.log("Reflag initialized!")
|
|
103
|
-
})
|
|
85
|
+
reflagClient.initialize().then(() => {
|
|
86
|
+
console.log("Reflag initialized!");
|
|
87
|
+
});
|
|
104
88
|
```
|
|
105
89
|
|
|
106
90
|
Once the client is initialized, you can obtain flags along with the `isEnabled`
|
|
@@ -222,6 +206,64 @@ const flagDefs = await client.getFlagDefinitions();
|
|
|
222
206
|
// }]
|
|
223
207
|
```
|
|
224
208
|
|
|
209
|
+
## Bootstrapping client-side applications
|
|
210
|
+
|
|
211
|
+
The `getFlagsForBootstrap()` method is designed for server-side rendering (SSR) scenarios where you need to pass flag data to client-side applications. This method returns raw flag data without wrapper functions, making it suitable for serialization and client-side hydration.
|
|
212
|
+
|
|
213
|
+
```typescript
|
|
214
|
+
const client = new ReflagClient();
|
|
215
|
+
await client.initialize();
|
|
216
|
+
|
|
217
|
+
// Get flags for bootstrapping with full context
|
|
218
|
+
const { context, flags } = client.getFlagsForBootstrap({
|
|
219
|
+
user: {
|
|
220
|
+
id: "user123",
|
|
221
|
+
name: "John Doe",
|
|
222
|
+
email: "john@acme.com",
|
|
223
|
+
},
|
|
224
|
+
company: {
|
|
225
|
+
id: "company456",
|
|
226
|
+
name: "Acme Inc",
|
|
227
|
+
plan: "enterprise",
|
|
228
|
+
},
|
|
229
|
+
other: {
|
|
230
|
+
source: "web",
|
|
231
|
+
platform: "desktop",
|
|
232
|
+
},
|
|
233
|
+
});
|
|
234
|
+
|
|
235
|
+
// Pass this data to your client-side application
|
|
236
|
+
// The flags object contains raw flag data suitable for JSON serialization
|
|
237
|
+
console.log(flags);
|
|
238
|
+
// {
|
|
239
|
+
// "huddle": {
|
|
240
|
+
// "key": "huddle",
|
|
241
|
+
// "isEnabled": true,
|
|
242
|
+
// "config": {
|
|
243
|
+
// "key": "enhanced",
|
|
244
|
+
// "payload": { "maxParticipants": 50, "videoQuality": "hd" },
|
|
245
|
+
// }
|
|
246
|
+
// }
|
|
247
|
+
// }
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
You can also use a bound client for simpler API:
|
|
251
|
+
|
|
252
|
+
```typescript
|
|
253
|
+
const boundClient = client.bindClient({
|
|
254
|
+
user: { id: "user123", name: "John Doe", email: "john@acme.com" },
|
|
255
|
+
company: { id: "company456", name: "Acme Inc", plan: "enterprise" },
|
|
256
|
+
});
|
|
257
|
+
|
|
258
|
+
const { context, flags } = boundClient.getFlagsForBootstrap();
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### Key differences from `getFlags()`
|
|
262
|
+
|
|
263
|
+
- **Raw data**: Returns plain objects without `track()` functions, making them JSON serializable
|
|
264
|
+
- **Context included**: Returns both the evaluated flags and the context used for evaluation
|
|
265
|
+
- **Bootstrapping focus**: Designed specifically for passing data to client-side applications
|
|
266
|
+
|
|
225
267
|
## Edge-runtimes like Cloudflare Workers
|
|
226
268
|
|
|
227
269
|
To use the Reflag NodeSDK with Cloudflare workers, set the `node_compat` flag [in your wrangler file](https://developers.cloudflare.com/workers/runtime-apis/nodejs/#get-started).
|
|
@@ -255,7 +297,7 @@ export default {
|
|
|
255
297
|
};
|
|
256
298
|
```
|
|
257
299
|
|
|
258
|
-
See [examples/cloudflare-worker](examples/cloudflare-worker/src/index.ts) for a deployable example.
|
|
300
|
+
See [examples/cloudflare-worker](https://github.com/reflagcom/javascript/tree/main/packages/node-sdk/examples/cloudflare-worker/src/index.ts) for a deployable example.
|
|
259
301
|
|
|
260
302
|
Reflag maintains a cached set of flag definitions in the memory of your worker which it uses to decide which flags to turn on for which users/companies.
|
|
261
303
|
|
|
@@ -277,14 +319,11 @@ fallback behavior:
|
|
|
277
319
|
|
|
278
320
|
```typescript
|
|
279
321
|
// Network errors during tracking are logged but don't affect your application
|
|
280
|
-
const { track } = client.getFlag("my-flag");
|
|
322
|
+
const { isEnabled, track } = client.getFlag("my-flag");
|
|
281
323
|
if (isEnabled) {
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
// The SDK already logged this error
|
|
286
|
-
// Your application can continue normally
|
|
287
|
-
}
|
|
324
|
+
// network errors are caught internally and logged and never bubbled up to your application
|
|
325
|
+
// no need to try/catch around "track" or "getFlag"
|
|
326
|
+
await track();
|
|
288
327
|
}
|
|
289
328
|
```
|
|
290
329
|
|
|
@@ -633,12 +672,12 @@ app.use((req, res, next) => {
|
|
|
633
672
|
// mechanism in a real-world application
|
|
634
673
|
const user = {
|
|
635
674
|
id: req.user?.id,
|
|
636
|
-
name: req.user?.name
|
|
675
|
+
name: req.user?.name,
|
|
637
676
|
email: req.user?.email
|
|
638
677
|
}
|
|
639
678
|
|
|
640
679
|
const company = {
|
|
641
|
-
id: req.user?.companyId
|
|
680
|
+
id: req.user?.companyId,
|
|
642
681
|
name: req.user?.companyName
|
|
643
682
|
}
|
|
644
683
|
|
|
@@ -655,7 +694,7 @@ app.use((req, res, next) => {
|
|
|
655
694
|
|
|
656
695
|
// Now use res.locals.boundReflagClient in your handlers
|
|
657
696
|
app.get("/todos", async (_req, res) => {
|
|
658
|
-
const { track, isEnabled } = res.locals.
|
|
697
|
+
const { track, isEnabled } = res.locals.boundReflagClient.getFlag("show-todos");
|
|
659
698
|
|
|
660
699
|
if (!isEnabled) {
|
|
661
700
|
res.status(403).send({"error": "flag inaccessible"})
|
|
@@ -835,6 +874,22 @@ import { sha256 } from 'crypto-hash';
|
|
|
835
874
|
client.updateUser({ userId: await sha256("john_doe"), ... });
|
|
836
875
|
```
|
|
837
876
|
|
|
877
|
+
## Migrating from Bucket SDK
|
|
878
|
+
|
|
879
|
+
If you have been using the Bucket SDKs previously, the following list will help you migrate to Reflag SDK:
|
|
880
|
+
|
|
881
|
+
- `Bucket*` classes, and types have been renamed to `Reflag*` (e.g. `BucketClient` is now `ReflagClient`)
|
|
882
|
+
- `Feature*` classes, and types have been renamed to `Flag*` (e.g. `Feature` is now `Flag`, `RawFeatures` is now `RawFlags`)
|
|
883
|
+
- When using strongly-typed flags, the new `Flags` interface replaced `Features` interface
|
|
884
|
+
- All methods that contained `feature` in the name have been renamed to use the `flag` terminology (e.g. `getFeature` is `getFlag`)
|
|
885
|
+
- All environment variables that were prefixed with `BUCKET_` are now prefixed with `REFLAG_`
|
|
886
|
+
- The `BUCKET_HOST` environment variable and `host` option have been removed from `ReflagClient` constructor, use `REFLAG_API_BASE_URL` instead
|
|
887
|
+
- The `BUCKET_FEATURES_ENABLED` and `BUCKET_FEATURES_DISABLED` have been renamed to `REFLAG_FLAGS_ENABLED` and `REFLAG_FLAGS_DISABLED`
|
|
888
|
+
- The default configuration file has been renamed from `bucketConfig.json` to `reflag.config.json`
|
|
889
|
+
- The `fallbackFeatures` property in client constructor and configuration files has been renamed to `fallbackFlags`
|
|
890
|
+
- `featureKey` has been renamed to `flagKey` in all methods that accepts that argument
|
|
891
|
+
- The SDKs will not emit `evaluate` and `evaluate-config` events anymore
|
|
892
|
+
|
|
838
893
|
## Typescript
|
|
839
894
|
|
|
840
895
|
Types are bundled together with the library and exposed automatically when importing
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reflag/node-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -10,14 +10,15 @@
|
|
|
10
10
|
"dev": "vite",
|
|
11
11
|
"start": "vite",
|
|
12
12
|
"build": "tsc --project tsconfig.build.json",
|
|
13
|
-
"test": "vitest
|
|
14
|
-
"test:
|
|
15
|
-
"
|
|
13
|
+
"test": "vitest run",
|
|
14
|
+
"test:watch": "vitest",
|
|
15
|
+
"test:ci": "yarn test --reporter=default --reporter=junit --outputFile=junit.xml",
|
|
16
|
+
"coverage": "yarn test --coverage",
|
|
16
17
|
"lint": "eslint .",
|
|
17
18
|
"lint:ci": "eslint --output-file eslint-report.json --format json .",
|
|
18
19
|
"prettier": "prettier --check .",
|
|
19
20
|
"format": "yarn lint --fix && yarn prettier --write",
|
|
20
|
-
"preversion": "yarn lint && yarn prettier && yarn
|
|
21
|
+
"preversion": "yarn lint && yarn prettier && yarn test && yarn build"
|
|
21
22
|
},
|
|
22
23
|
"files": [
|
|
23
24
|
"dist"
|
package/dist/src/batch-buffer.js
CHANGED
|
@@ -80,6 +80,16 @@ class BatchBuffer {
|
|
|
80
80
|
}
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Destroys the buffer, clearing any pending timer and discarding buffered items.
|
|
85
|
+
*/
|
|
86
|
+
destroy() {
|
|
87
|
+
if (this.timer) {
|
|
88
|
+
clearTimeout(this.timer);
|
|
89
|
+
this.timer = null;
|
|
90
|
+
}
|
|
91
|
+
this.buffer = [];
|
|
92
|
+
}
|
|
83
93
|
}
|
|
84
94
|
exports.default = BatchBuffer;
|
|
85
95
|
//# sourceMappingURL=batch-buffer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-buffer.js","sourceRoot":"","sources":["../../src/batch-buffer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"batch-buffer.js","sourceRoot":"","sources":["../../src/batch-buffer.ts"],"names":[],"mappings":"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"}
|
package/dist/src/client.js
CHANGED
|
@@ -110,7 +110,7 @@ class ReflagClient {
|
|
|
110
110
|
* @throws An error if the options are invalid.
|
|
111
111
|
**/
|
|
112
112
|
constructor(options = {}) {
|
|
113
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
|
113
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
114
114
|
this.initializationFinished = false;
|
|
115
115
|
this._initialize = (0, utils_1.once)(() => __awaiter(this, void 0, void 0, function* () {
|
|
116
116
|
const start = Date.now();
|
|
@@ -191,8 +191,7 @@ class ReflagClient {
|
|
|
191
191
|
this.batchBuffer = new batch_buffer_1.default(Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.batchOptions), { flushHandler: (items) => this.sendBulkEvents(items), logger: this.logger }));
|
|
192
192
|
this._config = {
|
|
193
193
|
offline,
|
|
194
|
-
|
|
195
|
-
apiBaseUrl: ((_f = config.apiBaseUrl) !== null && _f !== void 0 ? _f : config.host) || config_1.API_BASE_URL,
|
|
194
|
+
apiBaseUrl: ((_e = config.apiBaseUrl) !== null && _e !== void 0 ? _e : config.host) || config_1.API_BASE_URL,
|
|
196
195
|
headers: {
|
|
197
196
|
"Content-Type": "application/json",
|
|
198
197
|
[config_1.SDK_VERSION_HEADER_NAME]: config_1.SDK_VERSION,
|
|
@@ -204,11 +203,11 @@ class ReflagClient {
|
|
|
204
203
|
flagOverrides: typeof config.flagOverrides === "function"
|
|
205
204
|
? config.flagOverrides
|
|
206
205
|
: () => config.flagOverrides,
|
|
207
|
-
flagsFetchRetries: (
|
|
208
|
-
fetchTimeoutMs: (
|
|
209
|
-
cacheStrategy: (
|
|
206
|
+
flagsFetchRetries: (_f = options.flagsFetchRetries) !== null && _f !== void 0 ? _f : 3,
|
|
207
|
+
fetchTimeoutMs: (_g = options.fetchTimeoutMs) !== null && _g !== void 0 ? _g : config_1.API_TIMEOUT_MS,
|
|
208
|
+
cacheStrategy: (_h = options.cacheStrategy) !== null && _h !== void 0 ? _h : "periodically-update",
|
|
210
209
|
};
|
|
211
|
-
if (((
|
|
210
|
+
if (((_k = (_j = config.batchOptions) === null || _j === void 0 ? void 0 : _j.flushOnExit) !== null && _k !== void 0 ? _k : true) && !this._config.offline) {
|
|
212
211
|
(0, flusher_1.subscribe)(() => this.flush());
|
|
213
212
|
}
|
|
214
213
|
if (!new URL(this._config.apiBaseUrl).pathname.endsWith("/")) {
|
|
@@ -439,6 +438,18 @@ class ReflagClient {
|
|
|
439
438
|
yield this.flagsCache.waitRefresh();
|
|
440
439
|
});
|
|
441
440
|
}
|
|
441
|
+
/**
|
|
442
|
+
* Destroys the client and cleans up all resources including timers and background processes.
|
|
443
|
+
*
|
|
444
|
+
* @remarks
|
|
445
|
+
* After calling this method, the client should not be used anymore.
|
|
446
|
+
* This is particularly useful in development environments with hot reloading to prevent
|
|
447
|
+
* multiple background processes from running simultaneously.
|
|
448
|
+
*/
|
|
449
|
+
destroy() {
|
|
450
|
+
this.flagsCache.destroy();
|
|
451
|
+
this.batchBuffer.destroy();
|
|
452
|
+
}
|
|
442
453
|
/**
|
|
443
454
|
* Gets the flag definitions, including all config values.
|
|
444
455
|
* To evaluate which flags are enabled for a given user/company, use `getFlags`.
|
|
@@ -471,7 +482,12 @@ class ReflagClient {
|
|
|
471
482
|
**/
|
|
472
483
|
getFlags(_a) {
|
|
473
484
|
var { enableTracking = true } = _a, context = __rest(_a, ["enableTracking"]);
|
|
474
|
-
|
|
485
|
+
const contextWithTracking = Object.assign({ enableTracking }, context);
|
|
486
|
+
const rawFlags = this._getFlags(contextWithTracking);
|
|
487
|
+
return Object.fromEntries(Object.entries(rawFlags).map(([key, rawFlag]) => [
|
|
488
|
+
key,
|
|
489
|
+
this._wrapRawFlag(contextWithTracking, rawFlag),
|
|
490
|
+
]));
|
|
475
491
|
}
|
|
476
492
|
/**
|
|
477
493
|
* Gets the evaluated flag for the current context which includes the user, company, and custom context.
|
|
@@ -485,7 +501,34 @@ class ReflagClient {
|
|
|
485
501
|
**/
|
|
486
502
|
getFlag(_a, key) {
|
|
487
503
|
var { enableTracking = true } = _a, context = __rest(_a, ["enableTracking"]);
|
|
488
|
-
|
|
504
|
+
const contextWithTracking = Object.assign({ enableTracking }, context);
|
|
505
|
+
const rawFlag = this._getFlags(contextWithTracking, key);
|
|
506
|
+
return this._wrapRawFlag(Object.assign({ enableChecks: true }, contextWithTracking), rawFlag !== null && rawFlag !== void 0 ? rawFlag : { key });
|
|
507
|
+
}
|
|
508
|
+
/**
|
|
509
|
+
* Gets the evaluated flags for the current context without wrapping them in getters.
|
|
510
|
+
* This method returns raw flag data suitable for bootstrapping client-side applications.
|
|
511
|
+
*
|
|
512
|
+
* @param options - The options for the context.
|
|
513
|
+
* @param options.enableTracking - Whether to enable tracking for the context.
|
|
514
|
+
* @param options.meta - The meta context associated with the context.
|
|
515
|
+
* @param options.user - The user context.
|
|
516
|
+
* @param options.company - The company context.
|
|
517
|
+
* @param options.other - The other context.
|
|
518
|
+
*
|
|
519
|
+
* @returns The evaluated raw flags and the context.
|
|
520
|
+
*
|
|
521
|
+
* @remarks
|
|
522
|
+
* Call `initialize` before calling this method to ensure the flag definitions are cached, no flags will be returned otherwise.
|
|
523
|
+
* This method returns RawFlag objects without wrapping them in getters, making them suitable for serialization.
|
|
524
|
+
**/
|
|
525
|
+
getFlagsForBootstrap(_a) {
|
|
526
|
+
var { enableTracking = true } = _a, context = __rest(_a, ["enableTracking"]);
|
|
527
|
+
const contextWithTracking = Object.assign({ enableTracking }, context);
|
|
528
|
+
return {
|
|
529
|
+
context: contextWithTracking,
|
|
530
|
+
flags: this._getFlags(contextWithTracking),
|
|
531
|
+
};
|
|
489
532
|
}
|
|
490
533
|
/**
|
|
491
534
|
* Gets evaluated flags with the usage of remote context.
|
|
@@ -631,10 +674,7 @@ class ReflagClient {
|
|
|
631
674
|
return __awaiter(this, void 0, void 0, function* () {
|
|
632
675
|
(0, utils_1.ok)(typeof event === "object", "event must be an object");
|
|
633
676
|
(0, utils_1.ok)(typeof event.action === "string" &&
|
|
634
|
-
(event.action === "
|
|
635
|
-
event.action === "evaluate-config" ||
|
|
636
|
-
event.action === "check" ||
|
|
637
|
-
event.action === "check-config"), "event must have an action");
|
|
677
|
+
(event.action === "check" || event.action === "check-config"), "event must have an action");
|
|
638
678
|
(0, utils_1.ok)(typeof event.key === "string" && event.key.length > 0, "event must have a flag key");
|
|
639
679
|
(0, utils_1.ok)(typeof event.targetingVersion === "number" ||
|
|
640
680
|
event.targetingVersion === undefined, "event must have a targeting version");
|
|
@@ -648,10 +688,6 @@ class ReflagClient {
|
|
|
648
688
|
if (this._config.offline) {
|
|
649
689
|
return;
|
|
650
690
|
}
|
|
651
|
-
if (!this._config.emitEvaluationEvents &&
|
|
652
|
-
(event.action === "evaluate" || event.action === "evaluate-config")) {
|
|
653
|
-
return;
|
|
654
|
-
}
|
|
655
691
|
if (!this.rateLimiter.isAllowed((0, utils_1.hashObject)({
|
|
656
692
|
action: event.action,
|
|
657
693
|
key: event.key,
|
|
@@ -755,16 +791,13 @@ class ReflagClient {
|
|
|
755
791
|
this.logger.warn("no flag definitions available, using fallback flags.");
|
|
756
792
|
const fallbackFlags = this._config.fallbackFlags || {};
|
|
757
793
|
if (key) {
|
|
758
|
-
return
|
|
794
|
+
return fallbackFlags[key];
|
|
759
795
|
}
|
|
760
|
-
return
|
|
761
|
-
k,
|
|
762
|
-
this._wrapRawFlag(options, v),
|
|
763
|
-
]));
|
|
796
|
+
return fallbackFlags;
|
|
764
797
|
}
|
|
765
798
|
flagDefinitions = flagDefs;
|
|
766
799
|
}
|
|
767
|
-
const { enableTracking
|
|
800
|
+
const { enableTracking: _, meta: __ } = options, context = __rest(options, ["enableTracking", "meta"]);
|
|
768
801
|
const evaluated = flagDefinitions
|
|
769
802
|
.filter(({ key: flagKey }) => (key ? key === flagKey : true))
|
|
770
803
|
.map((flag) => {
|
|
@@ -783,46 +816,6 @@ class ReflagClient {
|
|
|
783
816
|
},
|
|
784
817
|
});
|
|
785
818
|
});
|
|
786
|
-
if (enableTracking) {
|
|
787
|
-
const promises = evaluated
|
|
788
|
-
.map((res) => {
|
|
789
|
-
var _a;
|
|
790
|
-
const outPromises = [];
|
|
791
|
-
outPromises.push(this.sendFlagEvent({
|
|
792
|
-
action: "evaluate",
|
|
793
|
-
key: res.flagKey,
|
|
794
|
-
targetingVersion: res.targetingVersion,
|
|
795
|
-
evalResult: (_a = res.enabledResult.value) !== null && _a !== void 0 ? _a : false,
|
|
796
|
-
evalContext: res.enabledResult.context,
|
|
797
|
-
evalRuleResults: res.enabledResult.ruleEvaluationResults,
|
|
798
|
-
evalMissingFields: res.enabledResult.missingContextFields,
|
|
799
|
-
}));
|
|
800
|
-
const config = res.configResult;
|
|
801
|
-
if (config.value) {
|
|
802
|
-
outPromises.push(this.sendFlagEvent({
|
|
803
|
-
action: "evaluate-config",
|
|
804
|
-
key: res.flagKey,
|
|
805
|
-
targetingVersion: res.configVersion,
|
|
806
|
-
evalResult: config.value,
|
|
807
|
-
evalContext: config.context,
|
|
808
|
-
evalRuleResults: config.ruleEvaluationResults,
|
|
809
|
-
evalMissingFields: config.missingContextFields,
|
|
810
|
-
}));
|
|
811
|
-
}
|
|
812
|
-
return outPromises;
|
|
813
|
-
})
|
|
814
|
-
.flat();
|
|
815
|
-
void Promise.allSettled(promises).then((results) => {
|
|
816
|
-
const failed = results
|
|
817
|
-
.map((result) => result.status === "rejected" ? result.reason : undefined)
|
|
818
|
-
.filter(Boolean);
|
|
819
|
-
if (failed.length > 0) {
|
|
820
|
-
this.logger.error(`failed to queue some evaluate events.`, {
|
|
821
|
-
errors: failed,
|
|
822
|
-
});
|
|
823
|
-
}
|
|
824
|
-
});
|
|
825
|
-
}
|
|
826
819
|
let evaluatedFlags = evaluated.reduce((acc, res) => {
|
|
827
820
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
828
821
|
acc[res.flagKey] = {
|
|
@@ -841,7 +834,6 @@ class ReflagClient {
|
|
|
841
834
|
};
|
|
842
835
|
return acc;
|
|
843
836
|
}, {});
|
|
844
|
-
// apply flag overrides
|
|
845
837
|
const overrides = Object.entries(this._config.flagOverrides(context))
|
|
846
838
|
.filter(([flagKey]) => (key ? key === flagKey : true))
|
|
847
839
|
.map(([flagKey, override]) => [
|
|
@@ -863,12 +855,9 @@ class ReflagClient {
|
|
|
863
855
|
evaluatedFlags = Object.assign(Object.assign({}, evaluatedFlags), Object.fromEntries(overrides));
|
|
864
856
|
}
|
|
865
857
|
if (key) {
|
|
866
|
-
return
|
|
858
|
+
return evaluatedFlags[key];
|
|
867
859
|
}
|
|
868
|
-
return
|
|
869
|
-
k,
|
|
870
|
-
this._wrapRawFlag(options, v),
|
|
871
|
-
]));
|
|
860
|
+
return evaluatedFlags;
|
|
872
861
|
}
|
|
873
862
|
_wrapRawFlag(_a, _b) {
|
|
874
863
|
var { enableTracking, enableChecks = false } = _a, context = __rest(_a, ["enableTracking", "enableChecks"]);
|
|
@@ -1026,6 +1015,15 @@ class BoundReflagClient {
|
|
|
1026
1015
|
getFlags() {
|
|
1027
1016
|
return this._client.getFlags(this._options);
|
|
1028
1017
|
}
|
|
1018
|
+
/**
|
|
1019
|
+
* Get raw flags for the user/company/other context bound to this client without wrapping them in getters.
|
|
1020
|
+
* This method returns raw flag data suitable for bootstrapping client-side applications.
|
|
1021
|
+
*
|
|
1022
|
+
* @returns Raw flags for the given user/company and whether each one is enabled or not
|
|
1023
|
+
*/
|
|
1024
|
+
getFlagsForBootstrap() {
|
|
1025
|
+
return this._client.getFlagsForBootstrap(Object.assign({}, this._options));
|
|
1026
|
+
}
|
|
1029
1027
|
/**
|
|
1030
1028
|
* Get a specific flag for the user/company/other context bound to this client.
|
|
1031
1029
|
* Using the `isEnabled` property sends a `check` event to Reflag.
|
|
@@ -1123,7 +1121,7 @@ function checkMeta(meta) {
|
|
|
1123
1121
|
(0, utils_1.ok)(typeof meta === "undefined" || (0, utils_1.isObject)(meta), "meta must be an object if given");
|
|
1124
1122
|
(0, utils_1.ok)((meta === null || meta === void 0 ? void 0 : meta.active) === undefined || typeof (meta === null || meta === void 0 ? void 0 : meta.active) === "boolean", "meta.active must be a boolean if given");
|
|
1125
1123
|
}
|
|
1126
|
-
function
|
|
1124
|
+
function checkContext(context) {
|
|
1127
1125
|
var _a, _b;
|
|
1128
1126
|
(0, utils_1.ok)((0, utils_1.isObject)(context), "context must be an object");
|
|
1129
1127
|
(0, utils_1.ok)(typeof context.user === "undefined" || (0, utils_1.isObject)(context.user), "user must be an object if given");
|
|
@@ -1135,6 +1133,9 @@ function checkContextWithTracking(context) {
|
|
|
1135
1133
|
(0, utils_1.idOk)(context.company.id, "company.id");
|
|
1136
1134
|
}
|
|
1137
1135
|
(0, utils_1.ok)(context.other === undefined || (0, utils_1.isObject)(context.other), "other must be an object if given");
|
|
1136
|
+
}
|
|
1137
|
+
function checkContextWithTracking(context) {
|
|
1138
|
+
checkContext(context);
|
|
1138
1139
|
(0, utils_1.ok)(typeof context.enableTracking === "boolean", "enableTracking must be a boolean");
|
|
1139
1140
|
checkMeta(context.meta);
|
|
1140
1141
|
}
|
package/dist/src/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,10 @@ const fetchClient = {
|
|
|
42
42
|
method: "get",
|
|
43
43
|
headers,
|
|
44
44
|
signal: AbortSignal.timeout(timeoutMs),
|
|
45
|
+
// We must use no-cache to avoid services such as Next.js from caching the response indefinitely.
|
|
46
|
+
// We also can't use no-store because of Next.js error withRetry https://github.com/vercel/next.js/discussions/54036.
|
|
47
|
+
// We also have local caching in the SDKs, so we don't need to cache the response.
|
|
48
|
+
cache: "no-cache",
|
|
45
49
|
});
|
|
46
50
|
const json = yield response.json();
|
|
47
51
|
return {
|
|
@@ -72,7 +76,7 @@ function withRetry(fn, onFailedTry, maxRetries, baseDelay, maxDelay) {
|
|
|
72
76
|
if (attempt === maxRetries) {
|
|
73
77
|
break;
|
|
74
78
|
}
|
|
75
|
-
onFailedTry();
|
|
79
|
+
onFailedTry(error);
|
|
76
80
|
// Calculate exponential backoff with jitter
|
|
77
81
|
const delay = Math.min(maxDelay, baseDelay * Math.pow(2, attempt) * (0.8 + Math.random() * 0.4));
|
|
78
82
|
yield new Promise((resolve) => setTimeout(resolve, delay));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-http-client.js","sourceRoot":"","sources":["../../src/fetch-http-client.ts"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"fetch-http-client.js","sourceRoot":"","sources":["../../src/fetch-http-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,6 +47,11 @@ function inRequestCache(ttl, logger, fn) {
|
|
|
47
47
|
if (fetching)
|
|
48
48
|
yield fetching;
|
|
49
49
|
});
|
|
50
|
+
const destroy = () => {
|
|
51
|
+
fetching = null;
|
|
52
|
+
value = undefined;
|
|
53
|
+
lastFetch = 0;
|
|
54
|
+
};
|
|
50
55
|
return {
|
|
51
56
|
get() {
|
|
52
57
|
const now = Date.now();
|
|
@@ -67,6 +72,7 @@ function inRequestCache(ttl, logger, fn) {
|
|
|
67
72
|
});
|
|
68
73
|
},
|
|
69
74
|
waitRefresh,
|
|
75
|
+
destroy,
|
|
70
76
|
};
|
|
71
77
|
}
|
|
72
78
|
//# sourceMappingURL=inRequestCache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inRequestCache.js","sourceRoot":"","sources":["../../src/inRequestCache.ts"],"names":[],"mappings":";AAAA,yEAAyE;AACzE,oGAAoG;;;;;;;;;;;AAIpG,
|
|
1
|
+
{"version":3,"file":"inRequestCache.js","sourceRoot":"","sources":["../../src/inRequestCache.ts"],"names":[],"mappings":";AAAA,yEAAyE;AACzE,oGAAoG;;;;;;;;;;;AAIpG,iCAiEC;AAjED,SAAwB,cAAc,CACpC,GAAW,EACX,MAA0B,EAC1B,EAAgC;IAEhC,IAAI,KAAK,GAAkB,SAAS,CAAC;IACrC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,QAAQ,GAAyB,IAAI,CAAC;IAE1C,SAAe,OAAO;;YACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,CAAC,GAAS,EAAE;;oBACrB,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;wBAC1B,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC;wBACvD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;4BACzB,KAAK,GAAG,MAAM,CAAC;wBACjB,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,MAAM,EAAE,CAAC;4BACX,MAAA,MAAM,CAAC,KAAK,uDAAG,wCAAwC,EAAE,GAAG,CAAC,CAAC;wBAChE,CAAC;oBACH,CAAC;4BAAS,CAAC;wBACT,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACvB,QAAQ,GAAG,IAAI,CAAC;oBAClB,CAAC;gBACH,CAAC,CAAA,CAAC,EAAE,CAAC;YACP,CAAC;YACD,MAAM,QAAQ,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;KAAA;IAED,MAAM,WAAW,GAAG,GAAS,EAAE;QAC7B,IAAI,QAAQ;YAAE,MAAM,QAAQ,CAAC;IAC/B,CAAC,CAAA,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,QAAQ,GAAG,IAAI,CAAC;QAChB,KAAK,GAAG,SAAS,CAAC;QAClB,SAAS,GAAG,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO;QACL,GAAG;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,+CAA+C;YAC/C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,gDAAgD;YAChD,IAAI,GAAG,GAAG,SAAS,GAAG,GAAG,EAAE,CAAC;gBAC1B,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CACX,4DAA4D,CAC7D,CAAC;gBACF,KAAK,OAAO,EAAE,CAAC;YACjB,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QACK,OAAO;;gBACX,OAAO,MAAM,OAAO,EAAE,CAAC;YACzB,CAAC;SAAA;QACD,WAAW;QACX,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -69,10 +69,18 @@ function periodicallyUpdatingCache(ttl, staleTtl, logger, fn) {
|
|
|
69
69
|
const waitRefresh = () => __awaiter(this, void 0, void 0, function* () {
|
|
70
70
|
// no-op
|
|
71
71
|
});
|
|
72
|
+
const destroy = () => {
|
|
73
|
+
if (timeoutId) {
|
|
74
|
+
clearTimeout(timeoutId);
|
|
75
|
+
timeoutId = undefined;
|
|
76
|
+
}
|
|
77
|
+
refreshPromise = undefined;
|
|
78
|
+
};
|
|
72
79
|
return {
|
|
73
80
|
get,
|
|
74
81
|
refresh,
|
|
75
82
|
waitRefresh,
|
|
83
|
+
destroy,
|
|
76
84
|
};
|
|
77
85
|
}
|
|
78
86
|
//# sourceMappingURL=periodicallyUpdatingCache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"periodicallyUpdatingCache.js","sourceRoot":"","sources":["../../src/periodicallyUpdatingCache.ts"],"names":[],"mappings":";;;;;;;;;;;AAeA,
|
|
1
|
+
{"version":3,"file":"periodicallyUpdatingCache.js","sourceRoot":"","sources":["../../src/periodicallyUpdatingCache.ts"],"names":[],"mappings":";;;;;;;;;;;AAeA,4CAyEC;AAtFD;;;;;;;;;;;;IAYI;AACJ,SAAwB,yBAAyB,CAC/C,GAAW,EACX,QAAgB,EAChB,MAA0B,EAC1B,EAAgC;IAEhC,IAAI,WAA0B,CAAC;IAC/B,IAAI,UAA8B,CAAC;IACnC,IAAI,SAAqC,CAAC;IAC1C,IAAI,cAAyC,CAAC;IAE9C,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,IAAI,SAAS,EAAE,CAAC;YACd,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,EAAE,EAAE,CAAC;YAC5B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YACD,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAE3C,WAAW,GAAG,QAAQ,CAAC;YAEvB,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAExB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;gBAAS,CAAC;YACT,cAAc,GAAG,SAAS,CAAC;YAC3B,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC,CAAA,CAAC;IAEF,MAAM,GAAG,GAAG,GAAG,EAAE;QACf,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAW,CAAC;YACrC,IAAI,GAAG,GAAG,QAAQ,EAAE,CAAC;gBACnB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,uBAAuB,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,cAAc,GAAG,MAAM,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,cAAc,CAAC;QACrB,OAAO,GAAG,EAAE,CAAC;IACf,CAAC,CAAA,CAAC;IAEF,MAAM,WAAW,GAAG,GAAS,EAAE;QAC7B,QAAQ;IACV,CAAC,CAAA,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,IAAI,SAAS,EAAE,CAAC;YACd,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC;QACD,cAAc,GAAG,SAAS,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO;QACL,GAAG;QACH,OAAO;QACP,WAAW;QACX,OAAO;KACR,CAAC;AACJ,CAAC"}
|
package/dist/src/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA,4DAA4D;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA,4DAA4D;;;AA4wB/C,QAAA,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC"}
|
|
@@ -23,5 +23,9 @@ export default class BatchBuffer<T> {
|
|
|
23
23
|
*/
|
|
24
24
|
add(item: T): Promise<void>;
|
|
25
25
|
flush(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Destroys the buffer, clearing any pending timer and discarding buffered items.
|
|
28
|
+
*/
|
|
29
|
+
destroy(): void;
|
|
26
30
|
}
|
|
27
31
|
//# sourceMappingURL=batch-buffer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-buffer.d.ts","sourceRoot":"","sources":["../../../src/batch-buffer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAU,MAAM,SAAS,CAAC;AAGrD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW,CAAC,CAAC;IAChC,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAA+B;IAE5C;;;;OAIG;gBACS,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAwB1C;;;;OAIG;IACU,GAAG,CAAC,IAAI,EAAE,CAAC;IAUX,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"batch-buffer.d.ts","sourceRoot":"","sources":["../../../src/batch-buffer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAU,MAAM,SAAS,CAAC;AAGrD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW,CAAC,CAAC;IAChC,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAA+B;IAE5C;;;;OAIG;gBACS,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAwB1C;;;;OAIG;IACU,GAAG,CAAC,IAAI,EAAE,CAAC;IAUX,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BnC;;OAEG;IACI,OAAO,IAAI,IAAI;CAOvB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FlagDefinition, FlagOverrides, FlagOverridesFn, IdType, TypedFlagKey } from "./types";
|
|
1
|
+
import type { BootstrappedFlags, FlagDefinition, FlagOverrides, FlagOverridesFn, IdType, TypedFlagKey } from "./types";
|
|
2
2
|
import { ClientOptions, Context, ContextWithTracking, HttpClient, Logger, TrackOptions, TypedFlags } from "./types";
|
|
3
3
|
/**
|
|
4
4
|
* The SDK client.
|
|
@@ -166,6 +166,15 @@ export declare class ReflagClient {
|
|
|
166
166
|
* This method is automatically called when the process exits if `batchOptions.flushOnExit` is `true` in the options (default).
|
|
167
167
|
*/
|
|
168
168
|
flush(): Promise<void>;
|
|
169
|
+
/**
|
|
170
|
+
* Destroys the client and cleans up all resources including timers and background processes.
|
|
171
|
+
*
|
|
172
|
+
* @remarks
|
|
173
|
+
* After calling this method, the client should not be used anymore.
|
|
174
|
+
* This is particularly useful in development environments with hot reloading to prevent
|
|
175
|
+
* multiple background processes from running simultaneously.
|
|
176
|
+
*/
|
|
177
|
+
destroy(): void;
|
|
169
178
|
/**
|
|
170
179
|
* Gets the flag definitions, including all config values.
|
|
171
180
|
* To evaluate which flags are enabled for a given user/company, use `getFlags`.
|
|
@@ -200,6 +209,24 @@ export declare class ReflagClient {
|
|
|
200
209
|
* Call `initialize` before calling this method to ensure the flag definitions are cached, no flags will be returned otherwise.
|
|
201
210
|
**/
|
|
202
211
|
getFlag<TKey extends TypedFlagKey>({ enableTracking, ...context }: ContextWithTracking, key: TKey): TypedFlags[TKey];
|
|
212
|
+
/**
|
|
213
|
+
* Gets the evaluated flags for the current context without wrapping them in getters.
|
|
214
|
+
* This method returns raw flag data suitable for bootstrapping client-side applications.
|
|
215
|
+
*
|
|
216
|
+
* @param options - The options for the context.
|
|
217
|
+
* @param options.enableTracking - Whether to enable tracking for the context.
|
|
218
|
+
* @param options.meta - The meta context associated with the context.
|
|
219
|
+
* @param options.user - The user context.
|
|
220
|
+
* @param options.company - The company context.
|
|
221
|
+
* @param options.other - The other context.
|
|
222
|
+
*
|
|
223
|
+
* @returns The evaluated raw flags and the context.
|
|
224
|
+
*
|
|
225
|
+
* @remarks
|
|
226
|
+
* Call `initialize` before calling this method to ensure the flag definitions are cached, no flags will be returned otherwise.
|
|
227
|
+
* This method returns RawFlag objects without wrapping them in getters, making them suitable for serialization.
|
|
228
|
+
**/
|
|
229
|
+
getFlagsForBootstrap({ enableTracking, ...context }: ContextWithTracking): BootstrappedFlags;
|
|
203
230
|
/**
|
|
204
231
|
* Gets evaluated flags with the usage of remote context.
|
|
205
232
|
* This method triggers a network request every time it's called.
|
|
@@ -351,6 +378,13 @@ export declare class BoundReflagClient {
|
|
|
351
378
|
* @returns Flags for the given user/company and whether each one is enabled or not
|
|
352
379
|
*/
|
|
353
380
|
getFlags(): TypedFlags;
|
|
381
|
+
/**
|
|
382
|
+
* Get raw flags for the user/company/other context bound to this client without wrapping them in getters.
|
|
383
|
+
* This method returns raw flag data suitable for bootstrapping client-side applications.
|
|
384
|
+
*
|
|
385
|
+
* @returns Raw flags for the given user/company and whether each one is enabled or not
|
|
386
|
+
*/
|
|
387
|
+
getFlagsForBootstrap(): BootstrappedFlags;
|
|
354
388
|
/**
|
|
355
389
|
* Get a specific flag for the user/company/other context bound to this client.
|
|
356
390
|
* Using the `isEnabled` property sends a `check` event to Reflag.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/client.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,6 @@ declare const fetchClient: HttpClient;
|
|
|
15
15
|
* @param maxDelay - Maximum delay in milliseconds.
|
|
16
16
|
* @returns The result of the function call or throws an error if all retries fail.
|
|
17
17
|
*/
|
|
18
|
-
export declare function withRetry<T>(fn: () => Promise<T>, onFailedTry: () => void, maxRetries: number, baseDelay: number, maxDelay: number): Promise<T>;
|
|
18
|
+
export declare function withRetry<T>(fn: () => Promise<T>, onFailedTry: (error: unknown) => void, maxRetries: number, baseDelay: number, maxDelay: number): Promise<T>;
|
|
19
19
|
export default fetchClient;
|
|
20
20
|
//# sourceMappingURL=fetch-http-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-http-client.d.ts","sourceRoot":"","sources":["../../../src/fetch-http-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC;;;;;IAKI;AACJ,QAAA,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"fetch-http-client.d.ts","sourceRoot":"","sources":["../../../src/fetch-http-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC;;;;;IAKI;AACJ,QAAA,MAAM,WAAW,EAAE,UAkDlB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,EACrC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC,CA0BZ;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inRequestCache.d.ts","sourceRoot":"","sources":["../../../src/inRequestCache.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EACtC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"inRequestCache.d.ts","sourceRoot":"","sources":["../../../src/inRequestCache.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EACtC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;WAwCvB,CAAC,GAAG,SAAS;eAgBH,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;;;EAM1C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { BoundReflagClient, ReflagClient } from "./client";
|
|
2
2
|
export { EdgeClient, EdgeClientOptions } from "./edgeClient";
|
|
3
|
-
export type { Attributes, BatchBufferOptions, CacheStrategy, ClientOptions, Context, ContextWithTracking, EmptyFlagRemoteConfig, Flag, FlagConfigVariant, FlagDefinition, FlagOverride, FlagOverrides, FlagOverridesFn, FlagRemoteConfig, Flags, FlagType, HttpClient, HttpClientResponse, IdType, LOG_LEVELS, Logger, LogLevel, RawFlag, RawFlagRemoteConfig, TrackingMeta, TrackOptions, TypedFlagKey, TypedFlags, } from "./types";
|
|
3
|
+
export type { Attributes, BatchBufferOptions, BootstrappedFlags, CacheStrategy, ClientOptions, Context, ContextWithTracking, EmptyFlagRemoteConfig, Flag, FlagConfigVariant, FlagDefinition, FlagOverride, FlagOverrides, FlagOverridesFn, FlagRemoteConfig, Flags, FlagType, HttpClient, HttpClientResponse, IdType, LOG_LEVELS, Logger, LogLevel, RawFlag, RawFlagRemoteConfig, RawFlags, TrackingMeta, TrackOptions, TypedFlagKey, TypedFlags, } from "./types";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC7D,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,OAAO,EACP,mBAAmB,EACnB,qBAAqB,EACrB,IAAI,EACJ,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,KAAK,EACL,QAAQ,EACR,UAAU,EACV,kBAAkB,EAClB,MAAM,EACN,UAAU,EACV,MAAM,EACN,QAAQ,EACR,OAAO,EACP,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,GACX,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC7D,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,OAAO,EACP,mBAAmB,EACnB,qBAAqB,EACrB,IAAI,EACJ,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,KAAK,EACL,QAAQ,EACR,UAAU,EACV,kBAAkB,EAClB,MAAM,EACN,UAAU,EACV,MAAM,EACN,QAAQ,EACR,OAAO,EACP,mBAAmB,EACnB,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,GACX,MAAM,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"periodicallyUpdatingCache.d.ts","sourceRoot":"","sources":["../../../src/periodicallyUpdatingCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAExC;;;;;;;;;;;;IAYI;AACJ,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,CAAC,EACjD,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAC/B,KAAK,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"periodicallyUpdatingCache.d.ts","sourceRoot":"","sources":["../../../src/periodicallyUpdatingCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAExC;;;;;;;;;;;;IAYI;AACJ,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,CAAC,EACjD,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAC/B,KAAK,CAAC,CAAC,CAAC,CAoEV"}
|
|
@@ -13,15 +13,15 @@ export type TrackingMeta = {
|
|
|
13
13
|
**/
|
|
14
14
|
export type Attributes = Record<string, any>;
|
|
15
15
|
/**
|
|
16
|
-
* Describes a
|
|
16
|
+
* Describes a flag event. Can be "check" or "check-config event".
|
|
17
17
|
**/
|
|
18
18
|
export type FlagEvent = {
|
|
19
19
|
/**
|
|
20
20
|
* The action that was performed.
|
|
21
21
|
**/
|
|
22
|
-
action: "
|
|
22
|
+
action: "check" | "check-config";
|
|
23
23
|
/**
|
|
24
|
-
* The
|
|
24
|
+
* The flag key.
|
|
25
25
|
**/
|
|
26
26
|
key: string;
|
|
27
27
|
/**
|
|
@@ -105,6 +105,17 @@ export interface RawFlag {
|
|
|
105
105
|
*/
|
|
106
106
|
missingContextFields?: string[];
|
|
107
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Describes a collection of evaluated raw flags.
|
|
110
|
+
*/
|
|
111
|
+
export type RawFlags = Record<TypedFlagKey, RawFlag>;
|
|
112
|
+
/**
|
|
113
|
+
* Describes a collection of evaluated raw flags and the context for bootstrapping.
|
|
114
|
+
*/
|
|
115
|
+
export type BootstrappedFlags = {
|
|
116
|
+
context: Context;
|
|
117
|
+
flags: RawFlags;
|
|
118
|
+
};
|
|
108
119
|
export type EmptyFlagRemoteConfig = {
|
|
109
120
|
key: undefined;
|
|
110
121
|
payload: undefined;
|
|
@@ -325,7 +336,7 @@ export type EvaluatedFlagsAPIResponse = {
|
|
|
325
336
|
/**
|
|
326
337
|
* The feature definitions.
|
|
327
338
|
*/
|
|
328
|
-
features:
|
|
339
|
+
features: RawFlags;
|
|
329
340
|
};
|
|
330
341
|
/**
|
|
331
342
|
* Describes the response of a HTTP client.
|
|
@@ -428,6 +439,10 @@ export type Cache<T> = {
|
|
|
428
439
|
* @returns A promise that resolves when the refresh is complete.
|
|
429
440
|
**/
|
|
430
441
|
waitRefresh: () => Promise<void> | undefined;
|
|
442
|
+
/**
|
|
443
|
+
* Cleanup and destroy the cache, stopping any background processes.
|
|
444
|
+
**/
|
|
445
|
+
destroy: () => void;
|
|
431
446
|
};
|
|
432
447
|
/**
|
|
433
448
|
* Options for configuring the BatchBuffer.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;IAEI;AACJ,MAAM,MAAM,YAAY,GAAG;IACzB;;QAEI;IACJ,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;IAEI;AACJ,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE7C;;IAEI;AACJ,MAAM,MAAM,SAAS,GAAG;IACtB;;QAEI;IACJ,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reflag/node-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -10,14 +10,15 @@
|
|
|
10
10
|
"dev": "vite",
|
|
11
11
|
"start": "vite",
|
|
12
12
|
"build": "tsc --project tsconfig.build.json",
|
|
13
|
-
"test": "vitest
|
|
14
|
-
"test:
|
|
15
|
-
"
|
|
13
|
+
"test": "vitest run",
|
|
14
|
+
"test:watch": "vitest",
|
|
15
|
+
"test:ci": "yarn test --reporter=default --reporter=junit --outputFile=junit.xml",
|
|
16
|
+
"coverage": "yarn test --coverage",
|
|
16
17
|
"lint": "eslint .",
|
|
17
18
|
"lint:ci": "eslint --output-file eslint-report.json --format json .",
|
|
18
19
|
"prettier": "prettier --check .",
|
|
19
20
|
"format": "yarn lint --fix && yarn prettier --write",
|
|
20
|
-
"preversion": "yarn lint && yarn prettier && yarn
|
|
21
|
+
"preversion": "yarn lint && yarn prettier && yarn test && yarn build"
|
|
21
22
|
},
|
|
22
23
|
"files": [
|
|
23
24
|
"dist"
|
|
@@ -46,5 +47,5 @@
|
|
|
46
47
|
"dependencies": {
|
|
47
48
|
"@reflag/flag-evaluation": "1.0.0"
|
|
48
49
|
},
|
|
49
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "445631de206a512db2793547ac451b75e3a9ee6a"
|
|
50
51
|
}
|
package/dist/src/cache.js
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.default = cache;
|
|
13
|
-
/**
|
|
14
|
-
* Create a cached function that updates the value asynchronously.
|
|
15
|
-
*
|
|
16
|
-
* The value is updated every `ttl` milliseconds.
|
|
17
|
-
* If the value is older than `staleTtl` milliseconds, a warning is logged.
|
|
18
|
-
*
|
|
19
|
-
* @typeParam T - The type of the value.
|
|
20
|
-
* @param ttl - The time-to-live in milliseconds.
|
|
21
|
-
* @param staleTtl - The time-to-live after which a warning is logged.
|
|
22
|
-
* @param logger - The logger to use.
|
|
23
|
-
* @param fn - The function to call to get the value.
|
|
24
|
-
* @returns The cache object.
|
|
25
|
-
**/
|
|
26
|
-
function cache(ttl, staleTtl, logger, fn) {
|
|
27
|
-
let cachedValue;
|
|
28
|
-
let lastUpdate;
|
|
29
|
-
let timeoutId;
|
|
30
|
-
let refreshPromise;
|
|
31
|
-
const update = () => __awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
if (timeoutId) {
|
|
33
|
-
clearTimeout(timeoutId);
|
|
34
|
-
}
|
|
35
|
-
try {
|
|
36
|
-
const newValue = yield fn();
|
|
37
|
-
if (newValue === undefined) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
cachedValue = newValue;
|
|
41
|
-
lastUpdate = Date.now();
|
|
42
|
-
logger === null || logger === void 0 ? void 0 : logger.debug("updated cached value", cachedValue);
|
|
43
|
-
}
|
|
44
|
-
catch (e) {
|
|
45
|
-
logger === null || logger === void 0 ? void 0 : logger.error("failed to update cached value", e);
|
|
46
|
-
}
|
|
47
|
-
finally {
|
|
48
|
-
refreshPromise = undefined;
|
|
49
|
-
timeoutId = setTimeout(update, ttl).unref();
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
const get = () => {
|
|
53
|
-
if (lastUpdate !== undefined) {
|
|
54
|
-
const age = Date.now() - lastUpdate;
|
|
55
|
-
if (age > staleTtl) {
|
|
56
|
-
logger === null || logger === void 0 ? void 0 : logger.warn("cached value is stale", { age, cachedValue });
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return cachedValue;
|
|
60
|
-
};
|
|
61
|
-
const refresh = () => __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
if (!refreshPromise) {
|
|
63
|
-
refreshPromise = update();
|
|
64
|
-
}
|
|
65
|
-
yield refreshPromise;
|
|
66
|
-
logger === null || logger === void 0 ? void 0 : logger.info("refreshed cached features");
|
|
67
|
-
return get();
|
|
68
|
-
});
|
|
69
|
-
return { get, refresh };
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=cache.js.map
|
package/dist/src/cache.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/cache.ts"],"names":[],"mappings":";;;;;;;;;;;AAeA,wBAuDC;AApED;;;;;;;;;;;;IAYI;AACJ,SAAwB,KAAK,CAC3B,GAAW,EACX,QAAgB,EAChB,MAA0B,EAC1B,EAAgC;IAEhC,IAAI,WAA0B,CAAC;IAC/B,IAAI,UAA8B,CAAC;IACnC,IAAI,SAAqC,CAAC;IAC1C,IAAI,cAAyC,CAAC;IAE9C,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,IAAI,SAAS,EAAE,CAAC;YACd,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,EAAE,EAAE,CAAC;YAC5B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YACD,WAAW,GAAG,QAAQ,CAAC;YAEvB,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAExB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;gBAAS,CAAC;YACT,cAAc,GAAG,SAAS,CAAC;YAC3B,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC,CAAA,CAAC;IAEF,MAAM,GAAG,GAAG,GAAG,EAAE;QACf,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAW,CAAC;YACrC,IAAI,GAAG,GAAG,QAAQ,EAAE,CAAC;gBACnB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,uBAAuB,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,cAAc,GAAG,MAAM,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,cAAc,CAAC;QACrB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC1C,OAAO,GAAG,EAAE,CAAC;IACf,CAAC,CAAA,CAAC;IAEF,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AAC1B,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Cache, Logger } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* Create a cached function that updates the value asynchronously.
|
|
4
|
-
*
|
|
5
|
-
* The value is updated every `ttl` milliseconds.
|
|
6
|
-
* If the value is older than `staleTtl` milliseconds, a warning is logged.
|
|
7
|
-
*
|
|
8
|
-
* @typeParam T - The type of the value.
|
|
9
|
-
* @param ttl - The time-to-live in milliseconds.
|
|
10
|
-
* @param staleTtl - The time-to-live after which a warning is logged.
|
|
11
|
-
* @param logger - The logger to use.
|
|
12
|
-
* @param fn - The function to call to get the value.
|
|
13
|
-
* @returns The cache object.
|
|
14
|
-
**/
|
|
15
|
-
export default function cache<T>(ttl: number, staleTtl: number, logger: Logger | undefined, fn: () => Promise<T | undefined>): Cache<T>;
|
|
16
|
-
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAExC;;;;;;;;;;;;IAYI;AACJ,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,CAAC,EAC7B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAC/B,KAAK,CAAC,CAAC,CAAC,CAkDV"}
|