From 912e07f2c8ccdc9adfe5b57e04154dc707017499 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Fri, 10 Jan 2025 15:48:37 +1000 Subject: [PATCH] tidy(ui): use zod typeguard builder util for fields --- .../web/src/features/nodes/types/field.ts | 217 ++++++------------ .../parameters/types/parameterSchemas.ts | 2 +- 2 files changed, 74 insertions(+), 145 deletions(-) diff --git a/invokeai/frontend/web/src/features/nodes/types/field.ts b/invokeai/frontend/web/src/features/nodes/types/field.ts index 5b2ef97c1e..1ccc6ec9bb 100644 --- a/invokeai/frontend/web/src/features/nodes/types/field.ts +++ b/invokeai/frontend/web/src/features/nodes/types/field.ts @@ -1,3 +1,4 @@ +import { buildTypeGuard } from 'features/parameters/types/parameterSchemas'; import { z } from 'zod'; import { zBoardField, zColorField, zImageField, zModelIdentifierField, zSchedulerField } from './common'; @@ -83,9 +84,7 @@ const zIntegerCollectionFieldType = z.object({ cardinality: z.literal(COLLECTION), originalType: zStatelessFieldType.optional(), }); -export const isIntegerCollectionFieldType = ( - fieldType: FieldType -): fieldType is z.infer => zIntegerCollectionFieldType.safeParse(fieldType).success; +export const isIntegerCollectionFieldType = buildTypeGuard(zIntegerCollectionFieldType); const zFloatFieldType = zFieldTypeBase.extend({ name: z.literal('FloatField'), @@ -96,9 +95,7 @@ const zFloatCollectionFieldType = z.object({ cardinality: z.literal(COLLECTION), originalType: zStatelessFieldType.optional(), }); -export const isFloatCollectionFieldType = ( - fieldType: FieldType -): fieldType is z.infer => zFloatCollectionFieldType.safeParse(fieldType).success; +export const isFloatCollectionFieldType = buildTypeGuard(zFloatCollectionFieldType); const zStringFieldType = zFieldTypeBase.extend({ name: z.literal('StringField'), @@ -109,9 +106,7 @@ const zStringCollectionFieldType = z.object({ cardinality: z.literal(COLLECTION), originalType: zStatelessFieldType.optional(), }); -export const isStringCollectionFieldType = ( - fieldType: FieldType -): fieldType is z.infer => zStringCollectionFieldType.safeParse(fieldType).success; +export const isStringCollectionFieldType = buildTypeGuard(zStringCollectionFieldType); const zBooleanFieldType = zFieldTypeBase.extend({ name: z.literal('BooleanField'), @@ -130,9 +125,7 @@ const zImageCollectionFieldType = z.object({ cardinality: z.literal(COLLECTION), originalType: zStatelessFieldType.optional(), }); -export const isImageCollectionFieldType = ( - fieldType: FieldType -): fieldType is z.infer => zImageCollectionFieldType.safeParse(fieldType).success; +export const isImageCollectionFieldType = buildTypeGuard(zImageCollectionFieldType); const zBoardFieldType = zFieldTypeBase.extend({ name: z.literal('BoardField'), originalType: zStatelessFieldType.optional(), @@ -281,10 +274,8 @@ const zIntegerFieldOutputTemplate = zFieldOutputTemplateBase.extend({ export type IntegerFieldValue = z.infer; export type IntegerFieldInputInstance = z.infer; export type IntegerFieldInputTemplate = z.infer; -export const isIntegerFieldInputInstance = (val: unknown): val is IntegerFieldInputInstance => - zIntegerFieldInputInstance.safeParse(val).success; -export const isIntegerFieldInputTemplate = (val: unknown): val is IntegerFieldInputTemplate => - zIntegerFieldInputTemplate.safeParse(val).success; +export const isIntegerFieldInputInstance = buildTypeGuard(zIntegerFieldInputInstance); +export const isIntegerFieldInputTemplate = buildTypeGuard(zIntegerFieldInputTemplate); // #endregion // #region IntegerField Collection @@ -321,10 +312,8 @@ const zIntegerFieldCollectionOutputTemplate = zFieldOutputTemplateBase.extend({ export type IntegerFieldCollectionValue = z.infer; export type IntegerFieldCollectionInputInstance = z.infer; export type IntegerFieldCollectionInputTemplate = z.infer; -export const isIntegerFieldCollectionInputInstance = (val: unknown): val is IntegerFieldCollectionInputInstance => - zIntegerFieldCollectionInputInstance.safeParse(val).success; -export const isIntegerFieldCollectionInputTemplate = (val: unknown): val is IntegerFieldCollectionInputTemplate => - zIntegerFieldCollectionInputTemplate.safeParse(val).success; +export const isIntegerFieldCollectionInputInstance = buildTypeGuard(zIntegerFieldCollectionInputInstance); +export const isIntegerFieldCollectionInputTemplate = buildTypeGuard(zIntegerFieldCollectionInputTemplate); // #endregion // #region FloatField @@ -349,10 +338,8 @@ const zFloatFieldOutputTemplate = zFieldOutputTemplateBase.extend({ export type FloatFieldValue = z.infer; export type FloatFieldInputInstance = z.infer; export type FloatFieldInputTemplate = z.infer; -export const isFloatFieldInputInstance = (val: unknown): val is FloatFieldInputInstance => - zFloatFieldInputInstance.safeParse(val).success; -export const isFloatFieldInputTemplate = (val: unknown): val is FloatFieldInputTemplate => - zFloatFieldInputTemplate.safeParse(val).success; +export const isFloatFieldInputInstance = buildTypeGuard(zFloatFieldInputInstance); +export const isFloatFieldInputTemplate = buildTypeGuard(zFloatFieldInputTemplate); // #endregion // #region FloatField Collection @@ -389,10 +376,8 @@ const zFloatFieldCollectionOutputTemplate = zFieldOutputTemplateBase.extend({ export type FloatFieldCollectionValue = z.infer; export type FloatFieldCollectionInputInstance = z.infer; export type FloatFieldCollectionInputTemplate = z.infer; -export const isFloatFieldCollectionInputInstance = (val: unknown): val is FloatFieldCollectionInputInstance => - zFloatFieldCollectionInputInstance.safeParse(val).success; -export const isFloatFieldCollectionInputTemplate = (val: unknown): val is FloatFieldCollectionInputTemplate => - zFloatFieldCollectionInputTemplate.safeParse(val).success; +export const isFloatFieldCollectionInputInstance = buildTypeGuard(zFloatFieldCollectionInputInstance); +export const isFloatFieldCollectionInputTemplate = buildTypeGuard(zFloatFieldCollectionInputTemplate); // #endregion // #region StringField @@ -462,19 +447,15 @@ const zStringFieldCollectionOutputTemplate = zFieldOutputTemplateBase.extend({ export type StringFieldCollectionValue = z.infer; export type StringFieldCollectionInputInstance = z.infer; export type StringFieldCollectionInputTemplate = z.infer; -export const isStringFieldCollectionInputInstance = (val: unknown): val is StringFieldCollectionInputInstance => - zStringFieldCollectionInputInstance.safeParse(val).success; -export const isStringFieldCollectionInputTemplate = (val: unknown): val is StringFieldCollectionInputTemplate => - zStringFieldCollectionInputTemplate.safeParse(val).success; +export const isStringFieldCollectionInputInstance = buildTypeGuard(zStringFieldCollectionInputInstance); +export const isStringFieldCollectionInputTemplate = buildTypeGuard(zStringFieldCollectionInputTemplate); // #endregion export type StringFieldValue = z.infer; export type StringFieldInputInstance = z.infer; export type StringFieldInputTemplate = z.infer; -export const isStringFieldInputInstance = (val: unknown): val is StringFieldInputInstance => - zStringFieldInputInstance.safeParse(val).success; -export const isStringFieldInputTemplate = (val: unknown): val is StringFieldInputTemplate => - zStringFieldInputTemplate.safeParse(val).success; +export const isStringFieldInputInstance = buildTypeGuard(zStringFieldInputInstance); +export const isStringFieldInputTemplate = buildTypeGuard(zStringFieldInputTemplate); // #endregion // #region BooleanField @@ -494,10 +475,8 @@ const zBooleanFieldOutputTemplate = zFieldOutputTemplateBase.extend({ export type BooleanFieldValue = z.infer; export type BooleanFieldInputInstance = z.infer; export type BooleanFieldInputTemplate = z.infer; -export const isBooleanFieldInputInstance = (val: unknown): val is BooleanFieldInputInstance => - zBooleanFieldInputInstance.safeParse(val).success; -export const isBooleanFieldInputTemplate = (val: unknown): val is BooleanFieldInputTemplate => - zBooleanFieldInputTemplate.safeParse(val).success; +export const isBooleanFieldInputInstance = buildTypeGuard(zBooleanFieldInputInstance); +export const isBooleanFieldInputTemplate = buildTypeGuard(zBooleanFieldInputTemplate); // #endregion // #region EnumField @@ -519,10 +498,8 @@ const zEnumFieldOutputTemplate = zFieldOutputTemplateBase.extend({ export type EnumFieldValue = z.infer; export type EnumFieldInputInstance = z.infer; export type EnumFieldInputTemplate = z.infer; -export const isEnumFieldInputInstance = (val: unknown): val is EnumFieldInputInstance => - zEnumFieldInputInstance.safeParse(val).success; -export const isEnumFieldInputTemplate = (val: unknown): val is EnumFieldInputTemplate => - zEnumFieldInputTemplate.safeParse(val).success; +export const isEnumFieldInputInstance = buildTypeGuard(zEnumFieldInputInstance); +export const isEnumFieldInputTemplate = buildTypeGuard(zEnumFieldInputTemplate); // #endregion // #region ImageField @@ -541,10 +518,8 @@ const zImageFieldOutputTemplate = zFieldOutputTemplateBase.extend({ export type ImageFieldValue = z.infer; export type ImageFieldInputInstance = z.infer; export type ImageFieldInputTemplate = z.infer; -export const isImageFieldInputInstance = (val: unknown): val is ImageFieldInputInstance => - zImageFieldInputInstance.safeParse(val).success; -export const isImageFieldInputTemplate = (val: unknown): val is ImageFieldInputTemplate => - zImageFieldInputTemplate.safeParse(val).success; +export const isImageFieldInputInstance = buildTypeGuard(zImageFieldInputInstance); +export const isImageFieldInputTemplate = buildTypeGuard(zImageFieldInputTemplate); // #endregion // #region ImageField Collection @@ -576,10 +551,8 @@ const zImageFieldCollectionOutputTemplate = zFieldOutputTemplateBase.extend({ export type ImageFieldCollectionValue = z.infer; export type ImageFieldCollectionInputInstance = z.infer; export type ImageFieldCollectionInputTemplate = z.infer; -export const isImageFieldCollectionInputInstance = (val: unknown): val is ImageFieldCollectionInputInstance => - zImageFieldCollectionInputInstance.safeParse(val).success; -export const isImageFieldCollectionInputTemplate = (val: unknown): val is ImageFieldCollectionInputTemplate => - zImageFieldCollectionInputTemplate.safeParse(val).success; +export const isImageFieldCollectionInputInstance = buildTypeGuard(zImageFieldCollectionInputInstance); +export const isImageFieldCollectionInputTemplate = buildTypeGuard(zImageFieldCollectionInputTemplate); // #endregion // #region BoardField @@ -599,10 +572,8 @@ const zBoardFieldOutputTemplate = zFieldOutputTemplateBase.extend({ export type BoardFieldValue = z.infer; export type BoardFieldInputInstance = z.infer; export type BoardFieldInputTemplate = z.infer; -export const isBoardFieldInputInstance = (val: unknown): val is BoardFieldInputInstance => - zBoardFieldInputInstance.safeParse(val).success; -export const isBoardFieldInputTemplate = (val: unknown): val is BoardFieldInputTemplate => - zBoardFieldInputTemplate.safeParse(val).success; +export const isBoardFieldInputInstance = buildTypeGuard(zBoardFieldInputInstance); +export const isBoardFieldInputTemplate = buildTypeGuard(zBoardFieldInputTemplate); // #endregion // #region ColorField @@ -622,10 +593,8 @@ const zColorFieldOutputTemplate = zFieldOutputTemplateBase.extend({ export type ColorFieldValue = z.infer; export type ColorFieldInputInstance = z.infer; export type ColorFieldInputTemplate = z.infer; -export const isColorFieldInputInstance = (val: unknown): val is ColorFieldInputInstance => - zColorFieldInputInstance.safeParse(val).success; -export const isColorFieldInputTemplate = (val: unknown): val is ColorFieldInputTemplate => - zColorFieldInputTemplate.safeParse(val).success; +export const isColorFieldInputInstance = buildTypeGuard(zColorFieldInputInstance); +export const isColorFieldInputTemplate = buildTypeGuard(zColorFieldInputTemplate); // #endregion // #region MainModelField @@ -645,10 +614,8 @@ const zMainModelFieldOutputTemplate = zFieldOutputTemplateBase.extend({ export type MainModelFieldValue = z.infer; export type MainModelFieldInputInstance = z.infer; export type MainModelFieldInputTemplate = z.infer; -export const isMainModelFieldInputInstance = (val: unknown): val is MainModelFieldInputInstance => - zMainModelFieldInputInstance.safeParse(val).success; -export const isMainModelFieldInputTemplate = (val: unknown): val is MainModelFieldInputTemplate => - zMainModelFieldInputTemplate.safeParse(val).success; +export const isMainModelFieldInputInstance = buildTypeGuard(zMainModelFieldInputInstance); +export const isMainModelFieldInputTemplate = buildTypeGuard(zMainModelFieldInputTemplate); // #endregion // #region ModelIdentifierField @@ -667,10 +634,8 @@ const zModelIdentifierFieldOutputTemplate = zFieldOutputTemplateBase.extend({ export type ModelIdentifierFieldValue = z.infer; export type ModelIdentifierFieldInputInstance = z.infer; export type ModelIdentifierFieldInputTemplate = z.infer; -export const isModelIdentifierFieldInputInstance = (val: unknown): val is ModelIdentifierFieldInputInstance => - zModelIdentifierFieldInputInstance.safeParse(val).success; -export const isModelIdentifierFieldInputTemplate = (val: unknown): val is ModelIdentifierFieldInputTemplate => - zModelIdentifierFieldInputTemplate.safeParse(val).success; +export const isModelIdentifierFieldInputInstance = buildTypeGuard(zModelIdentifierFieldInputInstance); +export const isModelIdentifierFieldInputTemplate = buildTypeGuard(zModelIdentifierFieldInputTemplate); // #endregion // #region SDXLMainModelField @@ -689,10 +654,8 @@ const zSDXLMainModelFieldOutputTemplate = zFieldOutputTemplateBase.extend({ }); export type SDXLMainModelFieldInputInstance = z.infer; export type SDXLMainModelFieldInputTemplate = z.infer; -export const isSDXLMainModelFieldInputInstance = (val: unknown): val is SDXLMainModelFieldInputInstance => - zSDXLMainModelFieldInputInstance.safeParse(val).success; -export const isSDXLMainModelFieldInputTemplate = (val: unknown): val is SDXLMainModelFieldInputTemplate => - zSDXLMainModelFieldInputTemplate.safeParse(val).success; +export const isSDXLMainModelFieldInputInstance = buildTypeGuard(zSDXLMainModelFieldInputInstance); +export const isSDXLMainModelFieldInputTemplate = buildTypeGuard(zSDXLMainModelFieldInputTemplate); // #endregion // #region SD3MainModelField @@ -711,10 +674,8 @@ const zSD3MainModelFieldOutputTemplate = zFieldOutputTemplateBase.extend({ }); export type SD3MainModelFieldInputInstance = z.infer; export type SD3MainModelFieldInputTemplate = z.infer; -export const isSD3MainModelFieldInputInstance = (val: unknown): val is SD3MainModelFieldInputInstance => - zSD3MainModelFieldInputInstance.safeParse(val).success; -export const isSD3MainModelFieldInputTemplate = (val: unknown): val is SD3MainModelFieldInputTemplate => - zSD3MainModelFieldInputTemplate.safeParse(val).success; +export const isSD3MainModelFieldInputInstance = buildTypeGuard(zSD3MainModelFieldInputInstance); +export const isSD3MainModelFieldInputTemplate = buildTypeGuard(zSD3MainModelFieldInputTemplate); // #endregion @@ -734,10 +695,8 @@ const zFluxMainModelFieldOutputTemplate = zFieldOutputTemplateBase.extend({ }); export type FluxMainModelFieldInputInstance = z.infer; export type FluxMainModelFieldInputTemplate = z.infer; -export const isFluxMainModelFieldInputInstance = (val: unknown): val is FluxMainModelFieldInputInstance => - zFluxMainModelFieldInputInstance.safeParse(val).success; -export const isFluxMainModelFieldInputTemplate = (val: unknown): val is FluxMainModelFieldInputTemplate => - zFluxMainModelFieldInputTemplate.safeParse(val).success; +export const isFluxMainModelFieldInputInstance = buildTypeGuard(zFluxMainModelFieldInputInstance); +export const isFluxMainModelFieldInputTemplate = buildTypeGuard(zFluxMainModelFieldInputTemplate); // #endregion @@ -759,10 +718,8 @@ const zSDXLRefinerModelFieldOutputTemplate = zFieldOutputTemplateBase.extend({ export type SDXLRefinerModelFieldValue = z.infer; export type SDXLRefinerModelFieldInputInstance = z.infer; export type SDXLRefinerModelFieldInputTemplate = z.infer; -export const isSDXLRefinerModelFieldInputInstance = (val: unknown): val is SDXLRefinerModelFieldInputInstance => - zSDXLRefinerModelFieldInputInstance.safeParse(val).success; -export const isSDXLRefinerModelFieldInputTemplate = (val: unknown): val is SDXLRefinerModelFieldInputTemplate => - zSDXLRefinerModelFieldInputTemplate.safeParse(val).success; +export const isSDXLRefinerModelFieldInputInstance = buildTypeGuard(zSDXLRefinerModelFieldInputInstance); +export const isSDXLRefinerModelFieldInputTemplate = buildTypeGuard(zSDXLRefinerModelFieldInputTemplate); // #endregion // #region VAEModelField @@ -782,10 +739,8 @@ const zVAEModelFieldOutputTemplate = zFieldOutputTemplateBase.extend({ export type VAEModelFieldValue = z.infer; export type VAEModelFieldInputInstance = z.infer; export type VAEModelFieldInputTemplate = z.infer; -export const isVAEModelFieldInputInstance = (val: unknown): val is VAEModelFieldInputInstance => - zVAEModelFieldInputInstance.safeParse(val).success; -export const isVAEModelFieldInputTemplate = (val: unknown): val is VAEModelFieldInputTemplate => - zVAEModelFieldInputTemplate.safeParse(val).success; +export const isVAEModelFieldInputInstance = buildTypeGuard(zVAEModelFieldInputInstance); +export const isVAEModelFieldInputTemplate = buildTypeGuard(zVAEModelFieldInputTemplate); // #endregion // #region LoRAModelField @@ -805,10 +760,8 @@ const zLoRAModelFieldOutputTemplate = zFieldOutputTemplateBase.extend({ export type LoRAModelFieldValue = z.infer; export type LoRAModelFieldInputInstance = z.infer; export type LoRAModelFieldInputTemplate = z.infer; -export const isLoRAModelFieldInputInstance = (val: unknown): val is LoRAModelFieldInputInstance => - zLoRAModelFieldInputInstance.safeParse(val).success; -export const isLoRAModelFieldInputTemplate = (val: unknown): val is LoRAModelFieldInputTemplate => - zLoRAModelFieldInputTemplate.safeParse(val).success; +export const isLoRAModelFieldInputInstance = buildTypeGuard(zLoRAModelFieldInputInstance); +export const isLoRAModelFieldInputTemplate = buildTypeGuard(zLoRAModelFieldInputTemplate); // #endregion // #region ControlNetModelField @@ -828,10 +781,8 @@ const zControlNetModelFieldOutputTemplate = zFieldOutputTemplateBase.extend({ export type ControlNetModelFieldValue = z.infer; export type ControlNetModelFieldInputInstance = z.infer; export type ControlNetModelFieldInputTemplate = z.infer; -export const isControlNetModelFieldInputInstance = (val: unknown): val is ControlNetModelFieldInputInstance => - zControlNetModelFieldInputInstance.safeParse(val).success; -export const isControlNetModelFieldInputTemplate = (val: unknown): val is ControlNetModelFieldInputTemplate => - zControlNetModelFieldInputTemplate.safeParse(val).success; +export const isControlNetModelFieldInputInstance = buildTypeGuard(zControlNetModelFieldInputInstance); +export const isControlNetModelFieldInputTemplate = buildTypeGuard(zControlNetModelFieldInputTemplate); // #endregion // #region IPAdapterModelField @@ -851,10 +802,8 @@ const zIPAdapterModelFieldOutputTemplate = zFieldOutputTemplateBase.extend({ export type IPAdapterModelFieldValue = z.infer; export type IPAdapterModelFieldInputInstance = z.infer; export type IPAdapterModelFieldInputTemplate = z.infer; -export const isIPAdapterModelFieldInputInstance = (val: unknown): val is IPAdapterModelFieldInputInstance => - zIPAdapterModelFieldInputInstance.safeParse(val).success; -export const isIPAdapterModelFieldInputTemplate = (val: unknown): val is IPAdapterModelFieldInputTemplate => - zIPAdapterModelFieldInputTemplate.safeParse(val).success; +export const isIPAdapterModelFieldInputInstance = buildTypeGuard(zIPAdapterModelFieldInputInstance); +export const isIPAdapterModelFieldInputTemplate = buildTypeGuard(zIPAdapterModelFieldInputTemplate); // #endregion // #region T2IAdapterField @@ -874,10 +823,8 @@ const zT2IAdapterModelFieldOutputTemplate = zFieldOutputTemplateBase.extend({ export type T2IAdapterModelFieldValue = z.infer; export type T2IAdapterModelFieldInputInstance = z.infer; export type T2IAdapterModelFieldInputTemplate = z.infer; -export const isT2IAdapterModelFieldInputInstance = (val: unknown): val is T2IAdapterModelFieldInputInstance => - zT2IAdapterModelFieldInputInstance.safeParse(val).success; -export const isT2IAdapterModelFieldInputTemplate = (val: unknown): val is T2IAdapterModelFieldInputTemplate => - zT2IAdapterModelFieldInputTemplate.safeParse(val).success; +export const isT2IAdapterModelFieldInputInstance = buildTypeGuard(zT2IAdapterModelFieldInputInstance); +export const isT2IAdapterModelFieldInputTemplate = buildTypeGuard(zT2IAdapterModelFieldInputTemplate); // #endregion // #region SpandrelModelToModelField @@ -897,14 +844,12 @@ const zSpandrelImageToImageModelFieldOutputTemplate = zFieldOutputTemplateBase.e export type SpandrelImageToImageModelFieldValue = z.infer; export type SpandrelImageToImageModelFieldInputInstance = z.infer; export type SpandrelImageToImageModelFieldInputTemplate = z.infer; -export const isSpandrelImageToImageModelFieldInputInstance = ( - val: unknown -): val is SpandrelImageToImageModelFieldInputInstance => - zSpandrelImageToImageModelFieldInputInstance.safeParse(val).success; -export const isSpandrelImageToImageModelFieldInputTemplate = ( - val: unknown -): val is SpandrelImageToImageModelFieldInputTemplate => - zSpandrelImageToImageModelFieldInputTemplate.safeParse(val).success; +export const isSpandrelImageToImageModelFieldInputInstance = buildTypeGuard( + zSpandrelImageToImageModelFieldInputInstance +); +export const isSpandrelImageToImageModelFieldInputTemplate = buildTypeGuard( + zSpandrelImageToImageModelFieldInputTemplate +); // #endregion // #region T5EncoderModelField @@ -923,10 +868,8 @@ export type T5EncoderModelFieldValue = z.infer export type T5EncoderModelFieldInputInstance = z.infer; export type T5EncoderModelFieldInputTemplate = z.infer; -export const isT5EncoderModelFieldInputInstance = (val: unknown): val is T5EncoderModelFieldInputInstance => - zT5EncoderModelFieldInputInstance.safeParse(val).success; -export const isT5EncoderModelFieldInputTemplate = (val: unknown): val is T5EncoderModelFieldInputTemplate => - zT5EncoderModelFieldInputTemplate.safeParse(val).success; +export const isT5EncoderModelFieldInputInstance = buildTypeGuard(zT5EncoderModelFieldInputInstance); +export const isT5EncoderModelFieldInputTemplate = buildTypeGuard(zT5EncoderModelFieldInputTemplate); // #endregion @@ -946,10 +889,8 @@ export type FluxVAEModelFieldValue = z.infer; export type FluxVAEModelFieldInputInstance = z.infer; export type FluxVAEModelFieldInputTemplate = z.infer; -export const isFluxVAEModelFieldInputInstance = (val: unknown): val is FluxVAEModelFieldInputInstance => - zFluxVAEModelFieldInputInstance.safeParse(val).success; -export const isFluxVAEModelFieldInputTemplate = (val: unknown): val is FluxVAEModelFieldInputTemplate => - zFluxVAEModelFieldInputTemplate.safeParse(val).success; +export const isFluxVAEModelFieldInputInstance = buildTypeGuard(zFluxVAEModelFieldInputInstance); +export const isFluxVAEModelFieldInputTemplate = buildTypeGuard(zFluxVAEModelFieldInputTemplate); // #endregion @@ -969,10 +910,8 @@ export type CLIPEmbedModelFieldValue = z.infer export type CLIPEmbedModelFieldInputInstance = z.infer; export type CLIPEmbedModelFieldInputTemplate = z.infer; -export const isCLIPEmbedModelFieldInputInstance = (val: unknown): val is CLIPEmbedModelFieldInputInstance => - zCLIPEmbedModelFieldInputInstance.safeParse(val).success; -export const isCLIPEmbedModelFieldInputTemplate = (val: unknown): val is CLIPEmbedModelFieldInputTemplate => - zCLIPEmbedModelFieldInputTemplate.safeParse(val).success; +export const isCLIPEmbedModelFieldInputInstance = buildTypeGuard(zCLIPEmbedModelFieldInputInstance); +export const isCLIPEmbedModelFieldInputTemplate = buildTypeGuard(zCLIPEmbedModelFieldInputTemplate); // #endregion @@ -992,10 +931,8 @@ export type CLIPLEmbedModelFieldValue = z.infer; export type CLIPLEmbedModelFieldInputTemplate = z.infer; -export const isCLIPLEmbedModelFieldInputInstance = (val: unknown): val is CLIPLEmbedModelFieldInputInstance => - zCLIPLEmbedModelFieldInputInstance.safeParse(val).success; -export const isCLIPLEmbedModelFieldInputTemplate = (val: unknown): val is CLIPLEmbedModelFieldInputTemplate => - zCLIPLEmbedModelFieldInputTemplate.safeParse(val).success; +export const isCLIPLEmbedModelFieldInputInstance = buildTypeGuard(zCLIPLEmbedModelFieldInputInstance); +export const isCLIPLEmbedModelFieldInputTemplate = buildTypeGuard(zCLIPLEmbedModelFieldInputTemplate); // #endregion @@ -1015,10 +952,8 @@ export type CLIPGEmbedModelFieldValue = z.infer; export type CLIPGEmbedModelFieldInputTemplate = z.infer; -export const isCLIPGEmbedModelFieldInputInstance = (val: unknown): val is CLIPGEmbedModelFieldInputInstance => - zCLIPGEmbedModelFieldInputInstance.safeParse(val).success; -export const isCLIPGEmbedModelFieldInputTemplate = (val: unknown): val is CLIPGEmbedModelFieldInputTemplate => - zCLIPGEmbedModelFieldInputTemplate.safeParse(val).success; +export const isCLIPGEmbedModelFieldInputInstance = buildTypeGuard(zCLIPGEmbedModelFieldInputInstance); +export const isCLIPGEmbedModelFieldInputTemplate = buildTypeGuard(zCLIPGEmbedModelFieldInputTemplate); // #endregion @@ -1038,10 +973,8 @@ export type ControlLoRAModelFieldValue = z.infer; export type ControlLoRAModelFieldInputTemplate = z.infer; -export const isControlLoRAModelFieldInputInstance = (val: unknown): val is ControlLoRAModelFieldInputInstance => - zControlLoRAModelFieldInputInstance.safeParse(val).success; -export const isControlLoRAModelFieldInputTemplate = (val: unknown): val is ControlLoRAModelFieldInputTemplate => - zControlLoRAModelFieldInputTemplate.safeParse(val).success; +export const isControlLoRAModelFieldInputInstance = buildTypeGuard(zControlLoRAModelFieldInputInstance); +export const isControlLoRAModelFieldInputTemplate = buildTypeGuard(zControlLoRAModelFieldInputTemplate); // #endregion @@ -1062,10 +995,8 @@ const zSchedulerFieldOutputTemplate = zFieldOutputTemplateBase.extend({ export type SchedulerFieldValue = z.infer; export type SchedulerFieldInputInstance = z.infer; export type SchedulerFieldInputTemplate = z.infer; -export const isSchedulerFieldInputInstance = (val: unknown): val is SchedulerFieldInputInstance => - zSchedulerFieldInputInstance.safeParse(val).success; -export const isSchedulerFieldInputTemplate = (val: unknown): val is SchedulerFieldInputTemplate => - zSchedulerFieldInputTemplate.safeParse(val).success; +export const isSchedulerFieldInputInstance = buildTypeGuard(zSchedulerFieldInputInstance); +export const isSchedulerFieldInputTemplate = buildTypeGuard(zSchedulerFieldInputTemplate); // #endregion // #region StatelessField @@ -1187,8 +1118,7 @@ const zStatefulFieldInputInstance = z.union([ export const zFieldInputInstance = z.union([zStatefulFieldInputInstance, zStatelessFieldInputInstance]); export type FieldInputInstance = z.infer; -export const isFieldInputInstance = (val: unknown): val is FieldInputInstance => - zFieldInputInstance.safeParse(val).success; +export const isFieldInputInstance = buildTypeGuard(zFieldInputInstance); // #endregion // #region StatefulFieldInputTemplate & FieldInputTemplate @@ -1229,8 +1159,7 @@ const zStatefulFieldInputTemplate = z.union([ export const zFieldInputTemplate = z.union([zStatefulFieldInputTemplate, zStatelessFieldInputTemplate]); export type FieldInputTemplate = z.infer; -export const isFieldInputTemplate = (val: unknown): val is FieldInputTemplate => - zFieldInputTemplate.safeParse(val).success; +export const isFieldInputTemplate = buildTypeGuard(zFieldInputTemplate); // #endregion // #region StatefulFieldOutputTemplate & FieldOutputTemplate diff --git a/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts b/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts index 4d3535762d..1076100947 100644 --- a/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts +++ b/invokeai/frontend/web/src/features/parameters/types/parameterSchemas.ts @@ -20,7 +20,7 @@ import { z } from 'zod'; * @param schema The zod schema to create a type guard from. * @returns A type guard function for the schema. */ -const buildTypeGuard = (schema: T) => { +export const buildTypeGuard = (schema: T) => { return (val: unknown): val is z.infer => schema.safeParse(val).success; };