ion-schema-kotlin
ion-schema-kotlin copied to clipboard
A Kotlin reference implementation of the Ion Schema Specification.
Intuitively, I'd expect Schema.newType() to not just create the type but also register the type to Schema, but it doesn't. For ex: in this test, after I create a Type...
An ISL schema is Ion and Ion supports any custom annotation on type fields. ISL could also support, but it is explicitly been not allowed as per this code [1]....
It looks like `AuthorityFileSystem` [follows soft links for the base directory](https://github.com/amazon-ion/ion-schema-kotlin/blob/bbab678c12fdd07bcb9b5d632fb7364a04541a73/ion-schema/src/main/kotlin/com/amazon/ionschema/AuthorityFilesystem.kt#L40-L44) (by using `canonicalPath`) but then doesn’t follow them for the child path provided as the schema `id`. It _does_...
When any number of types have a circular "is-a" relationship it results in a `StackOverflowException` during validation. Ideally, it should result in an `InvalidSchemaException` when loading the schema. See https://github.com/amazon-ion/ion-schema-rust/issues/205...
This is a somewhat contrived example, but it's simple enough to illustrate the issue without divulging any private details of the real thing I'm dealing with. Imagine I have a...
In the Ion Schema 2.0 definition [Variably Occurring Type Arguments](https://amazon-ion.github.io/ion-schema/docs/isl-2-0/spec#variably-occurring-type-arguments) are defined as ``` ::= { , ... } | ``` Based on this, it would be useful to be...
Current reporting is unable to give a good error message in the case of multiple alternative applicable types or constraints. If we had a notion of edit distance or match...
>Should we look for another version marker and reenter the parsing loop if we find one? No, I don't think so. There's a bunch of issues that make it undesirable...
Having a properly typed model will make it nicer to manipulate the schema definitions for things such as: * converting to/from other schema formats * comparing two schemas * writing...