@breadstone/archipel-mcp 0.0.31 → 0.0.32
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/data/guides/feature-flags.md +358 -0
- package/data/guides/index.md +1 -0
- package/data/packages/platform-feature-flags/api/Class.AzureFeatureFlagReader.md +230 -0
- package/data/packages/platform-feature-flags/api/Class.AzureFeatureFlagWriter.md +235 -0
- package/data/packages/platform-feature-flags/api/Class.FeatureFlagError.md +65 -0
- package/data/packages/platform-feature-flags/api/Class.FeatureFlagGuard.md +68 -0
- package/data/packages/platform-feature-flags/api/Class.FeatureFlagModule.md +49 -0
- package/data/packages/platform-feature-flags/api/Class.FeatureFlagReaderPort.md +150 -0
- package/data/packages/platform-feature-flags/api/Class.FeatureFlagWriterPort.md +180 -0
- package/data/packages/platform-feature-flags/api/Class.VercelFeatureFlagReader.md +223 -0
- package/data/packages/platform-feature-flags/api/Class.VercelFeatureFlagWriter.md +240 -0
- package/data/packages/platform-feature-flags/api/Function.FeatureFlag.md +25 -0
- package/data/packages/platform-feature-flags/api/Interface.IFeatureFlagContext.md +46 -0
- package/data/packages/platform-feature-flags/api/Interface.IFeatureFlagDefinition.md +70 -0
- package/data/packages/platform-feature-flags/api/Interface.IFeatureFlagEvaluation.md +46 -0
- package/data/packages/platform-feature-flags/api/Interface.IFeatureFlagModuleOptions.md +61 -0
- package/data/packages/platform-feature-flags/api/Variable.AZURE_APPCONFIG_CONNECTION_STRING.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.AZURE_APPCONFIG_ENDPOINT.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.AZURE_FEATURE_FLAG_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.AZURE_FEATURE_FLAG_KEY_FILTER.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.AZURE_FEATURE_FLAG_REFRESH_INTERVAL.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.FEATURE_FLAG_KEY_METADATA.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.PLATFORM_FEATURE_FLAGS_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.VERCEL_API_TOKEN.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.VERCEL_EDGE_CONFIG.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.VERCEL_EDGE_CONFIG_ID.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.VERCEL_EDGE_CONFIG_TOKEN.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.VERCEL_FEATURE_FLAG_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.VERCEL_FEATURE_FLAG_PREFIX.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.VERCEL_FEATURE_FLAG_WRITER_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.VERCEL_TEAM_ID.md +14 -0
- package/data/packages/platform-feature-flags/api/index.md +55 -0
- package/package.json +1 -1
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Class: AzureFeatureFlagWriter'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Class: AzureFeatureFlagWriter
|
|
7
|
+
|
|
8
|
+
Defined in: azure/AzureFeatureFlagWriter.ts:28
|
|
9
|
+
|
|
10
|
+
Azure App Configuration implementation of the [FeatureFlagWriterPort](Class.FeatureFlagWriterPort).
|
|
11
|
+
Uses `@azure/app-configuration` (`AppConfigurationClient`) for CRUD operations
|
|
12
|
+
on feature flags stored in Azure App Configuration.
|
|
13
|
+
|
|
14
|
+
## Extends
|
|
15
|
+
|
|
16
|
+
- [`FeatureFlagWriterPort`](Class.FeatureFlagWriterPort)
|
|
17
|
+
|
|
18
|
+
## Implements
|
|
19
|
+
|
|
20
|
+
- `OnModuleInit`
|
|
21
|
+
|
|
22
|
+
## Constructors
|
|
23
|
+
|
|
24
|
+
### Constructor
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
new AzureFeatureFlagWriter(configService): AzureFeatureFlagWriter;
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Defined in: azure/AzureFeatureFlagWriter.ts:39
|
|
31
|
+
|
|
32
|
+
#### Parameters
|
|
33
|
+
|
|
34
|
+
| Parameter | Type |
|
|
35
|
+
| ------ | ------ |
|
|
36
|
+
| `configService` | `ConfigService` |
|
|
37
|
+
|
|
38
|
+
#### Returns
|
|
39
|
+
|
|
40
|
+
`AzureFeatureFlagWriter`
|
|
41
|
+
|
|
42
|
+
#### Overrides
|
|
43
|
+
|
|
44
|
+
[`FeatureFlagWriterPort`](Class.FeatureFlagWriterPort).[`constructor`](Class.FeatureFlagWriterPort#constructor)
|
|
45
|
+
|
|
46
|
+
## Methods
|
|
47
|
+
|
|
48
|
+
### createFlag()
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
createFlag(definition): Promise<void>;
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Defined in: azure/AzureFeatureFlagWriter.ts:150
|
|
55
|
+
|
|
56
|
+
Creates a new feature flag.
|
|
57
|
+
|
|
58
|
+
#### Parameters
|
|
59
|
+
|
|
60
|
+
| Parameter | Type | Description |
|
|
61
|
+
| ------ | ------ | ------ |
|
|
62
|
+
| `definition` | [`IFeatureFlagDefinition`](Interface.IFeatureFlagDefinition) | The flag definition to create. |
|
|
63
|
+
|
|
64
|
+
#### Returns
|
|
65
|
+
|
|
66
|
+
`Promise`\<`void`\>
|
|
67
|
+
|
|
68
|
+
#### Throws
|
|
69
|
+
|
|
70
|
+
If the flag already exists or creation fails.
|
|
71
|
+
|
|
72
|
+
#### Overrides
|
|
73
|
+
|
|
74
|
+
[`FeatureFlagWriterPort`](Class.FeatureFlagWriterPort).[`createFlag`](Class.FeatureFlagWriterPort#createflag)
|
|
75
|
+
|
|
76
|
+
***
|
|
77
|
+
|
|
78
|
+
### deleteFlag()
|
|
79
|
+
|
|
80
|
+
```ts
|
|
81
|
+
deleteFlag(key): Promise<void>;
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Defined in: azure/AzureFeatureFlagWriter.ts:218
|
|
85
|
+
|
|
86
|
+
Deletes a feature flag.
|
|
87
|
+
|
|
88
|
+
#### Parameters
|
|
89
|
+
|
|
90
|
+
| Parameter | Type | Description |
|
|
91
|
+
| ------ | ------ | ------ |
|
|
92
|
+
| `key` | `string` | The unique key of the flag to delete. |
|
|
93
|
+
|
|
94
|
+
#### Returns
|
|
95
|
+
|
|
96
|
+
`Promise`\<`void`\>
|
|
97
|
+
|
|
98
|
+
#### Throws
|
|
99
|
+
|
|
100
|
+
If the deletion fails.
|
|
101
|
+
|
|
102
|
+
#### Overrides
|
|
103
|
+
|
|
104
|
+
[`FeatureFlagWriterPort`](Class.FeatureFlagWriterPort).[`deleteFlag`](Class.FeatureFlagWriterPort#deleteflag)
|
|
105
|
+
|
|
106
|
+
***
|
|
107
|
+
|
|
108
|
+
### getFlag()
|
|
109
|
+
|
|
110
|
+
```ts
|
|
111
|
+
getFlag(key): Promise<
|
|
112
|
+
| IFeatureFlagDefinition
|
|
113
|
+
| undefined>;
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Defined in: azure/AzureFeatureFlagWriter.ts:81
|
|
117
|
+
|
|
118
|
+
Returns a single feature flag definition by key.
|
|
119
|
+
|
|
120
|
+
#### Parameters
|
|
121
|
+
|
|
122
|
+
| Parameter | Type | Description |
|
|
123
|
+
| ------ | ------ | ------ |
|
|
124
|
+
| `key` | `string` | The unique key identifying the feature flag. |
|
|
125
|
+
|
|
126
|
+
#### Returns
|
|
127
|
+
|
|
128
|
+
`Promise`\<
|
|
129
|
+
\| [`IFeatureFlagDefinition`](Interface.IFeatureFlagDefinition)
|
|
130
|
+
\| `undefined`\>
|
|
131
|
+
|
|
132
|
+
The flag definition, or `undefined` if not found.
|
|
133
|
+
|
|
134
|
+
#### Overrides
|
|
135
|
+
|
|
136
|
+
[`FeatureFlagWriterPort`](Class.FeatureFlagWriterPort).[`getFlag`](Class.FeatureFlagWriterPort#getflag)
|
|
137
|
+
|
|
138
|
+
***
|
|
139
|
+
|
|
140
|
+
### listFlags()
|
|
141
|
+
|
|
142
|
+
```ts
|
|
143
|
+
listFlags(): Promise<readonly IFeatureFlagDefinition[]>;
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Defined in: azure/AzureFeatureFlagWriter.ts:115
|
|
147
|
+
|
|
148
|
+
Returns all feature flag definitions managed by the provider.
|
|
149
|
+
|
|
150
|
+
#### Returns
|
|
151
|
+
|
|
152
|
+
`Promise`\<readonly [`IFeatureFlagDefinition`](Interface.IFeatureFlagDefinition)[]\>
|
|
153
|
+
|
|
154
|
+
Array of flag definitions.
|
|
155
|
+
|
|
156
|
+
#### Overrides
|
|
157
|
+
|
|
158
|
+
[`FeatureFlagWriterPort`](Class.FeatureFlagWriterPort).[`listFlags`](Class.FeatureFlagWriterPort#listflags)
|
|
159
|
+
|
|
160
|
+
***
|
|
161
|
+
|
|
162
|
+
### onModuleInit()
|
|
163
|
+
|
|
164
|
+
```ts
|
|
165
|
+
onModuleInit(): Promise<void>;
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Defined in: azure/AzureFeatureFlagWriter.ts:53
|
|
169
|
+
|
|
170
|
+
Initializes the Azure App Configuration management client.
|
|
171
|
+
|
|
172
|
+
#### Returns
|
|
173
|
+
|
|
174
|
+
`Promise`\<`void`\>
|
|
175
|
+
|
|
176
|
+
#### Implementation of
|
|
177
|
+
|
|
178
|
+
```ts
|
|
179
|
+
OnModuleInit.onModuleInit
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
***
|
|
183
|
+
|
|
184
|
+
### ping()
|
|
185
|
+
|
|
186
|
+
```ts
|
|
187
|
+
ping(): Promise<boolean>;
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Defined in: azure/AzureFeatureFlagWriter.ts:237
|
|
191
|
+
|
|
192
|
+
Lightweight connectivity check for the writer provider.
|
|
193
|
+
Defaults to `true` if not overridden.
|
|
194
|
+
|
|
195
|
+
#### Returns
|
|
196
|
+
|
|
197
|
+
`Promise`\<`boolean`\>
|
|
198
|
+
|
|
199
|
+
`true` if the provider is reachable.
|
|
200
|
+
|
|
201
|
+
#### Overrides
|
|
202
|
+
|
|
203
|
+
[`FeatureFlagWriterPort`](Class.FeatureFlagWriterPort).[`ping`](Class.FeatureFlagWriterPort#ping)
|
|
204
|
+
|
|
205
|
+
***
|
|
206
|
+
|
|
207
|
+
### updateFlag()
|
|
208
|
+
|
|
209
|
+
```ts
|
|
210
|
+
updateFlag(key, updates): Promise<void>;
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Defined in: azure/AzureFeatureFlagWriter.ts:177
|
|
214
|
+
|
|
215
|
+
Updates an existing feature flag.
|
|
216
|
+
Only the fields present in the partial definition are updated.
|
|
217
|
+
|
|
218
|
+
#### Parameters
|
|
219
|
+
|
|
220
|
+
| Parameter | Type | Description |
|
|
221
|
+
| ------ | ------ | ------ |
|
|
222
|
+
| `key` | `string` | The unique key of the flag to update. |
|
|
223
|
+
| `updates` | `Partial`\<`Omit`\<[`IFeatureFlagDefinition`](Interface.IFeatureFlagDefinition), `"key"`\>\> | Partial definition with the fields to update. |
|
|
224
|
+
|
|
225
|
+
#### Returns
|
|
226
|
+
|
|
227
|
+
`Promise`\<`void`\>
|
|
228
|
+
|
|
229
|
+
#### Throws
|
|
230
|
+
|
|
231
|
+
If the flag does not exist or the update fails.
|
|
232
|
+
|
|
233
|
+
#### Overrides
|
|
234
|
+
|
|
235
|
+
[`FeatureFlagWriterPort`](Class.FeatureFlagWriterPort).[`updateFlag`](Class.FeatureFlagWriterPort#updateflag)
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Class: FeatureFlagError'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Class: FeatureFlagError
|
|
7
|
+
|
|
8
|
+
Defined in: errors/FeatureFlagError.ts:6
|
|
9
|
+
|
|
10
|
+
Domain error thrown when a feature flag operation fails.
|
|
11
|
+
|
|
12
|
+
## Extends
|
|
13
|
+
|
|
14
|
+
- `Error`
|
|
15
|
+
|
|
16
|
+
## Constructors
|
|
17
|
+
|
|
18
|
+
### Constructor
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
new FeatureFlagError(
|
|
22
|
+
provider,
|
|
23
|
+
message,
|
|
24
|
+
cause?): FeatureFlagError;
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Defined in: errors/FeatureFlagError.ts:16
|
|
28
|
+
|
|
29
|
+
#### Parameters
|
|
30
|
+
|
|
31
|
+
| Parameter | Type |
|
|
32
|
+
| ------ | ------ |
|
|
33
|
+
| `provider` | `string` |
|
|
34
|
+
| `message` | `string` |
|
|
35
|
+
| `cause?` | `unknown` |
|
|
36
|
+
|
|
37
|
+
#### Returns
|
|
38
|
+
|
|
39
|
+
`FeatureFlagError`
|
|
40
|
+
|
|
41
|
+
#### Overrides
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
Error.constructor
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Properties
|
|
48
|
+
|
|
49
|
+
### code
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
readonly code: "FEATURE_FLAG" = 'FEATURE_FLAG';
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Defined in: errors/FeatureFlagError.ts:9
|
|
56
|
+
|
|
57
|
+
***
|
|
58
|
+
|
|
59
|
+
### provider
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
readonly provider: string;
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Defined in: errors/FeatureFlagError.ts:10
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Class: FeatureFlagGuard'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Class: FeatureFlagGuard
|
|
7
|
+
|
|
8
|
+
Defined in: guards/FeatureFlagGuard.ts:17
|
|
9
|
+
|
|
10
|
+
Guard that checks if a feature flag is enabled before allowing access to a route.
|
|
11
|
+
Use the [FeatureFlag](Function.FeatureFlag) decorator to specify which flag to check.
|
|
12
|
+
|
|
13
|
+
## Implements
|
|
14
|
+
|
|
15
|
+
- `CanActivate`
|
|
16
|
+
|
|
17
|
+
## Constructors
|
|
18
|
+
|
|
19
|
+
### Constructor
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
new FeatureFlagGuard(featureFlagReader, reflector): FeatureFlagGuard;
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Defined in: guards/FeatureFlagGuard.ts:35
|
|
26
|
+
|
|
27
|
+
Constructs a new instance of the `FeatureFlagGuard` class.
|
|
28
|
+
|
|
29
|
+
#### Parameters
|
|
30
|
+
|
|
31
|
+
| Parameter | Type | Description |
|
|
32
|
+
| ------ | ------ | ------ |
|
|
33
|
+
| `featureFlagReader` | [`FeatureFlagReaderPort`](Class.FeatureFlagReaderPort) | The feature flag reader port. |
|
|
34
|
+
| `reflector` | `Reflector` | The NestJS reflector. |
|
|
35
|
+
|
|
36
|
+
#### Returns
|
|
37
|
+
|
|
38
|
+
`FeatureFlagGuard`
|
|
39
|
+
|
|
40
|
+
## Methods
|
|
41
|
+
|
|
42
|
+
### canActivate()
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
canActivate(context): Promise<boolean>;
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Defined in: guards/FeatureFlagGuard.ts:51
|
|
49
|
+
|
|
50
|
+
Determines whether the guarded feature flag is enabled.
|
|
51
|
+
|
|
52
|
+
#### Parameters
|
|
53
|
+
|
|
54
|
+
| Parameter | Type | Description |
|
|
55
|
+
| ------ | ------ | ------ |
|
|
56
|
+
| `context` | `ExecutionContext` | The execution context. |
|
|
57
|
+
|
|
58
|
+
#### Returns
|
|
59
|
+
|
|
60
|
+
`Promise`\<`boolean`\>
|
|
61
|
+
|
|
62
|
+
`true` when the feature flag is enabled and access is allowed.
|
|
63
|
+
|
|
64
|
+
#### Implementation of
|
|
65
|
+
|
|
66
|
+
```ts
|
|
67
|
+
CanActivate.canActivate
|
|
68
|
+
```
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Class: FeatureFlagModule'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Class: FeatureFlagModule
|
|
7
|
+
|
|
8
|
+
Defined in: FeatureFlagModule.ts:21
|
|
9
|
+
|
|
10
|
+
NestJS module providing feature flag infrastructure.
|
|
11
|
+
Exposes a configurable feature flag reader and a route guard.
|
|
12
|
+
Optionally exposes a writer port for CRUD operations when `featureFlagWriter` is provided.
|
|
13
|
+
The specific provider (Azure App Configuration, Vercel Edge Config) is selected via the options.
|
|
14
|
+
|
|
15
|
+
## Constructors
|
|
16
|
+
|
|
17
|
+
### Constructor
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
new FeatureFlagModule(): FeatureFlagModule;
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
#### Returns
|
|
24
|
+
|
|
25
|
+
`FeatureFlagModule`
|
|
26
|
+
|
|
27
|
+
## Methods
|
|
28
|
+
|
|
29
|
+
### register()
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
static register(options): DynamicModule;
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Defined in: FeatureFlagModule.ts:31
|
|
36
|
+
|
|
37
|
+
Configures the module with the specified options.
|
|
38
|
+
|
|
39
|
+
#### Parameters
|
|
40
|
+
|
|
41
|
+
| Parameter | Type | Description |
|
|
42
|
+
| ------ | ------ | ------ |
|
|
43
|
+
| `options` | [`IFeatureFlagModuleOptions`](Interface.IFeatureFlagModuleOptions) | The module configuration options. |
|
|
44
|
+
|
|
45
|
+
#### Returns
|
|
46
|
+
|
|
47
|
+
`DynamicModule`
|
|
48
|
+
|
|
49
|
+
Dynamic module definition.
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Abstract Class: FeatureFlagReaderPort'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Abstract Class: FeatureFlagReaderPort
|
|
7
|
+
|
|
8
|
+
Defined in: contracts/FeatureFlagReaderPort.ts:15
|
|
9
|
+
|
|
10
|
+
Abstract port for feature flag reader operations.
|
|
11
|
+
Each provider (Azure App Configuration, Vercel Edge Config) must implement this contract
|
|
12
|
+
so that the consuming application can switch providers without changing business logic.
|
|
13
|
+
|
|
14
|
+
## Extended by
|
|
15
|
+
|
|
16
|
+
- [`AzureFeatureFlagReader`](Class.AzureFeatureFlagReader)
|
|
17
|
+
- [`VercelFeatureFlagReader`](Class.VercelFeatureFlagReader)
|
|
18
|
+
|
|
19
|
+
## Constructors
|
|
20
|
+
|
|
21
|
+
### Constructor
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
new FeatureFlagReaderPort(): FeatureFlagReaderPort;
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
#### Returns
|
|
28
|
+
|
|
29
|
+
`FeatureFlagReaderPort`
|
|
30
|
+
|
|
31
|
+
## Methods
|
|
32
|
+
|
|
33
|
+
### getAllFlags()
|
|
34
|
+
|
|
35
|
+
```ts
|
|
36
|
+
abstract getAllFlags(context?): Promise<readonly IFeatureFlagEvaluation[]>;
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Defined in: contracts/FeatureFlagReaderPort.ts:46
|
|
40
|
+
|
|
41
|
+
Returns all known feature flags with their current evaluation.
|
|
42
|
+
|
|
43
|
+
#### Parameters
|
|
44
|
+
|
|
45
|
+
| Parameter | Type | Description |
|
|
46
|
+
| ------ | ------ | ------ |
|
|
47
|
+
| `context?` | [`IFeatureFlagContext`](Interface.IFeatureFlagContext) | Optional evaluation context for targeting and segmentation. |
|
|
48
|
+
|
|
49
|
+
#### Returns
|
|
50
|
+
|
|
51
|
+
`Promise`\<readonly [`IFeatureFlagEvaluation`](Interface.IFeatureFlagEvaluation)[]\>
|
|
52
|
+
|
|
53
|
+
Array of evaluated feature flags.
|
|
54
|
+
|
|
55
|
+
***
|
|
56
|
+
|
|
57
|
+
### getVariant()
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
abstract getVariant<T>(
|
|
61
|
+
key,
|
|
62
|
+
defaultValue,
|
|
63
|
+
context?): Promise<T>;
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Defined in: contracts/FeatureFlagReaderPort.ts:37
|
|
67
|
+
|
|
68
|
+
Returns the variant value of a feature flag for multivariate flags and A/B testing.
|
|
69
|
+
|
|
70
|
+
#### Type Parameters
|
|
71
|
+
|
|
72
|
+
| Type Parameter | Default type |
|
|
73
|
+
| ------ | ------ |
|
|
74
|
+
| `T` | `unknown` |
|
|
75
|
+
|
|
76
|
+
#### Parameters
|
|
77
|
+
|
|
78
|
+
| Parameter | Type | Description |
|
|
79
|
+
| ------ | ------ | ------ |
|
|
80
|
+
| `key` | `string` | The unique key identifying the feature flag. |
|
|
81
|
+
| `defaultValue` | `T` | The default value to return if the flag is not found. |
|
|
82
|
+
| `context?` | [`IFeatureFlagContext`](Interface.IFeatureFlagContext) | Optional evaluation context for targeting and segmentation. |
|
|
83
|
+
|
|
84
|
+
#### Returns
|
|
85
|
+
|
|
86
|
+
`Promise`\<`T`\>
|
|
87
|
+
|
|
88
|
+
The variant value of the feature flag.
|
|
89
|
+
|
|
90
|
+
***
|
|
91
|
+
|
|
92
|
+
### isEnabled()
|
|
93
|
+
|
|
94
|
+
```ts
|
|
95
|
+
abstract isEnabled(key, context?): Promise<boolean>;
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Defined in: contracts/FeatureFlagReaderPort.ts:26
|
|
99
|
+
|
|
100
|
+
Evaluates whether a feature flag is enabled.
|
|
101
|
+
|
|
102
|
+
#### Parameters
|
|
103
|
+
|
|
104
|
+
| Parameter | Type | Description |
|
|
105
|
+
| ------ | ------ | ------ |
|
|
106
|
+
| `key` | `string` | The unique key identifying the feature flag. |
|
|
107
|
+
| `context?` | [`IFeatureFlagContext`](Interface.IFeatureFlagContext) | Optional evaluation context for targeting and segmentation. |
|
|
108
|
+
|
|
109
|
+
#### Returns
|
|
110
|
+
|
|
111
|
+
`Promise`\<`boolean`\>
|
|
112
|
+
|
|
113
|
+
`true` if the feature flag is enabled.
|
|
114
|
+
|
|
115
|
+
***
|
|
116
|
+
|
|
117
|
+
### ping()
|
|
118
|
+
|
|
119
|
+
```ts
|
|
120
|
+
ping(): Promise<boolean>;
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Defined in: contracts/FeatureFlagReaderPort.ts:64
|
|
124
|
+
|
|
125
|
+
Lightweight connectivity check for the feature flag provider.
|
|
126
|
+
Override in adapters to perform a real API call.
|
|
127
|
+
Defaults to `true` if not overridden.
|
|
128
|
+
|
|
129
|
+
#### Returns
|
|
130
|
+
|
|
131
|
+
`Promise`\<`boolean`\>
|
|
132
|
+
|
|
133
|
+
`true` if the provider is reachable.
|
|
134
|
+
|
|
135
|
+
***
|
|
136
|
+
|
|
137
|
+
### refresh()
|
|
138
|
+
|
|
139
|
+
```ts
|
|
140
|
+
abstract refresh(): Promise<void>;
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Defined in: contracts/FeatureFlagReaderPort.ts:54
|
|
144
|
+
|
|
145
|
+
Refreshes the flag state from the remote provider.
|
|
146
|
+
Implementations should reload configuration from the upstream source.
|
|
147
|
+
|
|
148
|
+
#### Returns
|
|
149
|
+
|
|
150
|
+
`Promise`\<`void`\>
|