Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feil: Feil i typing ved bruk av registerWithMasks #3763

Open
daa1 opened this issue Nov 27, 2023 · 0 comments
Open

Feil: Feil i typing ved bruk av registerWithMasks #3763

daa1 opened this issue Nov 27, 2023 · 0 comments
Labels
🐝 bug Noe er feil eller ikke som det skal

Comments

@daa1
Copy link
Contributor

daa1 commented Nov 27, 2023

Får klaging fra TypeScript når jeg bruker registerWithMasks og videre registerWithFodselsnummerMask.

Steg for å gjenskape

Dette fungerer stort fint ved helt vanlig bruk av react hook form. Problemet oppstår når vi bruker useFieldArray og har en type som ut noe som dette:

export type IdentifiseringFormValues = {
    vals: Array<{
        fodselsnummer: string;
        firstName: string;
        lastName: string;
    }>;
};

Textinput ser slik ut:

<TextInput
                label="Fødselsnummer (11 siffer)"
                className="jkl-spacing-16--bottom"
                maxLength={12}
                inputMode="numeric"
                {...registerWithFodselsnummerMask(`vals.${index}.fodselsnummer`, {
                    required: true,
                    maxLength: 11,
                    minLength: 11,
                    validate: {
                        isOlderThanAgeLimit: (v) =>
                            isOlderThanNumberOfMonths(
                                getBirthDateFromSsn(v as string),
                                minStartAgeInMonths
                            ),
                        isYoungerThanAgeLimit: (v) =>
                            isYoungerThanNumberOfMonths(
                                getBirthDateFromSsn(v as string),
                                maxStartAgeInMonths
                            ),
                        isValidFodselsnummer: (v) => isValidFodselsnummer(v as string),
                        isUniqueSsn: (v) => isUniqueSsn(v as string, allSsn),
                    },
                    deps,
                })}

Så får vi følgende feil:
image

Forventet oppførsel

Forventer at typingen til wrapperen skal bli korrekt.

Med litt fikling lokalt i registerWithMask.d.ts filen og endre dette så slutter TypeScript å klage:

Gammel linje:
registerWithFodselsnummerMask: (name: Path, options?: RegisterWithMaskOptions | undefined) => UseFormRegisterReturn;

Modifisert linje:
registerWithFodselsnummerMask: UseFormRegister;

@daa1 daa1 added the 🐝 bug Noe er feil eller ikke som det skal label Nov 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐝 bug Noe er feil eller ikke som det skal
Projects
None yet
Development

No branches or pull requests

1 participant