/** * Builds an object from a string (ex: [colors][0][code]). * @param str * @param value * @param context */ export declare function buildObject(str: string, value: any, context?: Record | null): Record; /** * Returns the value of a field (input, select or textarea). * @param element */ export declare function getFieldValue(element: HTMLElement): string | string[] | null; /** * Returns all fields in a form with the same name. * @param name * @param form */ export declare function getFieldsByName(name: string, form: HTMLFormElement): Array; /** * Returns input value. * @param element */ export declare function getInputValue(element: HTMLInputElement): string | string[] | null; /** * Returns select value. * @param element */ export declare function getSelectValue(element: HTMLSelectElement): string | string[]; /** * Returns textarea value. * @param element */ export declare function getTextareaValue(element: HTMLTextAreaElement): string | string[]; /** * Checks if the field is checkable. * @param element */ export declare function isCheckableField(element: Element): boolean; /** * Checks if the element value can be edited. * @param element */ export declare function isFieldValueEditable(element: Element): boolean; /** * Checks if field name describes an array * or if the name is found multiple times in the form. * @param element */ export declare function isMultipleField(element: Element): boolean; /** * Replaces empty string by null value. * @param value */ export declare function nullify(value: any): any; /** * Removes extra spaces. * @param value */ export declare function trim(value: any): any; /** * Returns a boolean string. * @param value */ export declare function parseBoolean(value: string | null): boolean | null; /** * Parses a number string. * Returns null instead of NaN if value is not a number. * @param value */ export declare function parseNumber(value: string | null): number | null; export type ParsingType = 'auto' | 'boolean' | 'number' | 'string' | string; /** * Parses a value based on type. * @param value * @param type */ export declare function parseValue(value: string | null, type?: ParsingType): string | number | boolean | null; export type ParsingMode = 'none' | 'type' | 'data-type' | 'auto'; export type ParseFieldOptions = { nullify?: boolean; parser?: (value: any, dataType?: string, element?: HTMLElement) => any; parsing?: ParsingMode; trim?: boolean; }; /** * Returns the parsed value of the field. * @param element * @param options */ export declare function parseField(element: HTMLElement, options?: ParseFieldOptions): any; /** * Returns the parsed value based on the "data-type" attribute. * @param element * @param parser */ export declare function parseFieldByDataType(element: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement, parser?: (value: any, dataType?: string, element?: HTMLElement) => any): any; /** * Returns value based on "type" attribute. * @param element */ export declare function parseFieldByType(element: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement): string | number | string[] | (number | null)[] | null; export type ParseFormOptions = { cleanFunction?: (value: string, field: Element) => any; filterFunction?: (element: Element, parsedValue: any) => boolean; nullify?: boolean; parser?: (value: any, dataType?: string, element?: HTMLElement) => any; parsing?: ParsingMode; trim?: boolean; }; /** * Returns form values as an object. * @param form * @param options */ export declare function parseForm(form: HTMLFormElement, options?: ParseFormOptions): Record; //# sourceMappingURL=index.d.ts.map