Jason Desrosiers

Results 562 comments of Jason Desrosiers

> we need to work out what happens when they are used together When they are used together, they each assert independently just like any other keyword. That does mean...

I implemented `optional` in my `draft-future` dialect. If you want to try it out, you can go to https://json-schema.hyperjump.io and use `$schema": "https://json-schema.org/draft/future/schema"`. Note: Things in my `draft-future` dialect are...

> I don't believe doing multiple things is a problem as such. If there is a keyword does two things (an "authoring convenience keyword"), then as long as we also...

> This seems more complicated to me from both an authoring perspective as well as an implementation perspective. The whole reason I implemented this keyword was to explore things like...

Just to be clear, the `draft-future` dialect is not really a public implementation. It shouldn't be used for anything other than to evaluate if it's a good idea to add...

> If `optional` lists `foo`, then we have an invalid schema because `foo` can't both be optional and required. This isn't correct. This is what I meant when I said...

> This isn't intuitive to me If this is confusing to us, it's going to be much more so for users. Maybe we can come up with a better name....

The problem isn't that it's difficult to understand or to explain. The problem is that people will see the word "optional", assume they know what that means, and skip over...

The best suggestion I have is `requireAllExcept`.

Here's an example that sets a dynamic anchor with the identifier `https://json-schema.hyperjump.io/anchor/list` and dynamically references it. ```json { "$id": "https://json-schema.hyperjump.io/schema/list", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "list": { "type": "array",...