Skip to content

[REQ][typescript-fetch] Improve typing for generated ValidationAttributeMap objects #24620

Description

@devtobi

Is your feature request related to a problem? Please describe.

The current generation of the *ValidationAttributesMap objects generated the type as:

export const BauprogrammCreateDTOPropertyValidationAttributesMap: {
    [property: string]: {
        maxLength?: number,
        minLength?: number,
        pattern?: string,
        maximum?: number,
        exclusiveMaximum?: boolean,
        minimum?: number,
        exclusiveMinimum?: boolean,
        multipleOf?: number,
        maxItems?: number,
        minItems?: number,
        uniqueItems?: boolean
    }
} = { ... }

This makes the TS compiler unaware of the actual keys existent in the object and thus disabled auto completion and type safety when working with the *ValidationAttributesMap objects.

Describe the solution you'd like

I suggest to define a generic ValidationAttributes interface containing the type and removing the explicit type declaration from generated ValidationAttributeMaps. satisfies check would then keep the type safety for the Map objects themself intact.

Since ValidationAttributes would be a type thats not related to a specific model, the type should be defined centrally only once. (e.g. in runtime?)

Describe alternatives you've considered

--

Additional context

--

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions