Socket
Socket
Sign inDemoInstall

@rjsf/utils

Package Overview
Dependencies
Maintainers
2
Versions
75
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rjsf/utils

Utility functions for @rjsf/core


Version published
Weekly downloads
236K
decreased by-10.72%
Maintainers
2
Created
Weekly downloads
 

Package description

What is @rjsf/utils?

@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.

What are @rjsf/utils's main functionalities?

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);

Other packages similar to @rjsf/utils

Changelog

Source

5.13.1

@rjsf/core

  • Updated ArrayField to move errors in the errorSchema when the position of array items changes for the insert and copy cases.

@rjsf/material-ui

  • Removed an unnecessary Grid container component in the ArrayFieldTemplate component that wrapped the ArrayFieldItemTemplate, fixing #3863
  • Fixed an issue where SelectWidget switches from controlled to uncontrolled when enumOptions does not include a value, fixing #3844

@rjsf/mui

  • Removed an unnecessary Grid container component in the ArrayFieldTemplate component that wrapped the ArrayFieldItemTemplate, fixing #3863
  • Fixed an issue where SelectWidget switches from controlled to uncontrolled when enumOptions does not include a value, fixing #3844

@rjsf/utils

  • Added getOptionMatchingSimpleDiscriminator() function
  • getMatchingOption and getClosestMatchingOption now bypass validator.isValid() calls when simple discriminator is provided, fixing #3692
  • Fix data type in FieldTemplateProps['onChange']
  • Updated retrieveSchema() to properly resolve references inside of properties and array items while also dealing with recursive $refs, fixing #3761
    • Updated schemaParser() and getClosestMatchingOption() to pass the new recursiveRef parameter added to internal retrieveSchema() APIs
  • Added/updated all the necessary tests to restore the 100% test coverage that was lost when updating to Jest 29
    • Updated getDefaultFormState() to remove an unnecessary check for formData being an object since it is always guaranteed to be one, thereby allowing full testing coverage
  • Updated getSchemaType() to return the first schema type when it is an array not containing 'null', fixing #3875

@rjsf/validator-ajv8

  • Updated the validator and precompiledValidator tests to the restore 100% coverage that was lost when updating to Jest 29
    • Updated isValid() for the validator commenting out an if condition that was preventing 100% coverage, with a TODO to fix it later

Dev / docs / playground

  • Added the @types/jest as a global devDependency so that developer tools properly recognize the jest function types

Readme

Source

Build Status npm npm downloads Contributors Apache 2.0 License


Logo

@rjsf/utils

Utility functions for react-jsonschema-form.
Explore the docs »

View Playground · Report Bug · Request Feature

Table of Contents

About The Project

Exports utils functions for react-jsonschema-form.

Built With

Getting Started

Installation

yarn add @rjsf/utils

Usage

import * as Utils from '@rjsf/utils';

Documentation

Utility function documentation

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Read our contributors' guide to get started.

Contact

rjsf team: https://github.com/orgs/rjsf-team/people

GitHub repository: https://github.com/rjsf-team/react-jsonschema-form

Keywords

FAQs

Package last updated on 11 Oct 2023

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc