unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
30 lines • 1.03 kB
JavaScript
export class UnknownFlagsService {
constructor({ unknownFlagsStore }, _config) {
this.unknownFlagsStore = unknownFlagsStore;
this.unknownFlagsCache = new Map();
}
getKey(flag) {
return `${flag.name}:${flag.appName}:${flag.environment}`;
}
register(unknownFlags) {
for (const flag of unknownFlags) {
const key = this.getKey(flag);
this.unknownFlagsCache.set(key, flag);
}
}
async flush() {
if (this.unknownFlagsCache.size === 0)
return;
const cached = Array.from(this.unknownFlagsCache.values());
cached.sort((a, b) => this.getKey(a).localeCompare(this.getKey(b)));
await this.unknownFlagsStore.insert(cached);
this.unknownFlagsCache.clear();
}
async getAll(queryParams) {
return this.unknownFlagsStore.getAll(queryParams);
}
async clear(hoursAgo) {
return this.unknownFlagsStore.clear(hoursAgo);
}
}
//# sourceMappingURL=unknown-flags-service.js.map