nickel-lang / json-schema-to-nickel

Convert JSON schemas into Nickel contracts
Apache License 2.0
32 stars 0 forks source link

Try to create array contracts where possible #52

Closed jneem closed 10 months ago

jneem commented 10 months ago

This tries to build simple array contracts like Array T instead of predicates. It results in changes like this:

@@ -980,22 +946,10 @@
                   [ predicates.isType '"String", predicates.isType 'Null ])
                   | optional,
                 language-servers
-                  | predicates.contract_from_predicate
-                  (predicates.allOf
-                  [
-                    predicates.isType '"Array",
-                    predicates.arrays.arrayOf
-                    definitions.predicate.LanguageServerFeatures
-                  ])
+                  | Array definitions.contract.LanguageServerFeatures
                   | optional,
                 name | String,
-                roots
-                  | predicates.contract_from_predicate
-                  (predicates.allOf
-                  [
-                    predicates.isType '"Array",
-                    predicates.arrays.arrayOf (predicates.isType '"String")
-                  ]),
+                roots | Array (String),
                 rulers
                   | predicates.contract_from_predicate
                   (predicates.allOf