NEWONE1 / invokeai /frontend /web /src /features /nodes /util /schema /buildFieldInputInstance.ts
roshikhan301's picture
Upload 2113 files
8a37e0a verified
import type { FieldInputInstance, FieldInputTemplate, FieldValue, StatefulFieldType } from 'features/nodes/types/field';
import { get } from 'lodash-es';
const FIELD_VALUE_FALLBACK_MAP: Record<StatefulFieldType['name'], FieldValue> = {
EnumField: '',
BoardField: undefined,
BooleanField: false,
ColorField: { r: 0, g: 0, b: 0, a: 1 },
FloatField: 0,
ImageField: undefined,
IntegerField: 0,
IPAdapterModelField: undefined,
LoRAModelField: undefined,
ModelIdentifierField: undefined,
MainModelField: undefined,
SchedulerField: 'dpmpp_3m_k',
SDXLMainModelField: undefined,
FluxMainModelField: undefined,
SD3MainModelField: undefined,
SDXLRefinerModelField: undefined,
StringField: '',
T2IAdapterModelField: undefined,
SpandrelImageToImageModelField: undefined,
VAEModelField: undefined,
ControlNetModelField: undefined,
T5EncoderModelField: undefined,
FluxVAEModelField: undefined,
CLIPEmbedModelField: undefined,
CLIPLEmbedModelField: undefined,
CLIPGEmbedModelField: undefined,
};
export const buildFieldInputInstance = (id: string, template: FieldInputTemplate): FieldInputInstance => {
const fieldInstance: FieldInputInstance = {
name: template.name,
label: '',
value: template.default ?? get(FIELD_VALUE_FALLBACK_MAP, template.type.name),
};
return fieldInstance;
};