packages feed

aeson-schemas 1.0.1 → 1.0.2

raw patch · 70 files changed

+216/−2 lines, 70 filesdep ~first-class-familiesPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: first-class-families

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ ## Upcoming +## 1.0.2++Bundle test data files in release tarball+ ## 1.0.1  Add support with `first-class-families-0.6.0.0`
aeson-schemas.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 268ce311efa5b339b40dbab7b1b84b4d779ec54bbeda8756b9de810c636745fb+-- hash: 492943d0169b4a3f5457ebaf335ee3b3630cfbfa520d699dd098450a55875d1a  name:           aeson-schemas-version:        1.0.1+version:        1.0.2 synopsis:       Easily consume JSON data on-demand with type-safety description:    Parse JSON data easily and safely without defining new data types. Useful                 for deeply nested JSON data, which is difficult to parse using the default@@ -23,6 +23,74 @@ extra-source-files:     README.md     CHANGELOG.md+    test/all_types.json+    test/nested.json+    test/goldens/bool.golden+    test/goldens/bool_int_double.golden+    test/goldens/double.golden+    test/goldens/enum.golden+    test/goldens/from_object_all_types.golden+    test/goldens/from_object_namespaced.golden+    test/goldens/from_object_nested.golden+    test/goldens/get_empty.golden+    test/goldens/get_just_start.golden+    test/goldens/get_ops_after_list.golden+    test/goldens/get_ops_after_tuple.golden+    test/goldens/getter_all_types_list.golden+    test/goldens/getter_all_types_list_item.golden+    test/goldens/int.golden+    test/goldens/int_int2.golden+    test/goldens/lambda_bool.golden+    test/goldens/list.golden+    test/goldens/list_explicit.golden+    test/goldens/list_maybeBool.golden+    test/goldens/list_maybeInt.golden+    test/goldens/list_type.golden+    test/goldens/maybeList.golden+    test/goldens/maybeList_bang.golden+    test/goldens/maybeList_bang_list.golden+    test/goldens/maybeList_bang_list_text.golden+    test/goldens/maybeList_list.golden+    test/goldens/maybeList_list_text.golden+    test/goldens/maybeListNull.golden+    test/goldens/maybeListNull_bang.golden+    test/goldens/maybeListNull_list.golden+    test/goldens/maybeListNull_list_text.golden+    test/goldens/maybeObj.golden+    test/goldens/maybeObj_bang.golden+    test/goldens/maybeObj_bang_text.golden+    test/goldens/maybeObj_text.golden+    test/goldens/maybeObjNull.golden+    test/goldens/maybeObjNull_text.golden+    test/goldens/nonexistent.golden+    test/goldens/README_Quickstart.golden+    test/goldens/scalar.golden+    test/goldens/schema_def_bool.golden+    test/goldens/schema_def_custom.golden+    test/goldens/schema_def_double.golden+    test/goldens/schema_def_duplicate.golden+    test/goldens/schema_def_duplicate_extend.golden+    test/goldens/schema_def_extend.golden+    test/goldens/schema_def_import_user.golden+    test/goldens/schema_def_int.golden+    test/goldens/schema_def_invalid_extend.golden+    test/goldens/schema_def_list.golden+    test/goldens/schema_def_list_obj.golden+    test/goldens/schema_def_maybe.golden+    test/goldens/schema_def_maybe_obj.golden+    test/goldens/schema_def_not_object.golden+    test/goldens/schema_def_obj.golden+    test/goldens/schema_def_shadow.golden+    test/goldens/schema_def_text.golden+    test/goldens/schema_def_unknown_type.golden+    test/goldens/text.golden+    test/goldens/unwrap_schema.golden+    test/goldens/unwrap_schema_bad_bang.golden+    test/goldens/unwrap_schema_bad_key.golden+    test/goldens/unwrap_schema_bad_list.golden+    test/goldens/unwrap_schema_bad_question.golden+    test/goldens/unwrap_schema_nested_list.golden+    test/goldens/unwrap_schema_nested_object.golden  source-repository head   type: git
+ test/all_types.json view
@@ -0,0 +1,36 @@+{+    "bool": true,+    "int": 1,+    "int2": 2,+    "double": 2.5,+    "text": "asdf",+    "scalar": "12,34",+    "enum": "HELLO",+    "maybeObject": {+        "text": "foo"+    },+    "maybeObjectNull": null,+    "maybeList": [+        {+            "text": "foo"+        },+        {+            "text": "bar"+        }+    ],+    "maybeListNull": null,+    "list": [+        {+            "type": "bool",+            "maybeBool": true+        },+        {+            "type": "int",+            "maybeInt": 2+        },+        {+            "type": "null",+            "maybeNull": null+        }+    ]+}
+ test/goldens/README_Quickstart.golden view
@@ -0,0 +1,17 @@+[1,2,3,4]+Details for user #1:+* Name: Alice+* Age: 30+* Groups: [{"id": 1, "name": "admin"}]+Details for user #2:+* Name: Bob+* Age: N/A+* No groups+Details for user #3:+* Name: Charlie+* Age: 25+* Groups: []+Details for user #4:+* Name: Darlene+* Age: 40+* Groups: [{"id": 2, "name": "groupA"},{"id": 3, "name": "groupB"}]
+ test/goldens/bool.golden view
@@ -0,0 +1,1 @@+True
+ test/goldens/bool_int_double.golden view
@@ -0,0 +1,1 @@+(True,1,2.5)
+ test/goldens/double.golden view
@@ -0,0 +1,1 @@+2.5
+ test/goldens/enum.golden view
@@ -0,0 +1,1 @@+HELLO
+ test/goldens/from_object_all_types.golden view
@@ -0,0 +1,1 @@+["True","2","Nothing"]
+ test/goldens/from_object_namespaced.golden view
@@ -0,0 +1,1 @@+["bool","int","null","1","3"]
+ test/goldens/from_object_nested.golden view
@@ -0,0 +1,1 @@+[1,2]
+ test/goldens/get_empty.golden view
@@ -0,0 +1,6 @@+1:1:+  |+1 | <empty line>+  | ^+unexpected end of input+expecting "[]", '!', '(', '.', '?', '[', lowercase letter, or white space
+ test/goldens/get_just_start.golden view
@@ -0,0 +1,6 @@+allTypes:1:9:+  |+1 | allTypes+  |         ^+unexpected end of input+expecting "[]", '!', ''', '(', '.', '?', '[', or alphanumeric character
+ test/goldens/get_ops_after_list.golden view
@@ -0,0 +1,1 @@+.[*] operation MUST be last.
+ test/goldens/get_ops_after_tuple.golden view
@@ -0,0 +1,1 @@+.(*) operation MUST be last.
+ test/goldens/getter_all_types_list.golden view
@@ -0,0 +1,1 @@+[{"type": "bool", "maybeBool": Just True, "maybeInt": Nothing, "maybeNull": Nothing},{"type": "int", "maybeBool": Nothing, "maybeInt": Just 2, "maybeNull": Nothing},{"type": "null", "maybeBool": Nothing, "maybeInt": Nothing, "maybeNull": Nothing}]
+ test/goldens/getter_all_types_list_item.golden view
@@ -0,0 +1,1 @@+["bool","int","null"]
+ test/goldens/int.golden view
@@ -0,0 +1,1 @@+1
+ test/goldens/int_int2.golden view
@@ -0,0 +1,1 @@+[1,2]
+ test/goldens/lambda_bool.golden view
@@ -0,0 +1,1 @@+True
+ test/goldens/list.golden view
@@ -0,0 +1,1 @@+[{"type": "bool", "maybeBool": Just True, "maybeInt": Nothing, "maybeNull": Nothing},{"type": "int", "maybeBool": Nothing, "maybeInt": Just 2, "maybeNull": Nothing},{"type": "null", "maybeBool": Nothing, "maybeInt": Nothing, "maybeNull": Nothing}]
+ test/goldens/list_explicit.golden view
@@ -0,0 +1,1 @@+[{"type": "bool", "maybeBool": Just True, "maybeInt": Nothing, "maybeNull": Nothing},{"type": "int", "maybeBool": Nothing, "maybeInt": Just 2, "maybeNull": Nothing},{"type": "null", "maybeBool": Nothing, "maybeInt": Nothing, "maybeNull": Nothing}]
+ test/goldens/list_maybeBool.golden view
@@ -0,0 +1,1 @@+[Just True,Nothing,Nothing]
+ test/goldens/list_maybeInt.golden view
@@ -0,0 +1,1 @@+[Nothing,Just 2,Nothing]
+ test/goldens/list_type.golden view
@@ -0,0 +1,1 @@+["bool","int","null"]
+ test/goldens/maybeList.golden view
@@ -0,0 +1,1 @@+Just [{"text": "foo"},{"text": "bar"}]
+ test/goldens/maybeListNull.golden view
@@ -0,0 +1,1 @@+Nothing
+ test/goldens/maybeListNull_bang.golden view
@@ -0,0 +1,1 @@+Called 'fromJust' on null expression: (AllTypes.result).maybeListNull
+ test/goldens/maybeListNull_list.golden view
@@ -0,0 +1,1 @@+Nothing
+ test/goldens/maybeListNull_list_text.golden view
@@ -0,0 +1,1 @@+Nothing
+ test/goldens/maybeList_bang.golden view
@@ -0,0 +1,1 @@+[{"text": "foo"},{"text": "bar"}]
+ test/goldens/maybeList_bang_list.golden view
@@ -0,0 +1,1 @@+[{"text": "foo"},{"text": "bar"}]
+ test/goldens/maybeList_bang_list_text.golden view
@@ -0,0 +1,1 @@+["foo","bar"]
+ test/goldens/maybeList_list.golden view
@@ -0,0 +1,1 @@+Just [{"text": "foo"},{"text": "bar"}]
+ test/goldens/maybeList_list_text.golden view
@@ -0,0 +1,1 @@+Just ["foo","bar"]
+ test/goldens/maybeObj.golden view
@@ -0,0 +1,1 @@+Just {"text": "foo"}
+ test/goldens/maybeObjNull.golden view
@@ -0,0 +1,1 @@+Nothing
+ test/goldens/maybeObjNull_text.golden view
@@ -0,0 +1,1 @@+Nothing
+ test/goldens/maybeObj_bang.golden view
@@ -0,0 +1,1 @@+{"text": "foo"}
+ test/goldens/maybeObj_bang_text.golden view
@@ -0,0 +1,1 @@+"foo"
+ test/goldens/maybeObj_text.golden view
@@ -0,0 +1,1 @@+Just "foo"
+ test/goldens/nonexistent.golden view
@@ -0,0 +1,1 @@+Nothing
+ test/goldens/scalar.golden view
@@ -0,0 +1,1 @@+Coordinate (12,34)
+ test/goldens/schema_def_bool.golden view
@@ -0,0 +1,1 @@+SchemaObject {"a": Bool}
+ test/goldens/schema_def_custom.golden view
@@ -0,0 +1,1 @@+SchemaObject {"status": Status}
+ test/goldens/schema_def_double.golden view
@@ -0,0 +1,1 @@+SchemaObject {"foo123": Double}
+ test/goldens/schema_def_duplicate.golden view
@@ -0,0 +1,1 @@+Key 'a' specified multiple times
+ test/goldens/schema_def_duplicate_extend.golden view
@@ -0,0 +1,1 @@+Key 'extra' declared in multiple imported schemas
+ test/goldens/schema_def_extend.golden view
@@ -0,0 +1,1 @@+SchemaObject {"a": Int, "extra": Text}
+ test/goldens/schema_def_import_user.golden view
@@ -0,0 +1,1 @@+SchemaObject {"user": {"name": Text}}
+ test/goldens/schema_def_int.golden view
@@ -0,0 +1,1 @@+SchemaObject {"a": Int}
+ test/goldens/schema_def_invalid_extend.golden view
@@ -0,0 +1,1 @@+'GHC.Types.Int' is not a SchemaObject
+ test/goldens/schema_def_list.golden view
@@ -0,0 +1,1 @@+SchemaObject {"a": List Int}
+ test/goldens/schema_def_list_obj.golden view
@@ -0,0 +1,1 @@+SchemaObject {"a": List {"b": Int}}
+ test/goldens/schema_def_maybe.golden view
@@ -0,0 +1,1 @@+SchemaObject {"a": Maybe Int}
+ test/goldens/schema_def_maybe_obj.golden view
@@ -0,0 +1,1 @@+SchemaObject {"a": Maybe {"b": Int}}
+ test/goldens/schema_def_not_object.golden view
@@ -0,0 +1,1 @@+`schema` definition must be an object
+ test/goldens/schema_def_obj.golden view
@@ -0,0 +1,1 @@+SchemaObject {"a": {"b": Int}}
+ test/goldens/schema_def_shadow.golden view
@@ -0,0 +1,1 @@+SchemaObject {"extra": Bool}
+ test/goldens/schema_def_text.golden view
@@ -0,0 +1,1 @@+SchemaObject {"some_text": Text}
+ test/goldens/schema_def_unknown_type.golden view
@@ -0,0 +1,1 @@+`schema` definition must be an object
+ test/goldens/text.golden view
@@ -0,0 +1,1 @@+"asdf"
+ test/goldens/unwrap_schema.golden view
@@ -0,0 +1,1 @@+Object (SchemaObject {"a": Maybe {"b": Int}, "b": Int})
+ test/goldens/unwrap_schema_bad_bang.golden view
@@ -0,0 +1,1 @@+Cannot use `!` operator on schema: SchemaObject {"type": Text, "maybeBool": Maybe Bool, "maybeInt": Maybe Int, "maybeNull": Maybe Bool}
+ test/goldens/unwrap_schema_bad_key.golden view
@@ -0,0 +1,1 @@+Cannot get key 'a' in schema: SchemaList {"type": Text, "maybeBool": Maybe Bool, "maybeInt": Maybe Int, "maybeNull": Maybe Bool}
+ test/goldens/unwrap_schema_bad_list.golden view
@@ -0,0 +1,1 @@+Cannot use `[]` operator on schema: SchemaObject {"type": Text, "maybeBool": Maybe Bool, "maybeInt": Maybe Int, "maybeNull": Maybe Bool}
+ test/goldens/unwrap_schema_bad_question.golden view
@@ -0,0 +1,1 @@+Cannot use `?` operator on schema: SchemaObject {"type": Text, "maybeBool": Maybe Bool, "maybeInt": Maybe Int, "maybeNull": Maybe Bool}
+ test/goldens/unwrap_schema_nested_list.golden view
@@ -0,0 +1,1 @@+[{"a": Nothing, "b": 1},{"a": Just {"b": 2}, "b": 3}]
+ test/goldens/unwrap_schema_nested_object.golden view
@@ -0,0 +1,1 @@+[1,2]
+ test/nested.json view
@@ -0,0 +1,14 @@+{+    "list": [+        {+            "a": null,+            "b": 1+        },+        {+            "a": {+                "b": 2+            },+            "b": 3+        }+    ]+}