-
-
Notifications
You must be signed in to change notification settings - Fork 208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TypeCoercion like ajv #607
Comments
To what end? AJV is coercing JSON into JavaScript natives. FJS is converting JavaScript natives into JSON. |
const fastJson = require('fast-json-stringify')
const stringify = fastJson({
title: 'Example Schema',
type: 'object',
properties: {
boolean: {
type: 'boolean'
}
}
})
console.log(stringify({
boolean: "false"
})) results in awesome |
Not a good example IMHO. With the same result, you can complain about the js standard. but I also don't like some types coercions that we have. The question is what should we do in this case?
|
The risk that I see here is about diverging behaviour between ajv and fsj. Then we have some cases were ajv validates as valid and fsj maybe throws or serializes it differently. Also we potentially need to coerce the vaues if we want to process them for stuff like const and enum. If we want to go that way. |
I'm pro to good coercion default and not throwing. |
Prerequisites
Issue
In my opinion, we should do the same type coercion like ajv does.
https://ajv.js.org/coercion.html
The text was updated successfully, but these errors were encountered: