UNPKG

gen-jhipster

Version:

VHipster - Spring Boot + Angular/React/Vue in one handy generator

661 lines 171 kB
import type { DerivedPropertiesOnlyOf } from '../../lib/command/types.ts'; import type { FieldType } from '../../lib/jhipster/field-types.ts'; import { type ValidationType } from '../../lib/jhipster/index.ts'; import type { Entity as BaseEntity } from '../../lib/jhipster/types/entity.ts'; import type { Field as BaseField } from '../../lib/jhipster/types/field.ts'; import type { Relationship as BaseRelationship } from '../../lib/jhipster/types/relationship.ts'; import type { FakerWithRandexp } from './support/faker.ts'; type Property = { propertyName: string; propertyNameCapitalized?: string; propertyNameUpperSnakeCase?: string; propertyApiDescription?: string; skipClient?: boolean; skipServer?: boolean; }; type BaseApplicationAddedFieldProperties = DerivedPropertiesOnlyOf<'fieldType', FieldType> & DerivedPropertiesOnlyOf<'fieldValidation', ValidationType> & { path?: string[]; fieldNameCapitalized: string; fieldNameHumanized: string; fieldNameUnderscored: string; /** @deprecated use propertyTranslationKey */ fieldTranslationKey?: string; propertyTranslationKey?: string; fieldApiDescription?: string; enumFileName?: string; enumValues?: { name: string; value: string; }[]; fieldValidate?: boolean; unique?: boolean; maxlength?: number; /** * Faker template passed to `faker.helpers.fake()`. * @see https://fakerjs.dev/api/helpers.html#fake */ fakerTemplate?: string; uniqueValue?: any[]; generateFakeDataFromPattern?: () => string | undefined; generateFakeData?: (type?: 'csv' | 'cypress' | 'json-serializable' | 'ts') => any; transient?: boolean; id?: boolean; autoGenerate?: boolean; readonly?: boolean; sequenceGeneratorName?: string; fieldWithContentType?: boolean; contentTypeFieldName?: string; fieldTypeTimed?: boolean; blobContentTypeText?: boolean; blobContentTypeImage?: boolean; blobContentTypeAny?: boolean; fieldTypeBytes?: boolean; fieldTypeBinary?: boolean; /** @deprecated */ fieldValidationMinLength: boolean; /** @deprecated */ fieldValidationMaxLength: boolean; /** @deprecated */ fieldValidationMinBytes: boolean; /** @deprecated */ fieldValidationMaxBytes: boolean; relatedByOtherEntity?: boolean; enumInstance?: string; builtIn?: boolean; derivedPath?: string[]; }; export type Field = Property & Omit<BaseField, 'fieldType'> & BaseApplicationAddedFieldProperties & ({ fieldType: string; fieldIsEnum: true; } | { fieldType: FieldType; fieldIsEnum: false; }); export declare const mutateField: { readonly fieldValidationMaxLength: ({ fieldValidationMaxlength }: Field) => boolean; readonly fieldValidationMinLength: ({ fieldValidationMinlength }: Field) => boolean; readonly fieldValidationMinBytes: ({ fieldValidationMinbytes }: Field) => boolean; readonly fieldValidationMaxBytes: ({ fieldValidationMaxbytes }: Field) => boolean; readonly fieldValidateRules?: ("min" | "required" | "pattern" | "max" | "unique" | "minlength" | "maxlength" | "minbytes" | "maxbytes")[] | ((ctx: Field) => ValidationType[] | undefined) | undefined; readonly fieldValidationMin: (data: Partial<Record<"fieldValidateRules", ("min" | "required" | "pattern" | "max" | "unique" | "minlength" | "maxlength" | "minbytes" | "maxbytes")[]>>) => boolean; readonly fieldValidationRequired: (data: Partial<Record<"fieldValidateRules", ("min" | "required" | "pattern" | "max" | "unique" | "minlength" | "maxlength" | "minbytes" | "maxbytes")[]>>) => boolean; readonly fieldValidationPattern: (data: Partial<Record<"fieldValidateRules", ("min" | "required" | "pattern" | "max" | "unique" | "minlength" | "maxlength" | "minbytes" | "maxbytes")[]>>) => boolean; readonly fieldValidationMax: (data: Partial<Record<"fieldValidateRules", ("min" | "required" | "pattern" | "max" | "unique" | "minlength" | "maxlength" | "minbytes" | "maxbytes")[]>>) => boolean; readonly fieldValidationUnique: (data: Partial<Record<"fieldValidateRules", ("min" | "required" | "pattern" | "max" | "unique" | "minlength" | "maxlength" | "minbytes" | "maxbytes")[]>>) => boolean; readonly fieldValidationMinlength: (data: Partial<Record<"fieldValidateRules", ("min" | "required" | "pattern" | "max" | "unique" | "minlength" | "maxlength" | "minbytes" | "maxbytes")[]>>) => boolean; readonly fieldValidationMaxlength: (data: Partial<Record<"fieldValidateRules", ("min" | "required" | "pattern" | "max" | "unique" | "minlength" | "maxlength" | "minbytes" | "maxbytes")[]>>) => boolean; readonly fieldValidationMinbytes: (data: Partial<Record<"fieldValidateRules", ("min" | "required" | "pattern" | "max" | "unique" | "minlength" | "maxlength" | "minbytes" | "maxbytes")[]>>) => boolean; readonly fieldValidationMaxbytes: (data: Partial<Record<"fieldValidateRules", ("min" | "required" | "pattern" | "max" | "unique" | "minlength" | "maxlength" | "minbytes" | "maxbytes")[]>>) => boolean; readonly fieldNameCapitalized: ({ fieldName }: Field) => Capitalize<string>; readonly fieldNameUnderscored: ({ fieldName }: Field) => string; readonly fieldNameHumanized: ({ fieldName }: Field) => string; readonly propertyNameCapitalized: ({ propertyName }: Property) => Capitalize<string>; readonly propertyNameUpperSnakeCase: ({ propertyName }: Property) => string; readonly path: ({ fieldName }: Field) => string[]; readonly propertyName: ({ fieldName }: Field) => string; readonly fieldTypeBlobContent?: "image" | "any" | "text" | ((ctx: Field) => "image" | "any" | "text" | undefined) | undefined; readonly blobContentTypeImage: (data: Partial<Record<"fieldTypeBlobContent", "image" | "any" | "text" | undefined>>) => boolean; readonly blobContentTypeAny: (data: Partial<Record<"fieldTypeBlobContent", "image" | "any" | "text" | undefined>>) => boolean; readonly blobContentTypeText: (data: Partial<Record<"fieldTypeBlobContent", "image" | "any" | "text" | undefined>>) => boolean; readonly fieldTypeBytes: ({ fieldTypeByte }: Field) => boolean; readonly propertyApiDescription?: string | ((ctx: Field) => string | undefined) | undefined; readonly skipClient?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly skipServer?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly options?: Record<string, string | number | boolean> | ((ctx: Field) => Record<string, string | number | boolean> | undefined) | undefined; readonly documentation?: string | ((ctx: Field) => string | undefined) | undefined; readonly fieldValues?: string | ((ctx: Field) => string | undefined) | undefined; readonly fieldTypeDocumentation?: string | ((ctx: Field) => string | undefined) | undefined; readonly fieldValuesJavadocs?: Record<string, string> | ((ctx: Field) => Record<string, string> | undefined) | undefined; readonly fieldDomainType?: string | ((ctx: Field) => string | undefined) | undefined; readonly fieldTypeUpperUnderscored?: string | ((ctx: Field) => string | undefined) | undefined; readonly fieldProtobufType?: string | ((ctx: Field) => string | undefined) | undefined; readonly isProtobufCustomType?: string | ((ctx: Field) => string | undefined) | undefined; readonly javadoc?: string | ((ctx: Field) => string | undefined) | undefined; readonly fieldName?: string | ((ctx: Field) => string) | undefined; readonly fieldValidateRulesPattern?: string | ((ctx: Field) => string | undefined) | undefined; readonly fieldValidateRulesMaxlength?: number | ((ctx: Field) => number | undefined) | undefined; readonly fieldValidateRulesMax?: number | ((ctx: Field) => number | undefined) | undefined; readonly fieldValidateRulesMin?: number | ((ctx: Field) => number | undefined) | undefined; readonly fieldValidateRulesMinlength?: number | ((ctx: Field) => number | undefined) | undefined; readonly fieldValidateRulesMaxbytes?: number | ((ctx: Field) => number | undefined) | undefined; readonly fieldValidateRulesMinbytes?: number | ((ctx: Field) => number | undefined) | undefined; readonly fieldTypeJavadoc?: string | ((ctx: Field) => string | undefined) | undefined; readonly fieldTranslationKey?: string | ((ctx: Field) => string | undefined) | undefined; readonly propertyTranslationKey?: string | ((ctx: Field) => string | undefined) | undefined; readonly fieldApiDescription?: string | ((ctx: Field) => string | undefined) | undefined; readonly enumFileName?: string | ((ctx: Field) => string | undefined) | undefined; readonly enumValues?: { name: string; value: string; }[] | ((ctx: Field) => { name: string; value: string; }[] | undefined) | undefined; readonly fieldValidate?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly unique?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly maxlength?: number | ((ctx: Field) => number | undefined) | undefined; readonly fakerTemplate?: string | ((ctx: Field) => string | undefined) | undefined; readonly uniqueValue?: any[] | ((ctx: Field) => any[] | undefined) | undefined; readonly generateFakeDataFromPattern?: (() => string | undefined) | ((ctx: Field) => (() => string | undefined) | undefined) | undefined; readonly generateFakeData?: ((type?: "csv" | "cypress" | "json-serializable" | "ts") => any) | ((ctx: Field) => ((type?: "csv" | "cypress" | "json-serializable" | "ts") => any) | undefined) | undefined; readonly transient?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly id?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly autoGenerate?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly readonly?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly sequenceGeneratorName?: string | ((ctx: Field) => string | undefined) | undefined; readonly fieldWithContentType?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly contentTypeFieldName?: string | ((ctx: Field) => string | undefined) | undefined; readonly fieldTypeTimed?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly fieldTypeBinary?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly relatedByOtherEntity?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly enumInstance?: string | ((ctx: Field) => string | undefined) | undefined; readonly builtIn?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly derivedPath?: string[] | ((ctx: Field) => string[] | undefined) | undefined; readonly fieldType?: string | ((ctx: Field) => string) | undefined; readonly fieldIsEnum: boolean | ((ctx: Field) => boolean); readonly __override__: boolean; readonly fieldTypeBlob: (boolean | ((ctx: Field) => boolean)) & ((data: { propertyName?: string | ((ctx: Field) => string) | undefined; propertyNameCapitalized?: string | ((ctx: Field) => string | undefined) | undefined; propertyNameUpperSnakeCase?: string | ((ctx: Field) => string | undefined) | undefined; propertyApiDescription?: string | ((ctx: Field) => string | undefined) | undefined; skipClient?: boolean | ((ctx: Field) => boolean | undefined) | undefined; skipServer?: boolean | ((ctx: Field) => boolean | undefined) | undefined; options?: Record<string, string | number | boolean> | ((ctx: Field) => Record<string, string | number | boolean> | undefined) | undefined; documentation?: string | ((ctx: Field) => string | undefined) | undefined; fieldValues?: string | ((ctx: Field) => string | undefined) | undefined; fieldTypeDocumentation?: string | ((ctx: Field) => string | undefined) | undefined; fieldValuesJavadocs?: Record<string, string> | ((ctx: Field) => Record<string, string> | undefined) | undefined; fieldTypeBlobContent?: "image" | "any" | "text" | ((ctx: Field) => "image" | "any" | "text" | undefined) | undefined; fieldDomainType?: string | ((ctx: Field) => string | undefined) | undefined; fieldTypeUpperUnderscored?: string | ((ctx: Field) => string | undefined) | undefined; fieldProtobufType?: string | ((ctx: Field) => string | undefined) | undefined; isProtobufCustomType?: string | ((ctx: Field) => string | undefined) | undefined; javadoc?: string | ((ctx: Field) => string | undefined) | undefined; fieldName?: string | ((ctx: Field) => string) | undefined; fieldValidateRules?: ValidationType[] | ((ctx: Field) => ValidationType[] | undefined) | undefined; fieldValidateRulesPattern?: string | ((ctx: Field) => string | undefined) | undefined; fieldValidateRulesMaxlength?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMax?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMin?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMinlength?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMaxbytes?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMinbytes?: number | ((ctx: Field) => number | undefined) | undefined; fieldTypeJavadoc?: string | ((ctx: Field) => string | undefined) | undefined; path?: string[] | ((ctx: Field) => string[] | undefined) | undefined; fieldTranslationKey?: string | ((ctx: Field) => string | undefined) | undefined; propertyTranslationKey?: string | ((ctx: Field) => string | undefined) | undefined; fieldApiDescription?: string | ((ctx: Field) => string | undefined) | undefined; enumFileName?: string | ((ctx: Field) => string | undefined) | undefined; enumValues?: { name: string; value: string; }[] | ((ctx: Field) => { name: string; value: string; }[] | undefined) | undefined; fieldValidate?: boolean | ((ctx: Field) => boolean | undefined) | undefined; unique?: boolean | ((ctx: Field) => boolean | undefined) | undefined; maxlength?: number | ((ctx: Field) => number | undefined) | undefined; fakerTemplate?: string | ((ctx: Field) => string | undefined) | undefined; uniqueValue?: any[] | ((ctx: Field) => any[] | undefined) | undefined; generateFakeDataFromPattern?: (() => string | undefined) | ((ctx: Field) => (() => string | undefined) | undefined) | undefined; generateFakeData?: ((type?: "csv" | "cypress" | "json-serializable" | "ts") => any) | ((ctx: Field) => ((type?: "csv" | "cypress" | "json-serializable" | "ts") => any) | undefined) | undefined; transient?: boolean | ((ctx: Field) => boolean | undefined) | undefined; id?: boolean | ((ctx: Field) => boolean | undefined) | undefined; autoGenerate?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly?: boolean | ((ctx: Field) => boolean | undefined) | undefined; sequenceGeneratorName?: string | ((ctx: Field) => string | undefined) | undefined; fieldWithContentType?: boolean | ((ctx: Field) => boolean | undefined) | undefined; contentTypeFieldName?: string | ((ctx: Field) => string | undefined) | undefined; fieldTypeTimed?: boolean | ((ctx: Field) => boolean | undefined) | undefined; blobContentTypeText?: boolean | ((ctx: Field) => boolean | undefined) | undefined; blobContentTypeImage?: boolean | ((ctx: Field) => boolean | undefined) | undefined; blobContentTypeAny?: boolean | ((ctx: Field) => boolean | undefined) | undefined; fieldTypeBytes?: boolean | ((ctx: Field) => boolean | undefined) | undefined; fieldTypeBinary?: boolean | ((ctx: Field) => boolean | undefined) | undefined; relatedByOtherEntity?: boolean | ((ctx: Field) => boolean | undefined) | undefined; enumInstance?: string | ((ctx: Field) => string | undefined) | undefined; builtIn?: boolean | ((ctx: Field) => boolean | undefined) | undefined; derivedPath?: string[] | ((ctx: Field) => string[] | undefined) | undefined; fieldType?: string | ((ctx: Field) => string) | undefined; fieldIsEnum?: boolean | ((ctx: Field) => boolean) | undefined; __override__?: boolean | undefined; fieldValidationRequired: boolean | ((ctx: Field) => boolean); fieldTypeBlob: boolean | ((ctx: Field) => boolean); fieldTypeString: boolean | ((ctx: Field) => boolean); fieldTypeInteger: boolean | ((ctx: Field) => boolean); fieldTypeLong: boolean | ((ctx: Field) => boolean); fieldTypeBigDecimal: boolean | ((ctx: Field) => boolean); fieldTypeFloat: boolean | ((ctx: Field) => boolean); fieldTypeDouble: boolean | ((ctx: Field) => boolean); fieldTypeUUID: boolean | ((ctx: Field) => boolean); fieldTypeBoolean: boolean | ((ctx: Field) => boolean); fieldTypeLocalDate: boolean | ((ctx: Field) => boolean); fieldTypeZonedDateTime: boolean | ((ctx: Field) => boolean); fieldTypeAnyBlob: boolean | ((ctx: Field) => boolean); fieldTypeImageBlob: boolean | ((ctx: Field) => boolean); fieldTypeTextBlob: boolean | ((ctx: Field) => boolean); fieldTypeInstant: boolean | ((ctx: Field) => boolean); fieldTypeDuration: boolean | ((ctx: Field) => boolean); fieldTypeByte: boolean | ((ctx: Field) => boolean); fieldTypeByteBuffer: boolean | ((ctx: Field) => boolean); fieldTypeLocalTime: boolean | ((ctx: Field) => boolean); fieldValidationMin: boolean | ((ctx: Field) => boolean); fieldValidationPattern: boolean | ((ctx: Field) => boolean); fieldValidationMax: boolean | ((ctx: Field) => boolean); fieldValidationUnique: boolean | ((ctx: Field) => boolean); fieldValidationMinlength: boolean | ((ctx: Field) => boolean); fieldValidationMaxlength: boolean | ((ctx: Field) => boolean); fieldValidationMinbytes: boolean | ((ctx: Field) => boolean); fieldValidationMaxbytes: boolean | ((ctx: Field) => boolean); fieldNameCapitalized: string | ((ctx: Field) => string); fieldNameHumanized: string | ((ctx: Field) => string); fieldNameUnderscored: string | ((ctx: Field) => string); fieldValidationMinLength: boolean | ((ctx: Field) => boolean); fieldValidationMaxLength: boolean | ((ctx: Field) => boolean); fieldValidationMinBytes: boolean | ((ctx: Field) => boolean); fieldValidationMaxBytes: boolean | ((ctx: Field) => boolean); }) => boolean); readonly fieldTypeString: (boolean | ((ctx: Field) => boolean)) & ((data: { propertyName?: string | ((ctx: Field) => string) | undefined; propertyNameCapitalized?: string | ((ctx: Field) => string | undefined) | undefined; propertyNameUpperSnakeCase?: string | ((ctx: Field) => string | undefined) | undefined; propertyApiDescription?: string | ((ctx: Field) => string | undefined) | undefined; skipClient?: boolean | ((ctx: Field) => boolean | undefined) | undefined; skipServer?: boolean | ((ctx: Field) => boolean | undefined) | undefined; options?: Record<string, string | number | boolean> | ((ctx: Field) => Record<string, string | number | boolean> | undefined) | undefined; documentation?: string | ((ctx: Field) => string | undefined) | undefined; fieldValues?: string | ((ctx: Field) => string | undefined) | undefined; fieldTypeDocumentation?: string | ((ctx: Field) => string | undefined) | undefined; fieldValuesJavadocs?: Record<string, string> | ((ctx: Field) => Record<string, string> | undefined) | undefined; fieldTypeBlobContent?: "image" | "any" | "text" | ((ctx: Field) => "image" | "any" | "text" | undefined) | undefined; fieldDomainType?: string | ((ctx: Field) => string | undefined) | undefined; fieldTypeUpperUnderscored?: string | ((ctx: Field) => string | undefined) | undefined; fieldProtobufType?: string | ((ctx: Field) => string | undefined) | undefined; isProtobufCustomType?: string | ((ctx: Field) => string | undefined) | undefined; javadoc?: string | ((ctx: Field) => string | undefined) | undefined; fieldName?: string | ((ctx: Field) => string) | undefined; fieldValidateRules?: ValidationType[] | ((ctx: Field) => ValidationType[] | undefined) | undefined; fieldValidateRulesPattern?: string | ((ctx: Field) => string | undefined) | undefined; fieldValidateRulesMaxlength?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMax?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMin?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMinlength?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMaxbytes?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMinbytes?: number | ((ctx: Field) => number | undefined) | undefined; fieldTypeJavadoc?: string | ((ctx: Field) => string | undefined) | undefined; path?: string[] | ((ctx: Field) => string[] | undefined) | undefined; fieldTranslationKey?: string | ((ctx: Field) => string | undefined) | undefined; propertyTranslationKey?: string | ((ctx: Field) => string | undefined) | undefined; fieldApiDescription?: string | ((ctx: Field) => string | undefined) | undefined; enumFileName?: string | ((ctx: Field) => string | undefined) | undefined; enumValues?: { name: string; value: string; }[] | ((ctx: Field) => { name: string; value: string; }[] | undefined) | undefined; fieldValidate?: boolean | ((ctx: Field) => boolean | undefined) | undefined; unique?: boolean | ((ctx: Field) => boolean | undefined) | undefined; maxlength?: number | ((ctx: Field) => number | undefined) | undefined; fakerTemplate?: string | ((ctx: Field) => string | undefined) | undefined; uniqueValue?: any[] | ((ctx: Field) => any[] | undefined) | undefined; generateFakeDataFromPattern?: (() => string | undefined) | ((ctx: Field) => (() => string | undefined) | undefined) | undefined; generateFakeData?: ((type?: "csv" | "cypress" | "json-serializable" | "ts") => any) | ((ctx: Field) => ((type?: "csv" | "cypress" | "json-serializable" | "ts") => any) | undefined) | undefined; transient?: boolean | ((ctx: Field) => boolean | undefined) | undefined; id?: boolean | ((ctx: Field) => boolean | undefined) | undefined; autoGenerate?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly?: boolean | ((ctx: Field) => boolean | undefined) | undefined; sequenceGeneratorName?: string | ((ctx: Field) => string | undefined) | undefined; fieldWithContentType?: boolean | ((ctx: Field) => boolean | undefined) | undefined; contentTypeFieldName?: string | ((ctx: Field) => string | undefined) | undefined; fieldTypeTimed?: boolean | ((ctx: Field) => boolean | undefined) | undefined; blobContentTypeText?: boolean | ((ctx: Field) => boolean | undefined) | undefined; blobContentTypeImage?: boolean | ((ctx: Field) => boolean | undefined) | undefined; blobContentTypeAny?: boolean | ((ctx: Field) => boolean | undefined) | undefined; fieldTypeBytes?: boolean | ((ctx: Field) => boolean | undefined) | undefined; fieldTypeBinary?: boolean | ((ctx: Field) => boolean | undefined) | undefined; relatedByOtherEntity?: boolean | ((ctx: Field) => boolean | undefined) | undefined; enumInstance?: string | ((ctx: Field) => string | undefined) | undefined; builtIn?: boolean | ((ctx: Field) => boolean | undefined) | undefined; derivedPath?: string[] | ((ctx: Field) => string[] | undefined) | undefined; fieldType?: string | ((ctx: Field) => string) | undefined; fieldIsEnum?: boolean | ((ctx: Field) => boolean) | undefined; __override__?: boolean | undefined; fieldValidationRequired: boolean | ((ctx: Field) => boolean); fieldTypeBlob: boolean | ((ctx: Field) => boolean); fieldTypeString: boolean | ((ctx: Field) => boolean); fieldTypeInteger: boolean | ((ctx: Field) => boolean); fieldTypeLong: boolean | ((ctx: Field) => boolean); fieldTypeBigDecimal: boolean | ((ctx: Field) => boolean); fieldTypeFloat: boolean | ((ctx: Field) => boolean); fieldTypeDouble: boolean | ((ctx: Field) => boolean); fieldTypeUUID: boolean | ((ctx: Field) => boolean); fieldTypeBoolean: boolean | ((ctx: Field) => boolean); fieldTypeLocalDate: boolean | ((ctx: Field) => boolean); fieldTypeZonedDateTime: boolean | ((ctx: Field) => boolean); fieldTypeAnyBlob: boolean | ((ctx: Field) => boolean); fieldTypeImageBlob: boolean | ((ctx: Field) => boolean); fieldTypeTextBlob: boolean | ((ctx: Field) => boolean); fieldTypeInstant: boolean | ((ctx: Field) => boolean); fieldTypeDuration: boolean | ((ctx: Field) => boolean); fieldTypeByte: boolean | ((ctx: Field) => boolean); fieldTypeByteBuffer: boolean | ((ctx: Field) => boolean); fieldTypeLocalTime: boolean | ((ctx: Field) => boolean); fieldValidationMin: boolean | ((ctx: Field) => boolean); fieldValidationPattern: boolean | ((ctx: Field) => boolean); fieldValidationMax: boolean | ((ctx: Field) => boolean); fieldValidationUnique: boolean | ((ctx: Field) => boolean); fieldValidationMinlength: boolean | ((ctx: Field) => boolean); fieldValidationMaxlength: boolean | ((ctx: Field) => boolean); fieldValidationMinbytes: boolean | ((ctx: Field) => boolean); fieldValidationMaxbytes: boolean | ((ctx: Field) => boolean); fieldNameCapitalized: string | ((ctx: Field) => string); fieldNameHumanized: string | ((ctx: Field) => string); fieldNameUnderscored: string | ((ctx: Field) => string); fieldValidationMinLength: boolean | ((ctx: Field) => boolean); fieldValidationMaxLength: boolean | ((ctx: Field) => boolean); fieldValidationMinBytes: boolean | ((ctx: Field) => boolean); fieldValidationMaxBytes: boolean | ((ctx: Field) => boolean); }) => boolean); readonly fieldTypeInteger: (boolean | ((ctx: Field) => boolean)) & ((data: { propertyName?: string | ((ctx: Field) => string) | undefined; propertyNameCapitalized?: string | ((ctx: Field) => string | undefined) | undefined; propertyNameUpperSnakeCase?: string | ((ctx: Field) => string | undefined) | undefined; propertyApiDescription?: string | ((ctx: Field) => string | undefined) | undefined; skipClient?: boolean | ((ctx: Field) => boolean | undefined) | undefined; skipServer?: boolean | ((ctx: Field) => boolean | undefined) | undefined; options?: Record<string, string | number | boolean> | ((ctx: Field) => Record<string, string | number | boolean> | undefined) | undefined; documentation?: string | ((ctx: Field) => string | undefined) | undefined; fieldValues?: string | ((ctx: Field) => string | undefined) | undefined; fieldTypeDocumentation?: string | ((ctx: Field) => string | undefined) | undefined; fieldValuesJavadocs?: Record<string, string> | ((ctx: Field) => Record<string, string> | undefined) | undefined; fieldTypeBlobContent?: "image" | "any" | "text" | ((ctx: Field) => "image" | "any" | "text" | undefined) | undefined; fieldDomainType?: string | ((ctx: Field) => string | undefined) | undefined; fieldTypeUpperUnderscored?: string | ((ctx: Field) => string | undefined) | undefined; fieldProtobufType?: string | ((ctx: Field) => string | undefined) | undefined; isProtobufCustomType?: string | ((ctx: Field) => string | undefined) | undefined; javadoc?: string | ((ctx: Field) => string | undefined) | undefined; fieldName?: string | ((ctx: Field) => string) | undefined; fieldValidateRules?: ValidationType[] | ((ctx: Field) => ValidationType[] | undefined) | undefined; fieldValidateRulesPattern?: string | ((ctx: Field) => string | undefined) | undefined; fieldValidateRulesMaxlength?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMax?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMin?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMinlength?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMaxbytes?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMinbytes?: number | ((ctx: Field) => number | undefined) | undefined; fieldTypeJavadoc?: string | ((ctx: Field) => string | undefined) | undefined; path?: string[] | ((ctx: Field) => string[] | undefined) | undefined; fieldTranslationKey?: string | ((ctx: Field) => string | undefined) | undefined; propertyTranslationKey?: string | ((ctx: Field) => string | undefined) | undefined; fieldApiDescription?: string | ((ctx: Field) => string | undefined) | undefined; enumFileName?: string | ((ctx: Field) => string | undefined) | undefined; enumValues?: { name: string; value: string; }[] | ((ctx: Field) => { name: string; value: string; }[] | undefined) | undefined; fieldValidate?: boolean | ((ctx: Field) => boolean | undefined) | undefined; unique?: boolean | ((ctx: Field) => boolean | undefined) | undefined; maxlength?: number | ((ctx: Field) => number | undefined) | undefined; fakerTemplate?: string | ((ctx: Field) => string | undefined) | undefined; uniqueValue?: any[] | ((ctx: Field) => any[] | undefined) | undefined; generateFakeDataFromPattern?: (() => string | undefined) | ((ctx: Field) => (() => string | undefined) | undefined) | undefined; generateFakeData?: ((type?: "csv" | "cypress" | "json-serializable" | "ts") => any) | ((ctx: Field) => ((type?: "csv" | "cypress" | "json-serializable" | "ts") => any) | undefined) | undefined; transient?: boolean | ((ctx: Field) => boolean | undefined) | undefined; id?: boolean | ((ctx: Field) => boolean | undefined) | undefined; autoGenerate?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly?: boolean | ((ctx: Field) => boolean | undefined) | undefined; sequenceGeneratorName?: string | ((ctx: Field) => string | undefined) | undefined; fieldWithContentType?: boolean | ((ctx: Field) => boolean | undefined) | undefined; contentTypeFieldName?: string | ((ctx: Field) => string | undefined) | undefined; fieldTypeTimed?: boolean | ((ctx: Field) => boolean | undefined) | undefined; blobContentTypeText?: boolean | ((ctx: Field) => boolean | undefined) | undefined; blobContentTypeImage?: boolean | ((ctx: Field) => boolean | undefined) | undefined; blobContentTypeAny?: boolean | ((ctx: Field) => boolean | undefined) | undefined; fieldTypeBytes?: boolean | ((ctx: Field) => boolean | undefined) | undefined; fieldTypeBinary?: boolean | ((ctx: Field) => boolean | undefined) | undefined; relatedByOtherEntity?: boolean | ((ctx: Field) => boolean | undefined) | undefined; enumInstance?: string | ((ctx: Field) => string | undefined) | undefined; builtIn?: boolean | ((ctx: Field) => boolean | undefined) | undefined; derivedPath?: string[] | ((ctx: Field) => string[] | undefined) | undefined; fieldType?: string | ((ctx: Field) => string) | undefined; fieldIsEnum?: boolean | ((ctx: Field) => boolean) | undefined; __override__?: boolean | undefined; fieldValidationRequired: boolean | ((ctx: Field) => boolean); fieldTypeBlob: boolean | ((ctx: Field) => boolean); fieldTypeString: boolean | ((ctx: Field) => boolean); fieldTypeInteger: boolean | ((ctx: Field) => boolean); fieldTypeLong: boolean | ((ctx: Field) => boolean); fieldTypeBigDecimal: boolean | ((ctx: Field) => boolean); fieldTypeFloat: boolean | ((ctx: Field) => boolean); fieldTypeDouble: boolean | ((ctx: Field) => boolean); fieldTypeUUID: boolean | ((ctx: Field) => boolean); fieldTypeBoolean: boolean | ((ctx: Field) => boolean); fieldTypeLocalDate: boolean | ((ctx: Field) => boolean); fieldTypeZonedDateTime: boolean | ((ctx: Field) => boolean); fieldTypeAnyBlob: boolean | ((ctx: Field) => boolean); fieldTypeImageBlob: boolean | ((ctx: Field) => boolean); fieldTypeTextBlob: boolean | ((ctx: Field) => boolean); fieldTypeInstant: boolean | ((ctx: Field) => boolean); fieldTypeDuration: boolean | ((ctx: Field) => boolean); fieldTypeByte: boolean | ((ctx: Field) => boolean); fieldTypeByteBuffer: boolean | ((ctx: Field) => boolean); fieldTypeLocalTime: boolean | ((ctx: Field) => boolean); fieldValidationMin: boolean | ((ctx: Field) => boolean); fieldValidationPattern: boolean | ((ctx: Field) => boolean); fieldValidationMax: boolean | ((ctx: Field) => boolean); fieldValidationUnique: boolean | ((ctx: Field) => boolean); fieldValidationMinlength: boolean | ((ctx: Field) => boolean); fieldValidationMaxlength: boolean | ((ctx: Field) => boolean); fieldValidationMinbytes: boolean | ((ctx: Field) => boolean); fieldValidationMaxbytes: boolean | ((ctx: Field) => boolean); fieldNameCapitalized: string | ((ctx: Field) => string); fieldNameHumanized: string | ((ctx: Field) => string); fieldNameUnderscored: string | ((ctx: Field) => string); fieldValidationMinLength: boolean | ((ctx: Field) => boolean); fieldValidationMaxLength: boolean | ((ctx: Field) => boolean); fieldValidationMinBytes: boolean | ((ctx: Field) => boolean); fieldValidationMaxBytes: boolean | ((ctx: Field) => boolean); }) => boolean); readonly fieldTypeLong: (boolean | ((ctx: Field) => boolean)) & ((data: { propertyName?: string | ((ctx: Field) => string) | undefined; propertyNameCapitalized?: string | ((ctx: Field) => string | undefined) | undefined; propertyNameUpperSnakeCase?: string | ((ctx: Field) => string | undefined) | undefined; propertyApiDescription?: string | ((ctx: Field) => string | undefined) | undefined; skipClient?: boolean | ((ctx: Field) => boolean | undefined) | undefined; skipServer?: boolean | ((ctx: Field) => boolean | undefined) | undefined; options?: Record<string, string | number | boolean> | ((ctx: Field) => Record<string, string | number | boolean> | undefined) | undefined; documentation?: string | ((ctx: Field) => string | undefined) | undefined; fieldValues?: string | ((ctx: Field) => string | undefined) | undefined; fieldTypeDocumentation?: string | ((ctx: Field) => string | undefined) | undefined; fieldValuesJavadocs?: Record<string, string> | ((ctx: Field) => Record<string, string> | undefined) | undefined; fieldTypeBlobContent?: "image" | "any" | "text" | ((ctx: Field) => "image" | "any" | "text" | undefined) | undefined; fieldDomainType?: string | ((ctx: Field) => string | undefined) | undefined; fieldTypeUpperUnderscored?: string | ((ctx: Field) => string | undefined) | undefined; fieldProtobufType?: string | ((ctx: Field) => string | undefined) | undefined; isProtobufCustomType?: string | ((ctx: Field) => string | undefined) | undefined; javadoc?: string | ((ctx: Field) => string | undefined) | undefined; fieldName?: string | ((ctx: Field) => string) | undefined; fieldValidateRules?: ValidationType[] | ((ctx: Field) => ValidationType[] | undefined) | undefined; fieldValidateRulesPattern?: string | ((ctx: Field) => string | undefined) | undefined; fieldValidateRulesMaxlength?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMax?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMin?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMinlength?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMaxbytes?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMinbytes?: number | ((ctx: Field) => number | undefined) | undefined; fieldTypeJavadoc?: string | ((ctx: Field) => string | undefined) | undefined; path?: string[] | ((ctx: Field) => string[] | undefined) | undefined; fieldTranslationKey?: string | ((ctx: Field) => string | undefined) | undefined; propertyTranslationKey?: string | ((ctx: Field) => string | undefined) | undefined; fieldApiDescription?: string | ((ctx: Field) => string | undefined) | undefined; enumFileName?: string | ((ctx: Field) => string | undefined) | undefined; enumValues?: { name: string; value: string; }[] | ((ctx: Field) => { name: string; value: string; }[] | undefined) | undefined; fieldValidate?: boolean | ((ctx: Field) => boolean | undefined) | undefined; unique?: boolean | ((ctx: Field) => boolean | undefined) | undefined; maxlength?: number | ((ctx: Field) => number | undefined) | undefined; fakerTemplate?: string | ((ctx: Field) => string | undefined) | undefined; uniqueValue?: any[] | ((ctx: Field) => any[] | undefined) | undefined; generateFakeDataFromPattern?: (() => string | undefined) | ((ctx: Field) => (() => string | undefined) | undefined) | undefined; generateFakeData?: ((type?: "csv" | "cypress" | "json-serializable" | "ts") => any) | ((ctx: Field) => ((type?: "csv" | "cypress" | "json-serializable" | "ts") => any) | undefined) | undefined; transient?: boolean | ((ctx: Field) => boolean | undefined) | undefined; id?: boolean | ((ctx: Field) => boolean | undefined) | undefined; autoGenerate?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly?: boolean | ((ctx: Field) => boolean | undefined) | undefined; sequenceGeneratorName?: string | ((ctx: Field) => string | undefined) | undefined; fieldWithContentType?: boolean | ((ctx: Field) => boolean | undefined) | undefined; contentTypeFieldName?: string | ((ctx: Field) => string | undefined) | undefined; fieldTypeTimed?: boolean | ((ctx: Field) => boolean | undefined) | undefined; blobContentTypeText?: boolean | ((ctx: Field) => boolean | undefined) | undefined; blobContentTypeImage?: boolean | ((ctx: Field) => boolean | undefined) | undefined; blobContentTypeAny?: boolean | ((ctx: Field) => boolean | undefined) | undefined; fieldTypeBytes?: boolean | ((ctx: Field) => boolean | undefined) | undefined; fieldTypeBinary?: boolean | ((ctx: Field) => boolean | undefined) | undefined; relatedByOtherEntity?: boolean | ((ctx: Field) => boolean | undefined) | undefined; enumInstance?: string | ((ctx: Field) => string | undefined) | undefined; builtIn?: boolean | ((ctx: Field) => boolean | undefined) | undefined; derivedPath?: string[] | ((ctx: Field) => string[] | undefined) | undefined; fieldType?: string | ((ctx: Field) => string) | undefined; fieldIsEnum?: boolean | ((ctx: Field) => boolean) | undefined; __override__?: boolean | undefined; fieldValidationRequired: boolean | ((ctx: Field) => boolean); fieldTypeBlob: boolean | ((ctx: Field) => boolean); fieldTypeString: boolean | ((ctx: Field) => boolean); fieldTypeInteger: boolean | ((ctx: Field) => boolean); fieldTypeLong: boolean | ((ctx: Field) => boolean); fieldTypeBigDecimal: boolean | ((ctx: Field) => boolean); fieldTypeFloat: boolean | ((ctx: Field) => boolean); fieldTypeDouble: boolean | ((ctx: Field) => boolean); fieldTypeUUID: boolean | ((ctx: Field) => boolean); fieldTypeBoolean: boolean | ((ctx: Field) => boolean); fieldTypeLocalDate: boolean | ((ctx: Field) => boolean); fieldTypeZonedDateTime: boolean | ((ctx: Field) => boolean); fieldTypeAnyBlob: boolean | ((ctx: Field) => boolean); fieldTypeImageBlob: boolean | ((ctx: Field) => boolean); fieldTypeTextBlob: boolean | ((ctx: Field) => boolean); fieldTypeInstant: boolean | ((ctx: Field) => boolean); fieldTypeDuration: boolean | ((ctx: Field) => boolean); fieldTypeByte: boolean | ((ctx: Field) => boolean); fieldTypeByteBuffer: boolean | ((ctx: Field) => boolean); fieldTypeLocalTime: boolean | ((ctx: Field) => boolean); fieldValidationMin: boolean | ((ctx: Field) => boolean); fieldValidationPattern: boolean | ((ctx: Field) => boolean); fieldValidationMax: boolean | ((ctx: Field) => boolean); fieldValidationUnique: boolean | ((ctx: Field) => boolean); fieldValidationMinlength: boolean | ((ctx: Field) => boolean); fieldValidationMaxlength: boolean | ((ctx: Field) => boolean); fieldValidationMinbytes: boolean | ((ctx: Field) => boolean); fieldValidationMaxbytes: boolean | ((ctx: Field) => boolean); fieldNameCapitalized: string | ((ctx: Field) => string); fieldNameHumanized: string | ((ctx: Field) => string); fieldNameUnderscored: string | ((ctx: Field) => string); fieldValidationMinLength: boolean | ((ctx: Field) => boolean); fieldValidationMaxLength: boolean | ((ctx: Field) => boolean); fieldValidationMinBytes: boolean | ((ctx: Field) => boolean); fieldValidationMaxBytes: boolean | ((ctx: Field) => boolean); }) => boolean); readonly fieldTypeBigDecimal: (boolean | ((ctx: Field) => boolean)) & ((data: { propertyName?: string | ((ctx: Field) => string) | undefined; propertyNameCapitalized?: string | ((ctx: Field) => string | undefined) | undefined; propertyNameUpperSnakeCase?: string | ((ctx: Field) => string | undefined) | undefined; propertyApiDescription?: string | ((ctx: Field) => string | undefined) | undefined; skipClient?: boolean | ((ctx: Field) => boolean | undefined) | undefined; skipServer?: boolean | ((ctx: Field) => boolean | undefined) | undefined; options?: Record<string, string | number | boolean> | ((ctx: Field) => Record<string, string | number | boolean> | undefined) | undefined; documentation?: string | ((ctx: Field) => string | undefined) | undefined; fieldValues?: string | ((ctx: Field) => string | undefined) | undefined; fieldTypeDocumentation?: string | ((ctx: Field) => string | undefined) | undefined; fieldValuesJavadocs?: Record<string, string> | ((ctx: Field) => Record<string, string> | undefined) | undefined; fieldTypeBlobContent?: "image" | "any" | "text" | ((ctx: Field) => "image" | "any" | "text" | undefined) | undefined; fieldDomainType?: string | ((ctx: Field) => string | undefined) | undefined; fieldTypeUpperUnderscored?: string | ((ctx: Field) => string | undefined) | undefined; fieldProtobufType?: string | ((ctx: Field) => string | undefined) | undefined; isProtobufCustomType?: string | ((ctx: Field) => string | undefined) | undefined; javadoc?: string | ((ctx: Field) => string | undefined) | undefined; fieldName?: string | ((ctx: Field) => string) | undefined; fieldValidateRules?: ValidationType[] | ((ctx: Field) => ValidationType[] | undefined) | undefined; fieldValidateRulesPattern?: string | ((ctx: Field) => string | undefined) | undefined; fieldValidateRulesMaxlength?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMax?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMin?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMinlength?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMaxbytes?: number | ((ctx: Field) => number | undefined) | undefined; fieldValidateRulesMinbytes?: number | ((ctx: Field) => number | undefined) | undefined; fieldTypeJavadoc?: string | ((ctx: Field) => string | undefined) | undefined; path?: string[] | ((ctx: Field) => string[] | undefined) | undefined; fieldTranslationKey?: string | ((ctx: Field) => string | undefined) | undefined; propertyTranslationKey?: string | ((ctx: Field) => string | undefined) | undefined; fieldApiDescription?: string | ((ctx: Field) => string | undefined) | undefined; enumFileName?: string | ((ctx: Field) => string | undefined) | undefined; enumValues?: { name: string; value: string; }[] | ((ctx: Field) => { name: string; value: string; }[] | undefined) | undefined; fieldValidate?: boolean | ((ctx: Field) => boolean | undefined) | undefined; unique?: boolean | ((ctx: Field) => boolean | undefined) | undefined; maxlength?: number | ((ctx: Field) => number | undefined) | undefined; fakerTemplate?: string | ((ctx: Field) => string | undefined) | undefined; uniqueValue?: any[] | ((ctx: Field) => any[] | undefined) | undefined; generateFakeDataFromPattern?: (() => string | undefined) | ((ctx: Field) => (() => string | undefined) | undefined) | undefined; generateFakeData?: ((type?: "csv" | "cypress" | "json-serializable" | "ts") => any) | ((ctx: Field) => ((type?: "csv" | "cypress" | "json-serializable" | "ts") => any) | undefined) | undefined; transient?: boolean | ((ctx: Field) => boolean | undefined) | undefined; id?: boolean | ((ctx: Field) => boolean | undefined) | undefined; autoGenerate?: boolean | ((ctx: Field) => boolean | undefined) | undefined; readonly?: boolean | ((ctx: Field) => boolean | undefined) | undefined; sequenceGeneratorName?: string | ((ctx: Field) => string | undefined) | undefined; fieldWithContentType?: boolean | ((ctx: Field) => boolean | undefined) | undefined; contentTypeFieldName?: string | ((ctx: Field) => string | undefined) | undefined; fieldTypeTimed?: boolean | ((ctx: Field) => boolean | undefined) | undefined; blobContentTypeText?: boolean | ((ctx: Field) => boolean | undefined) | undefined; blobContentTypeImage?: boolean | ((ctx: Field) => boolean | undefined) | undefined; blobContentTypeAny?: boolean | ((ctx: Field) => boolean | undefined) | undefined; fieldTypeBytes?: boolean | ((ctx: Field) => boolean | undefined) | undefined; fieldTypeBinary?: boolean | ((ctx: Field) => boolean | undefined) | undefined; relatedByOtherEntity?: boolean | ((ctx: Field) => boolean | undefined) | undefined; enumInstance?: string | ((ctx: Field) => string | undefined) | undefined; builtIn?: boolean | ((ctx: Field) => boolean | undefined) | undefined; derivedPath?: string[] | ((ctx: Field) => string[] | undefined) | undefined; fieldType?: string | ((ctx: Field) => string) | undefined; fieldIsEnum?: boolean | ((ctx: Field) => boolean) | undefined; __override__?: boolean | undefined; fieldValidationRequired: boolean | ((ctx: Field) => boolean); fieldTypeBlob: boolean | ((ctx: Field) => boolean); fieldTypeString: boolean | ((ctx: Field) => boolean); fieldTypeInteger: boolean | ((ctx: Field) => boolean); fieldTypeLong: boolean | ((ctx: Field) => boolean); fieldTypeBigDecimal: boolean | ((ctx: Field) => boolean); fieldTypeFloat: boolean | ((ctx: Field) => boolean); fieldTypeDouble: boolean | ((ctx: Field) => boolean); fieldTypeUUID: boolean | ((ctx: Field) => boolean); fieldTypeBoolean: boolean | ((ctx: Field) => boolean); fieldTypeLocalDate: boolean | ((ctx: Field) => boolean); fieldTypeZonedDateTime: boolean | ((ctx: Field) => boolean); fieldTypeAnyBlob: boolean | ((ctx: Field) => boolean); fieldTypeImageBlob: boolean | ((ctx: Field) => boolean); fieldTypeTextBlob: boolean | ((ctx: Field) => boolean); fieldTypeInstant: boolean | ((ctx: Field) => boolean); fieldTypeDuration: boolean | ((ctx: Field) => boolean); fieldTypeByte: boolean | ((ctx: Field) => boolean); fieldTypeByteBuffer: boolean | ((ctx: Field) => boolean); fieldTypeLocalTime: boolean | ((ctx: Field) => boolean); fieldValidationMin: boolean | ((ctx: Field) => boolean); fieldValidationPattern: boolean | ((ctx: Field) => boolean); fieldValidationMax: boolean | ((ctx: Field) => boolean); fieldValidationUnique: boolean | ((ctx: Field) => boolean); fieldValidationMinlength: boolean | ((ctx: Field) => boolean); fieldValidationMaxlength: boolean | ((ctx: F