![PyPI Slashes Malware Response Time: 90% of Issues Resolved in Under 24 Hours](https://cdn.sanity.io/images/cgdhsj6q/production/eee3e3fc69826f43dfc3366b71472d981003a5cb-1024x1024.webp?w=400&fit=max&auto=format)
Security News
PyPI Slashes Malware Response Time: 90% of Issues Resolved in Under 24 Hours
PyPI has drastically improved its malware response times, resolving 90% of issues in under 24 hours and removing 900 projects since March 2024.
@rjsf/utils
Advanced tools
Package description
@rjsf/utils is a utility library for React JSON Schema Form (RJSF). It provides a set of helper functions and utilities to work with JSON schemas, form data, and UI schemas. This package is designed to simplify the process of creating and managing forms using JSON schema definitions.
Schema Validation
This feature allows you to validate form data against a JSON schema. The `validateFormData` function takes form data and a schema as inputs and returns validation errors if any.
const { validateFormData } = require('@rjsf/utils');
const schema = { type: 'object', properties: { name: { type: 'string' } } };
const formData = { name: 'John Doe' };
const result = validateFormData(formData, schema);
console.log(result.errors);
Schema Merging
This feature allows you to merge multiple JSON schemas into one. The `mergeSchemas` function takes two or more schemas and combines them into a single schema.
const { mergeSchemas } = require('@rjsf/utils');
const schema1 = { type: 'object', properties: { name: { type: 'string' } } };
const schema2 = { type: 'object', properties: { age: { type: 'number' } } };
const mergedSchema = mergeSchemas(schema1, schema2);
console.log(mergedSchema);
Form Data Manipulation
This feature allows you to manipulate form data based on a schema. The `getDefaultFormState` function takes a schema and form data as inputs and returns the default form state.
const { getDefaultFormState } = require('@rjsf/utils');
const schema = { type: 'object', properties: { name: { type: 'string' }, age: { type: 'number' } } };
const formData = { name: 'John Doe' };
const defaultFormData = getDefaultFormState(schema, formData);
console.log(defaultFormData);
AJV (Another JSON Schema Validator) is a popular JSON schema validator. It provides high-performance validation of JSON schemas and is widely used in the JavaScript ecosystem. Compared to @rjsf/utils, AJV focuses more on schema validation and less on form-specific utilities.
JSON Schema Faker is a library that generates fake data based on a JSON schema. It is useful for testing and prototyping. While @rjsf/utils focuses on form utilities, JSON Schema Faker is more about generating mock data from schemas.
React JSONSchema Form is a library for building forms from JSON schema definitions. It includes a set of utilities similar to @rjsf/utils but is more focused on the form rendering aspect. @rjsf/utils can be seen as a subset of the utilities provided by React JSONSchema Form.
Changelog
5.6.0
undefined
in the SelectWidget
, fixing #3595Form
to use the new validatorDataMerge()
and toErrorList()
functions instead of the now deprecated schemaUtils.mergeValidatorData()
and schemaUtils.getValidator().toErrorList()
focusOnFirstError
(3590)MultiSchemaField
to handle the OpenAPI discriminator
extension on anyOf/oneOf
fields by passing it into getClosestMatchingOption()
if it exists, fixing #3512SchemaField
function to use getSchemaType
rather than schema.type
to set the proper class name.createErrorHandler()
, toErrorList()
, toErrorSchema()
and unwrapErrorHandler()
functions from the @rjsf/validator-ajv6
and @rjsf/validator-ajv8
implementations since they were identical
mergeValidationData()
function was deprecated in favor of the new validationDataMerge()
function that uses the refactored toErrorList()
functionROOT_SCHEMA_PREFIX
constant as wellValidatorType
and SchemaUtilsType
to deprecate the toErrorList()
and mergeValidationData()
functions, respectivelygetClosestMatchingOption()
and getFirstMatchingOption()
to pass the new discriminatorField
to the getMatchingOption()
functiongetMatchingOption()
to use discriminatorField
when it is present in the options
object properties to drill into the object to detect if that one field is validSchemaUtilsType
and the associated forward functions in createSchemaUtils
to add the new discriminatorField?: string
optional parametertoIdSchema()
function to use getSchemaType(schema) === 'object'
rather than schema.type === 'object'
to get the proper pathing for ids, fixing #2044AJV6Validator
in favor of using the new functions and constant from @rjsf/utils
AJV8Validator
in favor of using the new functions and constant from @rjsf/utils
utility-functions
documentation to describe the new refactored functions as well as deprecating the mergeValidationData()
functionplayground
to properly restore liveSettings
from shared links and added a switch for noHtml5Validation
in the live settings rather than having it set to true
always
Blank
example to help users easily paste their codeReadme
Utility functions for react-jsonschema-form
.
Explore the docs »
View Playground
·
Report Bug
·
Request Feature
Exports utils
functions for react-jsonschema-form
.
yarn add @rjsf/utils
import * as Utils from '@rjsf/utils';
Utility function documentation
See the open issues for a list of proposed features (and known issues).
Read our contributors' guide to get started.
rjsf team: https://github.com/orgs/rjsf-team/people
GitHub repository: https://github.com/rjsf-team/react-jsonschema-form
FAQs
Utility functions for @rjsf/core
The npm package @rjsf/utils receives a total of 184,809 weekly downloads. As such, @rjsf/utils popularity was classified as popular.
We found that @rjsf/utils demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI has drastically improved its malware response times, resolving 90% of issues in under 24 hours and removing 900 projects since March 2024.
Security News
Research
The Socket Research team breaks down an obfuscated script designed to facilitate unauthorized file uploads to multiple external services.
Security News
Node.js has automated its security release process, doubling the number of releases, and is re-evaluating unsupported experimental features with the Next 10 group to enhance security.