|
| 1 | +// Copyright (c) Microsoft Corporation. |
| 2 | +// Licensed under the MIT license. |
| 3 | + |
| 4 | +import fs from 'node:fs/promises'; |
| 5 | +import { ConfigurationObjectFeatureFlagProvider, FeatureManager } from "@microsoft/feature-management"; |
| 6 | + |
| 7 | +const config = JSON.parse(await fs.readFile("config.json")); |
| 8 | +const featureProvider = new ConfigurationObjectFeatureFlagProvider(config); |
| 9 | +const featureManager = new FeatureManager(featureProvider); |
| 10 | + |
| 11 | +console.log("FeatureX is:", await featureManager.isEnabled("FeatureX")); |
| 12 | +console.log("FeatureY is:", await featureManager.isEnabled("FeatureY")); |
| 13 | + |
| 14 | +// Is true between 2024-8-15 ~ 2024-8-19 |
| 15 | +console.log("Feature flag with Time WindoW Filter is:", await featureManager.isEnabled("FeatureFlagWithTimeWindowFilter")); |
| 16 | + |
| 17 | +// Targeted by Users |
| 18 | +console.log("Feature flag with Targeting Filter is:", await featureManager.isEnabled("FeatureFlagWithTargetingFilter", {userId: "Jeff"})) |
| 19 | +// Excluded by Users |
| 20 | +console.log("Feature flag with Targeting Filter is:", await featureManager.isEnabled("FeatureFlagWithTargetingFilter", {userId: "Anne"})) |
| 21 | +// Targeted by Groups Admin |
| 22 | +console.log("Feature flag with Targeting Filter is:", await featureManager.isEnabled("FeatureFlagWithTargetingFilter", {userId: "Admin1", groups: ["Admin"]})) |
| 23 | +// Excluded by Groups Guest |
| 24 | +console.log("Feature flag with Targeting Filter is:", await featureManager.isEnabled("FeatureFlagWithTargetingFilter", {userId: "Guest1", groups: ["Guest"]})) |
| 25 | + |
| 26 | +// Targeted by default rollout percentage |
| 27 | +console.log("Feature flag with Targeting Filter is:", await featureManager.isEnabled("FeatureFlagWithTargetingFilter", {userId: "Alicia"})) |
| 28 | +console.log("Feature flag with Targeting Filter is:", await featureManager.isEnabled("FeatureFlagWithTargetingFilter", {userId: "Susan"})) |
| 29 | +console.log("Feature flag with Targeting Filter is:", await featureManager.isEnabled("FeatureFlagWithTargetingFilter", {userId: "John"})) |
0 commit comments