Skip to main content

Function: withFeatureFlags()

withFeatureFlags<T>(schema): ZodObject<{ [k in string | number | symbol]: ((keyof T & "featureFlags") extends never ? T & { featureFlags: ZodDefault<ZodRecord<ZodString, ZodBoolean>> } : { [K in string | number | symbol as K extends "featureFlags" ? never : K]: T[K] } & { featureFlags: ZodDefault<ZodRecord<ZodString, ZodBoolean>> })[k] }, $strip>

Defined in: packages/workflow-engine/src/core/config-presets.ts:151

Add feature flags configuration to any schema

Type Parameters​

T​

T extends Readonly<{[k: string]: $ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>; }>

Parameters​

schema​

ZodObject<T>

Returns​

ZodObject<{ [k in string | number | symbol]: ((keyof T & "featureFlags") extends never ? T & { featureFlags: ZodDefault<ZodRecord<ZodString, ZodBoolean>> } : { [K in string | number | symbol as K extends "featureFlags" ? never : K]: T[K] } & { featureFlags: ZodDefault<ZodRecord<ZodString, ZodBoolean>> })[k] }, $strip>

Example​

const myConfig = withFeatureFlags(z.object({
setting: z.boolean(),
}));
// Result has: featureFlags, setting