@nexusts/feature-flag 0.8.0 → 0.8.2
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/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
"import \"reflect-metadata\";\nimport type { FlagContext } from \"../types.js\";\n\nconst FLAG_META = Symbol.for(\"nexus:FeatureFlag\");\n\nexport interface FeatureFlagOptions {\n\t/** Extract a `FlagContext` from the Hono `Context` object (first arg of the handler). */\n\tcontextFn?: (c: any) => FlagContext;\n\t/** Custom response when the flag is disabled. Defaults to 404 JSON. */\n\tonDisabled?: (c: any) => Response | Promise<Response>;\n}\n\nexport interface FlagSpec {\n\tpropertyKey: string | symbol;\n\tflagName: string;\n\tcontextFn?: (c: any) => FlagContext;\n\tonDisabled?: (c: any) => Response | Promise<Response>;\n\toriginal: (...args: any[]) => any;\n}\n\n/**\n * Mark a route handler so `FeatureFlagService.applyDecorators()` will gate it.\n *\n * @Get('/')\n * @FeatureFlag('new-dashboard')\n * async index(c: Context) { ... }\n *\n * When the flag is disabled the handler returns a 404 JSON response.\n * Pass `onDisabled` to customise the response, or `contextFn` to extract\n * a `FlagContext` (userId etc.) from the Hono `Context`.\n */\nexport function FeatureFlag(\n\tflagName: string,\n\toptions: FeatureFlagOptions = {},\n): MethodDecorator {\n\treturn (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n\t\tconst specs: FlagSpec[] = Reflect.getMetadata(FLAG_META, target.constructor) ?? [];\n\t\tspecs.push({\n\t\t\tpropertyKey,\n\t\t\tflagName,\n\t\t\tcontextFn: options.contextFn,\n\t\t\tonDisabled: options.onDisabled,\n\t\t\toriginal: descriptor.value,\n\t\t});\n\t\tReflect.defineMetadata(FLAG_META, specs, target.constructor);\n\t};\n}\n\nexport function getFlagSpecs(target: any): FlagSpec[] {\n\treturn Reflect.getMetadata(FLAG_META, target) ?? [];\n}\n"
|
|
9
9
|
],
|
|
10
10
|
"mappings": "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",
|
|
11
|
-
"debugId": "
|
|
11
|
+
"debugId": "9EFD11A3535D5F0464756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nexusts/feature-flag",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.2",
|
|
4
4
|
"description": "Feature flags, canary deployments, and A/B testing for NexusTS",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
],
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@nexusts/core": "
|
|
32
|
+
"@nexusts/core": "^0.8.2"
|
|
33
33
|
},
|
|
34
34
|
"repository": {
|
|
35
35
|
"type": "git",
|