@etrigan/feature-toggles
Advanced tools
Comparing version
# @etrigan/feature-toggles | ||
## 1.3.0 | ||
### Minor Changes | ||
- d519bfd: Allow FeatureUpdater to be used similarly to FeatureReceiver to enable usage in a non-clustered approach | ||
### Patch Changes | ||
- @etrigan/feature-toggles-client@1.1.7 | ||
## 1.2.0 | ||
@@ -4,0 +14,0 @@ |
@@ -16,4 +16,5 @@ /// <reference types="node" /> | ||
constructor(initialFeatureState: RawFeatureValues, log: Logger); | ||
get featureState(): RawFeatureValues; | ||
updateToggleState(featureValues: RawFeatureValues): Promise<void>; | ||
private sendUpdate; | ||
} |
@@ -15,2 +15,9 @@ "use strict"; | ||
} | ||
Object.defineProperty(FeatureUpdater.prototype, "featureState", { | ||
get: function () { | ||
return this.featureValues; | ||
}, | ||
enumerable: false, | ||
configurable: true | ||
}); | ||
FeatureUpdater.prototype.updateToggleState = function (featureValues) { | ||
@@ -17,0 +24,0 @@ return tslib_1.__awaiter(this, void 0, void 0, function () { |
import express from 'express-serve-static-core'; | ||
import { FeatureState } from '@etrigan/feature-toggles-client'; | ||
import { FeatureReceiver } from './feature-receiver'; | ||
import { FeatureUpdater } from './feature-updater'; | ||
export interface WithFeatures { | ||
@@ -13,2 +14,2 @@ features: FeatureState; | ||
} | ||
export declare function createFeatureStateMiddleware(featureReceiver: FeatureReceiver): express.Handler; | ||
export declare function createFeatureStateMiddleware(featureManager: FeatureReceiver | FeatureUpdater): express.Handler; |
@@ -5,6 +5,6 @@ "use strict"; | ||
var feature_toggles_client_1 = require("@etrigan/feature-toggles-client"); | ||
function createFeatureStateMiddleware(featureReceiver) { | ||
function createFeatureStateMiddleware(featureManager) { | ||
return feaureStateMiddleware; | ||
function feaureStateMiddleware(req, _res, next) { | ||
req.features = feature_toggles_client_1.toFeatureState(featureReceiver.featureState); | ||
req.features = feature_toggles_client_1.toFeatureState(featureManager.featureState); | ||
next(); | ||
@@ -11,0 +11,0 @@ } |
{ | ||
"name": "@etrigan/feature-toggles", | ||
"version": "1.2.0", | ||
"version": "1.3.0", | ||
"description": "Etrigan feature toggles", | ||
@@ -10,3 +10,3 @@ "main": "dist/index.js", | ||
"dependencies": { | ||
"@etrigan/feature-toggles-client": "1.1.6" | ||
"@etrigan/feature-toggles-client": "1.1.7" | ||
}, | ||
@@ -13,0 +13,0 @@ "peerDependencies": { |
@@ -23,2 +23,6 @@ import * as cluster from 'cluster' | ||
get featureState(): RawFeatureValues { | ||
return this.featureValues | ||
} | ||
async updateToggleState(featureValues: RawFeatureValues): Promise<void> { | ||
@@ -25,0 +29,0 @@ this.featureValues = featureValues |
@@ -5,2 +5,3 @@ import express from 'express-serve-static-core' | ||
import { FeatureReceiver } from './feature-receiver' | ||
import { FeatureUpdater } from './feature-updater' | ||
@@ -19,3 +20,5 @@ export interface WithFeatures { | ||
export function createFeatureStateMiddleware(featureReceiver: FeatureReceiver): express.Handler { | ||
export function createFeatureStateMiddleware( | ||
featureManager: FeatureReceiver | FeatureUpdater, | ||
): express.Handler { | ||
return feaureStateMiddleware | ||
@@ -28,3 +31,3 @@ | ||
) { | ||
req.features = toFeatureState(featureReceiver.featureState) | ||
req.features = toFeatureState(featureManager.featureState) | ||
@@ -31,0 +34,0 @@ next() |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
83553
0.91%830
1.84%+ Added
- Removed