@reflag/node-sdk 1.3.0 → 1.4.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.
@@ -0,0 +1,307 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.isFlagsFallbackSnapshot = isFlagsFallbackSnapshot;
49
+ exports.createStaticFallbackProvider = createStaticFallbackProvider;
50
+ exports.createFileFallbackProvider = createFileFallbackProvider;
51
+ exports.createS3FallbackProvider = createS3FallbackProvider;
52
+ exports.createGCSFallbackProvider = createGCSFallbackProvider;
53
+ exports.createRedisFallbackProvider = createRedisFallbackProvider;
54
+ const fs_1 = require("fs");
55
+ const path_1 = __importDefault(require("path"));
56
+ const utils_1 = require("./utils");
57
+ function defaultSnapshotName(secretKeyHash) {
58
+ return `flags-fallback-${secretKeyHash.slice(0, 16)}.json`;
59
+ }
60
+ function snapshotFilePath(context, directory = path_1.default.join(process.cwd(), ".reflag")) {
61
+ return path_1.default.join(directory, defaultSnapshotName(context.secretKeyHash));
62
+ }
63
+ function trimTrailingCharacter(value, character) {
64
+ let endIndex = value.length;
65
+ while (endIndex > 0 && value[endIndex - 1] === character) {
66
+ endIndex -= 1;
67
+ }
68
+ return value.slice(0, endIndex);
69
+ }
70
+ function snapshotObjectKey(context, keyPrefix = "reflag/flags-fallback") {
71
+ return `${trimTrailingCharacter(keyPrefix, "/")}/${defaultSnapshotName(context.secretKeyHash)}`;
72
+ }
73
+ function snapshotRedisKey(context, keyPrefix = "reflag:flags-fallback") {
74
+ return `${trimTrailingCharacter(keyPrefix, ":")}:${context.secretKeyHash.slice(0, 16)}`;
75
+ }
76
+ function isFlagsFallbackSnapshot(value) {
77
+ return ((0, utils_1.isObject)(value) &&
78
+ value.version === 1 &&
79
+ typeof value.savedAt === "string" &&
80
+ Array.isArray(value.flags) &&
81
+ value.flags.every(isFlagApiResponse));
82
+ }
83
+ function isFlagApiResponse(value) {
84
+ return ((0, utils_1.isObject)(value) &&
85
+ typeof value.key === "string" &&
86
+ typeof value.description !== "undefined" &&
87
+ (0, utils_1.isObject)(value.targeting) &&
88
+ typeof value.targeting.version === "number" &&
89
+ Array.isArray(value.targeting.rules) &&
90
+ (value.config === undefined ||
91
+ ((0, utils_1.isObject)(value.config) &&
92
+ typeof value.config.version === "number" &&
93
+ Array.isArray(value.config.variants))));
94
+ }
95
+ function readBodyAsString(body) {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ if (typeof body === "string")
98
+ return body;
99
+ if (body instanceof Uint8Array)
100
+ return Buffer.from(body).toString("utf-8");
101
+ if (body && typeof body === "object") {
102
+ if ("transformToString" in body &&
103
+ typeof body.transformToString === "function") {
104
+ return yield body.transformToString();
105
+ }
106
+ }
107
+ return undefined;
108
+ });
109
+ }
110
+ function parseSnapshot(raw) {
111
+ const parsed = JSON.parse(raw);
112
+ return isFlagsFallbackSnapshot(parsed) ? parsed : undefined;
113
+ }
114
+ function staticFlagApiResponse(key, isEnabled) {
115
+ return {
116
+ key,
117
+ description: null,
118
+ targeting: {
119
+ version: 1,
120
+ rules: [
121
+ {
122
+ filter: {
123
+ type: "constant",
124
+ value: isEnabled,
125
+ },
126
+ },
127
+ ],
128
+ },
129
+ };
130
+ }
131
+ function createDefaultS3Client() {
132
+ return __awaiter(this, void 0, void 0, function* () {
133
+ const { S3Client } = yield Promise.resolve().then(() => __importStar(require("@aws-sdk/client-s3")));
134
+ return new S3Client({});
135
+ });
136
+ }
137
+ function createDefaultGCSClient() {
138
+ return __awaiter(this, void 0, void 0, function* () {
139
+ const { Storage } = yield Promise.resolve().then(() => __importStar(require("@google-cloud/storage")));
140
+ return new Storage();
141
+ });
142
+ }
143
+ function createStaticFallbackProvider({ flags, }) {
144
+ return {
145
+ load() {
146
+ return __awaiter(this, void 0, void 0, function* () {
147
+ return {
148
+ version: 1,
149
+ savedAt: new Date().toISOString(),
150
+ flags: Object.entries(flags).map(([key, isEnabled]) => staticFlagApiResponse(key, isEnabled)),
151
+ };
152
+ });
153
+ },
154
+ save() {
155
+ return __awaiter(this, void 0, void 0, function* () {
156
+ // no-op
157
+ });
158
+ },
159
+ };
160
+ }
161
+ function createFileFallbackProvider({ directory, } = {}) {
162
+ return {
163
+ load(context) {
164
+ return __awaiter(this, void 0, void 0, function* () {
165
+ const resolvedPath = snapshotFilePath(context, directory);
166
+ try {
167
+ const fileContents = yield fs_1.promises.readFile(resolvedPath, "utf-8");
168
+ return parseSnapshot(fileContents);
169
+ }
170
+ catch (error) {
171
+ if ((error === null || error === void 0 ? void 0 : error.code) === "ENOENT") {
172
+ return undefined;
173
+ }
174
+ throw error;
175
+ }
176
+ });
177
+ },
178
+ save(context, snapshot) {
179
+ return __awaiter(this, void 0, void 0, function* () {
180
+ const resolvedPath = snapshotFilePath(context, directory);
181
+ yield fs_1.promises.mkdir(path_1.default.dirname(resolvedPath), { recursive: true });
182
+ const tempPath = `${resolvedPath}.tmp-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2)}`;
183
+ yield fs_1.promises.writeFile(tempPath, JSON.stringify(snapshot), "utf-8");
184
+ yield fs_1.promises.rename(tempPath, resolvedPath);
185
+ });
186
+ },
187
+ };
188
+ }
189
+ function createS3FallbackProvider({ bucket, client, keyPrefix, }) {
190
+ let defaultClient;
191
+ const getClient = () => __awaiter(this, void 0, void 0, function* () {
192
+ defaultClient !== null && defaultClient !== void 0 ? defaultClient : (defaultClient = client !== null && client !== void 0 ? client : (yield createDefaultS3Client()));
193
+ return defaultClient;
194
+ });
195
+ return {
196
+ load(context) {
197
+ return __awaiter(this, void 0, void 0, function* () {
198
+ var _a;
199
+ const s3 = yield getClient();
200
+ const { GetObjectCommand } = yield Promise.resolve().then(() => __importStar(require("@aws-sdk/client-s3")));
201
+ try {
202
+ const response = yield s3.send(new GetObjectCommand({
203
+ Bucket: bucket,
204
+ Key: snapshotObjectKey(context, keyPrefix),
205
+ }));
206
+ const body = yield readBodyAsString(response.Body);
207
+ if (!body)
208
+ return undefined;
209
+ return parseSnapshot(body);
210
+ }
211
+ catch (error) {
212
+ if ((error === null || error === void 0 ? void 0 : error.name) === "NoSuchKey" ||
213
+ ((_a = error === null || error === void 0 ? void 0 : error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) === 404) {
214
+ return undefined;
215
+ }
216
+ throw error;
217
+ }
218
+ });
219
+ },
220
+ save(context, snapshot) {
221
+ return __awaiter(this, void 0, void 0, function* () {
222
+ const s3 = yield getClient();
223
+ const { PutObjectCommand } = yield Promise.resolve().then(() => __importStar(require("@aws-sdk/client-s3")));
224
+ yield s3.send(new PutObjectCommand({
225
+ Bucket: bucket,
226
+ Key: snapshotObjectKey(context, keyPrefix),
227
+ Body: JSON.stringify(snapshot),
228
+ ContentType: "application/json",
229
+ }));
230
+ });
231
+ },
232
+ };
233
+ }
234
+ function createGCSFallbackProvider({ bucket, client, keyPrefix, }) {
235
+ let defaultClient;
236
+ const getClient = () => __awaiter(this, void 0, void 0, function* () {
237
+ defaultClient !== null && defaultClient !== void 0 ? defaultClient : (defaultClient = client !== null && client !== void 0 ? client : (yield createDefaultGCSClient()));
238
+ return defaultClient;
239
+ });
240
+ return {
241
+ load(context) {
242
+ return __awaiter(this, void 0, void 0, function* () {
243
+ const storage = yield getClient();
244
+ const file = storage
245
+ .bucket(bucket)
246
+ .file(snapshotObjectKey(context, keyPrefix));
247
+ const [exists] = yield file.exists();
248
+ if (!exists) {
249
+ return undefined;
250
+ }
251
+ const [contents] = yield file.download();
252
+ return parseSnapshot(Buffer.from(contents).toString("utf-8"));
253
+ });
254
+ },
255
+ save(context, snapshot) {
256
+ return __awaiter(this, void 0, void 0, function* () {
257
+ const storage = yield getClient();
258
+ yield storage
259
+ .bucket(bucket)
260
+ .file(snapshotObjectKey(context, keyPrefix))
261
+ .save(JSON.stringify(snapshot), {
262
+ contentType: "application/json",
263
+ });
264
+ });
265
+ },
266
+ };
267
+ }
268
+ function createRedisFallbackProvider({ client, keyPrefix, } = {}) {
269
+ let defaultClient;
270
+ let connectPromise;
271
+ const getClient = () => __awaiter(this, void 0, void 0, function* () {
272
+ if (client) {
273
+ return client;
274
+ }
275
+ if (!process.env.REDIS_URL) {
276
+ throw new Error("fallbackProviders.redis() requires REDIS_URL to be set when no client is provided");
277
+ }
278
+ if (!defaultClient) {
279
+ const { createClient } = yield Promise.resolve().then(() => __importStar(require("@redis/client")));
280
+ defaultClient = createClient({ url: process.env.REDIS_URL });
281
+ }
282
+ if (!defaultClient.isOpen) {
283
+ connectPromise !== null && connectPromise !== void 0 ? connectPromise : (connectPromise = defaultClient.connect());
284
+ yield connectPromise;
285
+ }
286
+ return defaultClient;
287
+ });
288
+ return {
289
+ load(context) {
290
+ return __awaiter(this, void 0, void 0, function* () {
291
+ const redis = yield getClient();
292
+ const raw = yield redis.get(snapshotRedisKey(context, keyPrefix));
293
+ if (!raw) {
294
+ return undefined;
295
+ }
296
+ return parseSnapshot(raw);
297
+ });
298
+ },
299
+ save(context, snapshot) {
300
+ return __awaiter(this, void 0, void 0, function* () {
301
+ const redis = yield getClient();
302
+ yield redis.set(snapshotRedisKey(context, keyPrefix), JSON.stringify(snapshot));
303
+ });
304
+ },
305
+ };
306
+ }
307
+ //# sourceMappingURL=flagsFallbackProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flagsFallbackProvider.js","sourceRoot":"","sources":["../../src/flagsFallbackProvider.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -1,9 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EdgeClient = exports.ReflagClient = exports.BoundReflagClient = void 0;
3
+ exports.fallbackProviders = exports.EdgeClient = exports.ReflagClient = exports.BoundReflagClient = void 0;
4
+ const flagsFallbackProvider_1 = require("./flagsFallbackProvider");
4
5
  var client_1 = require("./client");
5
6
  Object.defineProperty(exports, "BoundReflagClient", { enumerable: true, get: function () { return client_1.BoundReflagClient; } });
6
7
  Object.defineProperty(exports, "ReflagClient", { enumerable: true, get: function () { return client_1.ReflagClient; } });
7
8
  var edgeClient_1 = require("./edgeClient");
8
9
  Object.defineProperty(exports, "EdgeClient", { enumerable: true, get: function () { return edgeClient_1.EdgeClient; } });
10
+ exports.fallbackProviders = {
11
+ static: flagsFallbackProvider_1.createStaticFallbackProvider,
12
+ file: flagsFallbackProvider_1.createFileFallbackProvider,
13
+ redis: flagsFallbackProvider_1.createRedisFallbackProvider,
14
+ s3: flagsFallbackProvider_1.createS3FallbackProvider,
15
+ gcs: flagsFallbackProvider_1.createGCSFallbackProvider,
16
+ };
9
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAA2D;AAAlD,2GAAA,iBAAiB,OAAA;AAAE,sGAAA,YAAY,OAAA;AACxC,2CAA6D;AAApD,wGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,mEAMiC;AAEjC,mCAA2D;AAAlD,2GAAA,iBAAiB,OAAA;AAAE,sGAAA,YAAY,OAAA;AACxC,2CAA6D;AAApD,wGAAA,UAAU,OAAA;AASN,QAAA,iBAAiB,GAAG;IAC/B,MAAM,EAAE,oDAA4B;IACpC,IAAI,EAAE,kDAA0B;IAChC,KAAK,EAAE,mDAA2B;IAClC,EAAE,EAAE,gDAAwB;IAC5B,GAAG,EAAE,iDAAyB;CAC/B,CAAC"}
@@ -14,18 +14,15 @@ exports.default = periodicallyUpdatingCache;
14
14
  * Create a cached function that updates the value asynchronously.
15
15
  *
16
16
  * The value is updated every `ttl` milliseconds.
17
- * If the value is older than `staleTtl` milliseconds, a warning is logged.
18
17
  *
19
18
  * @typeParam T - The type of the value.
20
19
  * @param ttl - The time-to-live in milliseconds.
21
- * @param staleTtl - The time-to-live after which a warning is logged.
22
20
  * @param logger - The logger to use.
23
21
  * @param fn - The function to call to get the value.
24
22
  * @returns The cache object.
25
23
  **/
26
- function periodicallyUpdatingCache(ttl, staleTtl, logger, fn) {
24
+ function periodicallyUpdatingCache(ttl, logger, fn) {
27
25
  let cachedValue;
28
- let lastUpdate;
29
26
  let timeoutId;
30
27
  let refreshPromise;
31
28
  const update = () => __awaiter(this, void 0, void 0, function* () {
@@ -39,7 +36,6 @@ function periodicallyUpdatingCache(ttl, staleTtl, logger, fn) {
39
36
  }
40
37
  logger === null || logger === void 0 ? void 0 : logger.info("refreshed flag definitions");
41
38
  cachedValue = newValue;
42
- lastUpdate = Date.now();
43
39
  logger === null || logger === void 0 ? void 0 : logger.debug("updated cached value", cachedValue);
44
40
  }
45
41
  catch (e) {
@@ -51,12 +47,6 @@ function periodicallyUpdatingCache(ttl, staleTtl, logger, fn) {
51
47
  }
52
48
  });
53
49
  const get = () => {
54
- if (lastUpdate !== undefined) {
55
- const age = Date.now() - lastUpdate;
56
- if (age > staleTtl) {
57
- logger === null || logger === void 0 ? void 0 : logger.warn("cached value is stale", { age, cachedValue });
58
- }
59
- }
60
50
  return cachedValue;
61
51
  };
62
52
  const refresh = () => __awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"periodicallyUpdatingCache.js","sourceRoot":"","sources":["../../src/periodicallyUpdatingCache.ts"],"names":[],"mappings":";;;;;;;;;;;AAaA,4CA8DC;AAzED;;;;;;;;;;IAUI;AACJ,SAAwB,yBAAyB,CAC/C,GAAW,EACX,MAA0B,EAC1B,EAAgC;IAEhC,IAAI,WAA0B,CAAC;IAC/B,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,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,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA,4DAA4D;;;AAwwB/C,QAAA,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA,4DAA4D;;;AAo0B/C,QAAA,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC"}
package/dist/src/utils.js CHANGED
@@ -9,6 +9,7 @@ exports.applyLogLevel = applyLogLevel;
9
9
  exports.decorateLogger = decorateLogger;
10
10
  exports.mergeSkipUndefined = mergeSkipUndefined;
11
11
  exports.hashObject = hashObject;
12
+ exports.hashString = hashString;
12
13
  exports.once = once;
13
14
  exports.withTimeout = withTimeout;
14
15
  const crypto_1 = require("crypto");
@@ -157,6 +158,16 @@ function hashObject(obj) {
157
158
  updateSha1Hash(hash, obj);
158
159
  return hash.digest("base64");
159
160
  }
161
+ /**
162
+ * Hash a string using SHA256 and return a hex digest.
163
+ *
164
+ * @param value - The string to hash.
165
+ * @returns The SHA256 hash.
166
+ */
167
+ function hashString(value) {
168
+ ok(typeof value === "string", "value must be a string");
169
+ return (0, crypto_1.createHash)("sha256").update(value).digest("hex");
170
+ }
160
171
  function once(fn) {
161
172
  let called = false;
162
173
  let returned;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ export declare class ReflagClient {
33
33
  */
34
34
  readonly logger: Logger;
35
35
  private initializationFinished;
36
+ private canLoadFlagsFallbackProvider;
36
37
  private _initialize;
37
38
  /**
38
39
  * Creates a new SDK client.
@@ -56,6 +57,8 @@ export declare class ReflagClient {
56
57
  * @throws An error if the options are invalid.
57
58
  **/
58
59
  constructor(options?: ClientOptions);
60
+ private loadFlagsFallbackDefinitions;
61
+ private saveFlagsFallbackDefinitions;
59
62
  /**
60
63
  * Replaces the base flag overrides used by the client.
61
64
  *
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import type { FlagsFallbackProvider, FlagsFallbackSnapshot } from "./types";
2
+ export type FileFallbackProviderOptions = {
3
+ /**
4
+ * Directory where per-environment snapshots are stored.
5
+ *
6
+ * @defaultValue `path.join(process.cwd(), ".reflag")`
7
+ */
8
+ directory?: string;
9
+ };
10
+ export type S3FallbackProviderOptions = {
11
+ /**
12
+ * Bucket where snapshots are stored.
13
+ */
14
+ bucket: string;
15
+ /**
16
+ * Optional S3 client. A default client is created when omitted.
17
+ */
18
+ client?: {
19
+ send(command: unknown): Promise<any>;
20
+ };
21
+ /**
22
+ * Prefix for generated per-environment keys.
23
+ *
24
+ * @defaultValue `reflag/flags-fallback`
25
+ */
26
+ keyPrefix?: string;
27
+ };
28
+ export type GCSFallbackProviderOptions = {
29
+ /**
30
+ * Bucket where snapshots are stored.
31
+ */
32
+ bucket: string;
33
+ /**
34
+ * Optional GCS client. A default client is created when omitted.
35
+ */
36
+ client?: {
37
+ bucket(name: string): {
38
+ file(path: string): {
39
+ exists(): Promise<[boolean]>;
40
+ download(): Promise<[Uint8Array]>;
41
+ save(body: string, options: {
42
+ contentType: string;
43
+ }): Promise<unknown>;
44
+ };
45
+ };
46
+ };
47
+ /**
48
+ * Prefix for generated per-environment keys.
49
+ *
50
+ * @defaultValue `reflag/flags-fallback`
51
+ */
52
+ keyPrefix?: string;
53
+ };
54
+ export type RedisFallbackProviderOptions = {
55
+ /**
56
+ * Optional Redis client. When omitted, a client is created using `REDIS_URL`.
57
+ */
58
+ client?: {
59
+ get(key: string): Promise<string | null | undefined>;
60
+ set(key: string, value: string): Promise<unknown>;
61
+ };
62
+ /**
63
+ * Prefix for generated per-environment keys.
64
+ *
65
+ * @defaultValue `reflag:flags-fallback`
66
+ */
67
+ keyPrefix?: string;
68
+ };
69
+ export type StaticFallbackProviderOptions = {
70
+ /**
71
+ * Static fallback flags keyed by flag key.
72
+ */
73
+ flags: Record<string, boolean>;
74
+ };
75
+ export declare function isFlagsFallbackSnapshot(value: unknown): value is FlagsFallbackSnapshot;
76
+ export declare function createStaticFallbackProvider({ flags, }: StaticFallbackProviderOptions): FlagsFallbackProvider;
77
+ export declare function createFileFallbackProvider({ directory, }?: FileFallbackProviderOptions): FlagsFallbackProvider;
78
+ export declare function createS3FallbackProvider({ bucket, client, keyPrefix, }: S3FallbackProviderOptions): FlagsFallbackProvider;
79
+ export declare function createGCSFallbackProvider({ bucket, client, keyPrefix, }: GCSFallbackProviderOptions): FlagsFallbackProvider;
80
+ export declare function createRedisFallbackProvider({ client, keyPrefix, }?: RedisFallbackProviderOptions): FlagsFallbackProvider;
81
+ //# sourceMappingURL=flagsFallbackProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flagsFallbackProvider.d.ts","sourceRoot":"","sources":["../../../src/flagsFallbackProvider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,qBAAqB,EAErB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAGjB,MAAM,MAAM,2BAA2B,GAAG;IACxC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;KACtC,CAAC;IAEF;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG;YACpB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG;gBAClB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC7B,QAAQ,IAAI,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;oBAAE,WAAW,EAAE,MAAM,CAAA;iBAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;aACxE,CAAC;SACH,CAAC;KACH,CAAC;IAEF;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;QACrD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACnD,CAAC;IAEF;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAmCF,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,qBAAqB,CAQhC;AAmED,wBAAgB,4BAA4B,CAAC,EAC3C,KAAK,GACN,EAAE,6BAA6B,GAAG,qBAAqB,CAgBvD;AAED,wBAAgB,0BAA0B,CAAC,EACzC,SAAS,GACV,GAAE,2BAAgC,GAAG,qBAAqB,CAuB1D;AAED,wBAAgB,wBAAwB,CAAC,EACvC,MAAM,EACN,MAAM,EACN,SAAS,GACV,EAAE,yBAAyB,GAAG,qBAAqB,CAsDnD;AAED,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,MAAM,EACN,SAAS,GACV,EAAE,0BAA0B,GAAG,qBAAqB,CAiCpD;AAED,wBAAgB,2BAA2B,CAAC,EAC1C,MAAM,EACN,SAAS,GACV,GAAE,4BAAiC,GAAG,qBAAqB,CAsD3D"}
@@ -1,4 +1,13 @@
1
+ import { createFileFallbackProvider, createGCSFallbackProvider, createRedisFallbackProvider, createS3FallbackProvider, createStaticFallbackProvider } from "./flagsFallbackProvider";
1
2
  export { BoundReflagClient, ReflagClient } from "./client";
2
3
  export { EdgeClient, EdgeClientOptions } from "./edgeClient";
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
+ export type { FileFallbackProviderOptions, GCSFallbackProviderOptions, RedisFallbackProviderOptions, S3FallbackProviderOptions, StaticFallbackProviderOptions, } from "./flagsFallbackProvider";
5
+ export declare const fallbackProviders: {
6
+ static: typeof createStaticFallbackProvider;
7
+ file: typeof createFileFallbackProvider;
8
+ redis: typeof createRedisFallbackProvider;
9
+ s3: typeof createS3FallbackProvider;
10
+ gcs: typeof createGCSFallbackProvider;
11
+ };
12
+ export type { Attributes, BatchBufferOptions, BootstrappedFlags, CacheStrategy, ClientOptions, Context, ContextWithTracking, EmptyFlagRemoteConfig, Flag, FlagAPIResponse, FlagConfigVariant, FlagDefinition, FlagOverride, FlagOverrides, FlagOverridesFn, FlagRemoteConfig, Flags, FlagsAPIResponse, FlagsFallbackProvider, FlagsFallbackProviderContext, FlagsFallbackSnapshot, FlagType, HttpClient, HttpClientResponse, IdType, LOG_LEVELS, Logger, LogLevel, RawFlag, RawFlagRemoteConfig, RawFlags, TrackingMeta, TrackOptions, TypedFlagKey, TypedFlags, } from "./types";
4
13
  //# 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,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
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC7D,YAAY,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,iBAAiB;;;;;;CAM7B,CAAC;AACF,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,OAAO,EACP,mBAAmB,EACnB,qBAAqB,EACrB,IAAI,EACJ,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,KAAK,EACL,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,EAC5B,qBAAqB,EACrB,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"}
@@ -3,14 +3,12 @@ import { Cache, Logger } from "./types";
3
3
  * Create a cached function that updates the value asynchronously.
4
4
  *
5
5
  * The value is updated every `ttl` milliseconds.
6
- * If the value is older than `staleTtl` milliseconds, a warning is logged.
7
6
  *
8
7
  * @typeParam T - The type of the value.
9
8
  * @param ttl - The time-to-live in milliseconds.
10
- * @param staleTtl - The time-to-live after which a warning is logged.
11
9
  * @param logger - The logger to use.
12
10
  * @param fn - The function to call to get the value.
13
11
  * @returns The cache object.
14
12
  **/
15
- export default function periodicallyUpdatingCache<T>(ttl: number, staleTtl: number, logger: Logger | undefined, fn: () => Promise<T | undefined>): Cache<T>;
13
+ export default function periodicallyUpdatingCache<T>(ttl: number, logger: Logger | undefined, fn: () => Promise<T | undefined>): Cache<T>;
16
14
  //# sourceMappingURL=periodicallyUpdatingCache.d.ts.map
@@ -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,CAoEV"}
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;;;;;;;;;;IAUI;AACJ,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,CAAC,EACjD,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAC/B,KAAK,CAAC,CAAC,CAAC,CA0DV"}