This repository has been archived on 2024-11-11. You can view files and clone it, but cannot push or open issues or pull requests.
react-component-form/src/utils/handleCheckboxBoolean.ts
Divlo 69f12002c7
build(deps): update latest
BREAKING CHANGE: peerDependencies: `react@>=18.2.0`
2023-04-02 21:52:34 +02:00

26 lines
753 B
TypeScript

import type { TObject } from '@sinclair/typebox'
import type { Schema } from '../hooks/useForm'
export const handleCheckboxBoolean = (
object: Schema,
validateSchemaObject: TObject<Schema>
): Schema => {
const booleanProperties: string[] = []
for (const property in validateSchemaObject.properties) {
const rule = validateSchemaObject.properties[property]
if (rule.type === 'boolean') {
booleanProperties.push(property)
}
}
for (const booleanProperty of booleanProperties) {
if (object[booleanProperty] == null) {
object[booleanProperty] =
validateSchemaObject.properties[booleanProperty].default
} else {
object[booleanProperty] = object[booleanProperty] === 'on'
}
}
return object
}