vocab-idl icon indicating copy to clipboard operation
vocab-idl copied to clipboard

Help and clarify how JSON Schema can be interpreted from validation rules to data definition. This extends to how those data definitions can be represented in any programming language

Results 23 vocab-idl issues
Sort by recently updated
recently updated
newest added

Im not sure if this is in focus yet, but when attempting to fail at using JSON Schema as an IDL, one of the biggest issues was explicitly mapping a...

https://github.com/Crell/enum-comparison - C/C++ - named integers - C# - named integers, but fields on static classes can support more complex objects (more of a pattern than language support), e.g. `System.Drawing.SystemColors`,...

When generating a schema from a type, we generally have all of the information we need. (I'm having trouble thinking of a type declaration that doesn't have enough information to...

Relevant discussion: - https://github.com/json-schema-org/json-schema-spec/issues/907 - https://github.com/json-schema-org/json-schema-spec/issues/348 (also has lots of reference links) Examples of current use: - https://www.jsonschema2pojo.org/ (search "extends") Typically, inheritance is modelled something like this: ```jsonc // base...

After looking at the individual issues, I would like to share a few general and overarching thoughts. I feel scattering them around the individual issues will lead to confusion. Hence,...

Many languages allow for an initial value to be set for a property upon instantiation. For example, in C# we do this: ```c# class MyClass { public string Foo {...

In many languages there exist reserved, that data models cannot contain, so what do we do when we actually encounter them. For example in TS, say you want a data...

Subschemas and nested types appear everywhere. Generally, a subschema will represent a new type. ```json { "type": "object", "properties": { "foo": { "type": "integer" }, "bar": { "type": "object", "properties":...

Many languages have conventions and strict ways you name either properties, classes, etc. And almost all languages won't accept a property such as `{"properties": {"some weird €&# property name": {}}`....

_For this conversation, a "simple" type is a type that inherits from (essentially) nothing._ A mostly universal concept is that a simple type has named properties. Thus the most basic...