Skip to content

createFormData

La fonction createFormData() crée un FormData étendu à partir de valeurs imbriquées (objets et tableaux) et conserve l'entrée d'origine dans inputValues.

Valeurs supportées:

  • string, File, boolean, number, null, undefined
  • DDate.TheDate, DDate.TheTime
  • objets et tableaux imbriqués composés de ces valeurs

Utilisez TheFormData.toFlatEntries(...) quand vous avez besoin de paires clé/valeur aplaties, et TheFormData.fromEntries(...) pour reconstruire un objet imbriqué après réception des entrées form-data côté backend. Pendant l'aplatissement, les valeurs non-File sont converties en chaînes (null devient "null").

Exemple interactif

Syntaxe

typescript
type EligibleFormDataValue =
	| boolean
	| number
	| null
	| string
	| File
	| undefined
	| DDate.TheDate
	| DDate.TheTime
	| { [key: string]: EligibleFormDataValue }
	| EligibleFormDataValue[];

class TheFormData<
	GenericValues extends Record<string, EligibleFormDataValue>
> extends FormData {
	readonly inputValues: GenericValues;

	static toFlatEntries(
		value: EligibleFormDataValue,
		path?: string
	): Iterable<[string, string | File]>;

	static fromEntries(
		iterable: Iterable<[string, unknown]>,
		arrayMaxIndex: number
	): object;
}

function createFormData<
	GenericValues extends Record<string, EligibleFormDataValue>
>(
	inputValues: GenericValues
): TheFormData<GenericValues>;

Paramètres

  • inputValues : Objet imbriqué à convertir en FormData.
  • iterable : Entrées plates (souvent la sortie de FormData.entries()) à reconstruire.
  • arrayMaxIndex : Index maximal accepté lors de la reconstruction des tableaux avec fromEntries.
  • value / path : Paramètres utilisés par toFlatEntries pour aplatir récursivement les données.

Valeur de retour

  • createFormData(...) retourne une instance de TheFormData.
  • TheFormData.toFlatEntries(...) retourne un itérable de paires plates [path, value].
  • TheFormData.fromEntries(...) retourne un objet imbriqué reconstruit.

toFlatEntries(...) sérialise boolean, number, null, DDate.TheDate et DDate.TheTime en chaînes.

Voir aussi

  • pipe - Composer des transformations autour de createFormData
  • stringToBytes - Helper de parsing de chaînes souvent utilisé avec les métadonnées multipart

Diffusé sous licence MIT.