tdegrunt / jsonschema

JSON Schema validation
Other
1.83k stars 263 forks source link

An "instance" property proposal #121

Open awwright opened 9 years ago

awwright commented 9 years ago

Right now we are somewhat overloading the "type" property to allow it to contain things like "date". I overload it myself for a MongoDB "ObjectId".

What if instead we just used {type:"object", instance:"ObjectId"}? This would be a little bit closer to ECMAScript semantics, without overloading JSON Schema semantics.

For cases where you want to say an object can't be an instance of anything, you only want it to be a key-value map, you could use {type:"object", instance:false} maybe.

tdegrunt commented 9 years ago

Same here, on the overloading part. What you suggest seems fine, we do need to maintain compatibility for a while though.

awwright commented 9 years ago

Right, {type:"date"} could continue to be supported, I don't think we'd even need to deprecate it; but in my usage it would raise as an invalid JSON Schema against the meta-schema.

tdegrunt commented 9 years ago

:+1: