-
Notifications
You must be signed in to change notification settings - Fork 35
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
Feature Request: not
schema
#105
Comments
For an example, generate an odd number between 10-20: {
"type": "integer",
"minimum": 10,
"allOf": [
{
"maximum": 20
}
],
"not": {
"allOf": [
{
"multipleOf": 2
}
]
}
} The example provided is deliberately more complex than it needs to be to show the composing nature of the problem. |
Do you have a proposed solution for this? |
https://github.com/json-schema-faker/json-schema-faker/blob/d4403ae6cdba2206fe86399900c4095de8db7d2a/src/lib/core/utils.mjs#L350 It seems like the original author built a new schema and "manually" inversed some of the properties and then replaced the original schema... Another approach might be to collect all the constraints imposed on a certain value and then generate a value matching all those constraints?
But I assume that could get very complicated very fast with lots of constraints... |
I think that the problem is much bigger than I initially assumed: Line 255 in 8db0755
The current implementation will only take {
"type": "integer",
"allOf": [
{
"minimum": 10
},
{
"maximum": 20
}
]
} The above should be equivalent to: {
"type": "integer",
"minimum": 10,
"maximum": 20
} I think the |
I would have thought the above wouldn't be valid without a type in the all of objects. |
Yup, that was my assumption also at first, but things are a bit more complicated... |
Support
not
schema: https://json-schema.org/understanding-json-schema/reference/combining#notThe text was updated successfully, but these errors were encountered: