@rjsf/utils
Advanced tools
Comparing version
@@ -66,6 +66,7 @@ import { Experimental_CustomMergeAllOf, Experimental_DefaultFormStateBehavior, FormContextType, RJSFSchema, StrictRJSFSchema, ValidatorType } from '../types'; | ||
* @param formData - The current formData | ||
* @param experimental_defaultFormStateBehavior - Optional configuration object, if provided, allows users to override default form state behavior | ||
* @param [experimental_defaultFormStateBehavior] - Optional configuration object, if provided, allows users to override default form state behavior | ||
* @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas | ||
* @returns - valid formData that matches schema | ||
*/ | ||
export declare function ensureFormDataMatchingSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema: S, formData: T | undefined, experimental_defaultFormStateBehavior?: Experimental_DefaultFormStateBehavior): T | T[] | undefined; | ||
export declare function ensureFormDataMatchingSchema<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(validator: ValidatorType<T, S, F>, schema: S, rootSchema: S, formData: T | undefined, experimental_defaultFormStateBehavior?: Experimental_DefaultFormStateBehavior, experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>): T | T[] | undefined; | ||
/** Computes the default value for objects. | ||
@@ -72,0 +73,0 @@ * |
@@ -231,3 +231,3 @@ import get from 'lodash/get'; | ||
const { mergeExtraDefaults } = arrayMinItems; | ||
const matchingFormData = ensureFormDataMatchingSchema(validator, schema, rootSchema, rawFormData, experimental_defaultFormStateBehavior); | ||
const matchingFormData = ensureFormDataMatchingSchema(validator, schema, rootSchema, rawFormData, experimental_defaultFormStateBehavior, experimental_customMergeAllOf); | ||
if (!isObject(rawFormData)) { | ||
@@ -246,7 +246,8 @@ defaultsWithFormData = mergeDefaultsWithFormData(defaultsWithFormData, matchingFormData, mergeExtraDefaults, true); | ||
* @param formData - The current formData | ||
* @param experimental_defaultFormStateBehavior - Optional configuration object, if provided, allows users to override default form state behavior | ||
* @param [experimental_defaultFormStateBehavior] - Optional configuration object, if provided, allows users to override default form state behavior | ||
* @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas | ||
* @returns - valid formData that matches schema | ||
*/ | ||
export function ensureFormDataMatchingSchema(validator, schema, rootSchema, formData, experimental_defaultFormStateBehavior) { | ||
const isSelectField = !isConstant(schema) && isSelect(validator, schema, rootSchema); | ||
export function ensureFormDataMatchingSchema(validator, schema, rootSchema, formData, experimental_defaultFormStateBehavior, experimental_customMergeAllOf) { | ||
const isSelectField = !isConstant(schema) && isSelect(validator, schema, rootSchema, experimental_customMergeAllOf); | ||
let validFormData = formData; | ||
@@ -253,0 +254,0 @@ if (isSelectField) { |
{ | ||
"name": "@rjsf/utils", | ||
"version": "5.24.3", | ||
"version": "5.24.4", | ||
"main": "dist/index.js", | ||
@@ -8,2 +8,8 @@ "module": "lib/index.js", | ||
"description": "Utility functions for @rjsf/core", | ||
"exports": { | ||
"require": "./dist/index.js", | ||
"node": "./dist/index.js", | ||
"import": "./lib/index.js", | ||
"types": "./lib/index.d.ts" | ||
}, | ||
"files": [ | ||
@@ -19,3 +25,4 @@ "dist", | ||
"scripts": { | ||
"build:ts": "tsc -b", | ||
"compileReplacer": "tsc -p tsconfig.replacer.json", | ||
"build:ts": "npm run compileReplacer && rimraf ./lib && tsc -b tsconfig.build.json && tsc-alias -p tsconfig.build.json", | ||
"build:cjs": "esbuild ./src/index.ts --bundle --outfile=dist/index.js --sourcemap --packages=external --format=cjs", | ||
@@ -90,3 +97,3 @@ "build:esm": "esbuild ./src/index.ts --bundle --outfile=dist/utils.esm.js --sourcemap --packages=external --format=esm", | ||
"license": "Apache-2.0", | ||
"gitHead": "76eff41ea01c073dd20ec5712fd21fb99eb11787" | ||
"gitHead": "fadbd45a4a565a773ba6e31f6f26f1b5b55c1377" | ||
} |
@@ -347,3 +347,4 @@ import get from 'lodash/get'; | ||
rawFormData, | ||
experimental_defaultFormStateBehavior | ||
experimental_defaultFormStateBehavior, | ||
experimental_customMergeAllOf | ||
); | ||
@@ -370,3 +371,4 @@ if (!isObject(rawFormData)) { | ||
* @param formData - The current formData | ||
* @param experimental_defaultFormStateBehavior - Optional configuration object, if provided, allows users to override default form state behavior | ||
* @param [experimental_defaultFormStateBehavior] - Optional configuration object, if provided, allows users to override default form state behavior | ||
* @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas | ||
* @returns - valid formData that matches schema | ||
@@ -383,5 +385,6 @@ */ | ||
formData: T | undefined, | ||
experimental_defaultFormStateBehavior?: Experimental_DefaultFormStateBehavior | ||
experimental_defaultFormStateBehavior?: Experimental_DefaultFormStateBehavior, | ||
experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S> | ||
): T | T[] | undefined { | ||
const isSelectField = !isConstant(schema) && isSelect(validator, schema, rootSchema); | ||
const isSelectField = !isConstant(schema) && isSelect(validator, schema, rootSchema, experimental_customMergeAllOf); | ||
let validFormData: T | T[] | undefined = formData; | ||
@@ -388,0 +391,0 @@ if (isSelectField) { |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
1824091
0.1%22061
0.04%