Mathew Polzin
ae7e0f528a
abstract away document comparison
2019-11-06 00:19:27 -08:00
Mathew Polzin
9f42e5fa3f
Merge pull request #48 from mattpolzin/feature/indentation
...
Feature/indentation
2019-11-05 23:03:03 -08:00
Mathew Polzin
3e96adf775
merge and fix conflicts
2019-11-05 23:00:18 -08:00
Mathew Polzin
83233a7e1a
Merge pull request #46 from mattpolzin/feature/testing-comparisons
...
Feature/testing comparisons
2019-11-05 22:47:47 -08:00
Mathew Polzin
adcc6bfb10
fix error after merge
2019-11-05 22:43:40 -08:00
Mathew Polzin
6f9a2df605
Merge remote-tracking branch 'origin/alpha/3x' into feature/testing-comparisons
2019-11-05 22:41:53 -08:00
Mathew Polzin
c24b70b49f
Merge pull request #45 from mattpolzin/feature/deprecate-subscript
...
Feature/deprecate subscript
2019-11-05 22:40:37 -08:00
Mathew Polzin
7b56e35a91
Merge pull request #47 from mattpolzin/feature/document-improvements
...
Feature/document improvements
2019-11-05 22:38:42 -08:00
Mathew Polzin
e6f82c6052
indentation
2019-11-05 22:37:48 -08:00
Mathew Polzin
d6f01d6c1d
indentation
2019-11-05 22:27:59 -08:00
Mathew Polzin
a7f6ed5845
update README
2019-11-05 21:03:51 -08:00
Mathew Polzin
87271b93f9
deprecate subscript attribute accessor in favor of key path dynamic member lookup
2019-11-05 20:48:04 -08:00
Mathew Polzin
706346e3a6
just reformatting and rearranging
2019-11-05 20:04:47 -08:00
Mathew Polzin
33a5ff41a0
beginning to do some breaking change cleanup
2019-11-05 19:50:52 -08:00
Mathew Polzin
0fe5c53ada
generate linuxmain
2019-11-05 19:04:47 -08:00
Mathew Polzin
f7bfa91ccc
lots of comparison code, a few small breaking changes
2019-11-05 19:03:51 -08:00
Mathew Polzin
1a15ab6f9d
Fix return type of success document after adding includes
2019-10-27 16:21:41 -07:00
Mathew Polzin
eb85620379
regenerate swift test manifest
2019-10-20 22:30:15 -07:00
Mathew Polzin
57f85476c0
Bump podspec version
2019-10-20 22:29:22 -07:00
Mathew Polzin
ea5c0b8601
Add Document.ErrorDocument and Document.SuccessDocument types
2019-10-20 22:23:52 -07:00
Mathew Polzin
b46429a0ad
Update README.md
2019-10-15 23:37:02 -07:00
Mathew Polzin
dbc6ecc6d8
Update README.md
2019-10-12 21:39:29 -07:00
Mathew Polzin
dbbacab105
Bump podspec version
2019-10-12 19:30:24 -07:00
Mathew Polzin
4eb36d4594
Merge pull request #41 from mattpolzin/feature/resource-object-replacing
...
Resource Object replacing and tapping
2019-10-12 19:27:29 -07:00
Mathew Polzin
43e02351de
Add documentation on replacing and tapping attributes and relationships
2019-10-12 18:22:48 -07:00
Mathew Polzin
0b307bd3bc
Add replacement and tapping functions for attributes and relationships.
2019-10-12 17:54:28 -07:00
Mathew Polzin
662a84ccf0
Add examples around modifying attributes/relationships on resource object and then preparing a new request (i.e. for PATCHing)
2019-10-12 09:35:01 -07:00
Mathew Polzin
44f9bca7dc
Merge pull request #39 from mattpolzin/feature/add-poly-11
...
Add Include11 Type
2019-10-02 20:10:56 -07:00
Mathew Polzin
774b53b9b6
bump podspec version and bump podspec Poly dependency.
2019-10-02 20:05:28 -07:00
Mathew Polzin
654d3bfd2b
Update Poly, add Include11 type.
2019-10-02 20:02:11 -07:00
Mathew Polzin
c26d6d99c0
Update README.md
2019-09-29 17:21:43 -07:00
Mathew Polzin
43dcc4fb12
Update README.md
2019-09-29 17:21:08 -07:00
Mathew Polzin
abae975f59
Update README.md
2019-09-29 17:20:42 -07:00
Mathew Polzin
0e6b2a7771
Update README.md
2019-09-29 17:14:25 -07:00
Mathew Polzin
194a58ae56
Merge pull request #37 from mattpolzin/feature/basic-error
...
Feature/basic error
2019-09-29 17:01:25 -07:00
Mathew Polzin
f1d6b22f61
Add playground example, add/update documentation, correct visibility of new error payload properties to public.
2019-09-29 16:49:38 -07:00
Mathew Polzin
3057992348
bump podspec version, update Playground examples
2019-09-29 15:57:54 -07:00
Mathew Polzin
d4806ff557
Add a few decode examples
2019-09-29 15:36:16 -07:00
Mathew Polzin
b0801f7cee
Add tests for BasicJSONAPIError and tweak documentation
2019-09-29 15:20:08 -07:00
Mathew Polzin
88c5d400aa
Add generic and basic error types. add tests for generic type.
2019-09-29 14:56:04 -07:00
Mathew Polzin
6cd5aeaba6
Update README.md
...
Update max number of `Include` types in documentation.
2019-09-16 17:16:42 -07:00
Mathew Polzin
7e28cd2606
Merge pull request #35 from mattpolzin/add-include-10
...
Add include10 Type
2019-09-16 17:13:49 -07:00
Mathew Polzin
cf6fa39548
bump Podspec version
2019-09-16 09:58:57 -07:00
Mathew Polzin
a24f15dc4e
regenerate linuxmain
2019-09-16 09:38:36 -07:00
Mathew Polzin
87e9ee0606
remove tests that are duplicates of those in the Poly package. I just never deleted this file when the Poly stuff moved into its own package. Add support for Include10.
2019-09-16 09:37:34 -07:00
Mathew Polzin
5ed45078a1
Update README.md
...
Fix incorrect Swift version requirement and suggested SPM dependency version.
2019-09-14 16:44:46 -07:00
Mathew Polzin
34dc351810
Merge pull request #34 from mattpolzin/swift-5.1
...
Swift 5.1 tools dependency, access to attributes via dynamicMemberLookup
2019-09-14 16:28:24 -07:00
Mathew Polzin
3ff1b867ca
Bump spec version to account for breaking changes with configs and swift tools version
2019-09-14 15:53:48 -07:00
Mathew Polzin
ae51be20d8
Merge remote-tracking branch 'origin/master' into swift-5.1
2019-09-14 15:51:05 -07:00
Mathew Polzin
c142e93fec
Merge pull request #33 from chrisballinger/patch-1
...
Change Pod name to avoid conflict. Resolves #32
2019-09-14 15:49:37 -07:00
Chris Ballinger
e99c6625f8
Update README.md
2019-09-14 10:07:53 -07:00
Chris Ballinger
e9048a4861
Change Pod name to avoid conflict. Resolves #32
2019-09-13 15:07:37 -07:00
Mathew Polzin
ff06c36b36
uncomment out language version declaration in package manifest, 'fix' indentation.
2019-09-05 22:22:55 -07:00
Mathew Polzin
8eb4c14bb3
Merge remote-tracking branch 'origin/master' into swift-5.1
2019-09-05 21:39:27 -07:00
Mathew Polzin
baee85fb1b
Update README.md
2019-09-02 16:07:10 -07:00
Mathew Polzin
44f21b4430
Update README.md
2019-09-02 16:04:06 -07:00
Mathew Polzin
f7f36c6e7a
Update README.md
2019-09-02 15:59:24 -07:00
Mathew Polzin
af7eaeb684
Update README.md
2019-09-02 15:10:43 -07:00
Mathew Polzin
0cc2368331
Update README.md
...
Add instructions for adding as Swift Package Manager dependency.
2019-09-02 15:05:23 -07:00
Mathew Polzin
6c54845525
Update README.md
2019-09-02 15:00:07 -07:00
Mathew Polzin
51b981c108
Update README.md
2019-09-02 13:25:57 -07:00
Mathew Polzin
b33c7f4ab5
Update README.md
2019-08-29 09:33:03 -07:00
Mathew Polzin
bf8245c7b8
Update README.md
2019-08-29 09:30:59 -07:00
Mathew Polzin
7bd4021790
Update README.md
2019-08-28 20:21:50 -07:00
Mathew Polzin
771641b82c
Update README.md
2019-08-28 18:55:42 -07:00
Mathew Polzin
198e5a9800
Update README.md
2019-08-28 18:55:11 -07:00
Mathew Polzin
9db534dea0
Update README.md
...
Add basic example Google Colab.
2019-08-27 00:48:11 -07:00
Mathew Polzin
2b409e464e
merge w/ master
2019-08-23 17:53:33 -07:00
Mathew Polzin
7824bd8f68
Merge pull request #30 from mattpolzin/release/1.0
...
Release/1.0
2019-08-14 17:39:42 -07:00
Mathew Polzin
89217f7187
bump podspec version
2019-08-14 17:31:43 -07:00
Mathew Polzin
86a9345fdd
Adding some documentation and making SparseFieldEncoder internal because it does not need to be public.
2019-08-14 09:22:06 -07:00
Mathew Polzin
8f9ec11f27
Housekeeping in the README
2019-08-14 08:57:57 -07:00
Mathew Polzin
9a9403bd98
Merge pull request #28 from mattpolzin/sparse-encoding
...
Sparse encoding
2019-08-12 07:35:49 -07:00
Mathew Polzin
453ce4b3a8
whitespace changes -- trying to switch from one whitespace standard to another in cohesive chunks to fit Xcode 11 default.
2019-08-06 09:19:06 -07:00
Mathew Polzin
9a0bba8d07
Rename AppendableResourceBody to Appendable. It is used in conjunction with ResourceBody but does not conform to it anymore.
2019-08-06 09:12:02 -07:00
Mathew Polzin
d5b4aa70c7
Update linuxmain
2019-08-06 09:04:15 -07:00
Mathew Polzin
1df891ce06
Add test that uses JSONAPIDocument protocol in generic context
2019-08-06 08:55:49 -07:00
Mathew Polzin
6ba217f553
More sparse field encoder tests
2019-08-06 08:27:22 -07:00
Mathew Polzin
e23ec090ed
Starting to add SparseFieldEncoder tests
2019-08-05 19:44:09 -07:00
Mathew Polzin
ed23349351
Update README
2019-08-05 18:45:13 -07:00
Mathew Polzin
6c8646a1b4
whitespace
2019-08-05 18:09:29 -07:00
Mathew Polzin
3a60ac5fe2
Add playground page showing off sparse fieldset encoding
2019-08-05 17:59:38 -07:00
Mathew Polzin
045e88f4d4
More code documentation
2019-08-05 16:28:02 -07:00
Mathew Polzin
fe1f4c6c19
A bit of code documentation
2019-08-05 16:15:56 -07:00
Mathew Polzin
83f7a7b60e
Add sparse document tests
2019-08-05 16:02:40 -07:00
Mathew Polzin
61f2edb59a
Add tests for sparse fieldset includes
2019-08-05 15:21:59 -07:00
Mathew Polzin
32d584099f
Update linuxmain
2019-08-05 14:51:48 -07:00
Mathew Polzin
9a07cf7066
Add test class placeholder
2019-08-05 14:51:18 -07:00
Mathew Polzin
0c7c7edcab
Add sparse fieldset resource body tests
2019-08-05 14:48:08 -07:00
Mathew Polzin
a596ecaecc
A stab at separating out decoding enough to make it possible to use encode-only sparse fieldsets with JSONDocument
2019-08-05 09:23:44 -07:00
Mathew Polzin
265cffe8f0
Rename MaybePrimaryResource to OptionalPrimaryResource because I use 'Maybe' elsewhere to indicate a type-level distinction whereas this is a value-level distinction that really is just 'Optional' at play.
2019-08-05 08:17:38 -07:00
Mathew Polzin
b98fb08353
Adding a bit of code doc
2019-08-05 08:13:18 -07:00
Mathew Polzin
61e00c2de5
small rename
2019-08-05 08:01:42 -07:00
Mathew Polzin
e0b53236bb
Add sparse fields method to ResourceObject and test it.
2019-08-04 23:03:56 -07:00
Mathew Polzin
2f3a619284
Spacing difference
2019-08-04 18:47:26 -07:00
Mathew Polzin
5aef44c3b3
Add Sparse Fieldset support for Attributes
2019-08-04 18:44:28 -07:00
Mathew Polzin
99e97aadcc
Merge branch 'master' into swift-5.1
2019-08-04 10:34:32 -07:00
Mathew Polzin
17e2ce3138
Merge pull request #27 from mattpolzin/round-off-empty-decoder-tests
...
Cover the EmptyObjectDecoder unkeyed container with tests
2019-08-04 10:30:57 -07:00
Mathew Polzin
049dc1f7b5
Cover the EmptyObjectDecoder unkeyed container with tests
2019-08-04 10:28:48 -07:00
Mathew Polzin
cf7b68c026
Merge w/ master
2019-08-04 09:02:04 -07:00
Mathew Polzin
223c39cec0
Merge pull request #26 from mattpolzin/testcov1
...
Test coverage PR
2019-08-02 09:34:36 -07:00
Mathew Polzin
5335f24e9b
Add test coverage for EmptyObjectDecoder's keyed container
2019-08-02 09:30:30 -07:00
Mathew Polzin
7ec185bfe8
Add a couple tests and a bit of code doc.
2019-08-02 08:45:38 -07:00
Mathew Polzin
e0e6723222
Make Xcode Beta happy by explicitly creating optionals where they used to be implied.
2019-08-02 07:27:17 -07:00
Mathew Polzin
4b4ebb4214
merge w/ master
2019-07-30 17:52:42 -07:00
Mathew Polzin
60cd515fd6
just filling in a couple small holes in test coverage
2019-07-30 17:44:06 -07:00
Mathew Polzin
396f8453d1
swap out broken nil checks (not harming anything, but not working as evidenced by not getting hit by any test cases)
2019-07-29 21:00:44 -07:00
Mathew Polzin
f5eb343bd4
Complete test coverage of APIDescription
2019-07-29 20:41:22 -07:00
Mathew Polzin
c4f96c0376
Updated example in playground/documentation after realizing I was not using a variable I had created.
2019-07-28 13:10:42 -07:00
Mathew Polzin
4d3597ef0e
Update README.md
2019-07-27 21:30:14 -07:00
Mathew Polzin
fb72817de6
bump swift version badge to swift 5.1
2019-07-25 09:36:35 -07:00
Mathew Polzin
569cec05cf
ditch language version argument in package file that is not accepted by swift test. update linuxmain.
2019-07-25 09:27:56 -07:00
Mathew Polzin
78b9b12592
Update README
2019-07-25 09:23:01 -07:00
Mathew Polzin
9143281290
Introduce dynamic member keypath lookup as alternative to existing subscript keypath lookup for attributes. also did a bit of tidying up.
2019-07-25 09:12:17 -07:00
Mathew Polzin
badfa30668
Merge remote-tracking branch 'origin/master' into swift-5.1
2019-07-25 07:49:22 -07:00
Mathew Polzin
0144a2ee80
Remove prior experimentation with property wrappers -- feature was not baked when that experimentation was done.
2019-07-25 07:49:17 -07:00
Mathew Polzin
880894d026
small fix for example in README
2019-07-25 07:38:21 -07:00
Mathew Polzin
7b5b17918c
Update linuxmain, slightly update wording and indentation on example at bottom of README.
2019-07-24 19:43:11 -07:00
Mathew Polzin
c996e7447c
Update README.md
2019-07-23 21:11:59 -07:00
Mathew Polzin
61fa56e84b
bump podspec version after two cocoapods fixes.
2019-07-16 22:19:50 -07:00
Mathew Polzin
a6bf3e0ae0
Merge pull request #22 from chrisballinger/fix-podspec
...
Remove Poly from podspec frameworks
2019-07-16 22:15:04 -07:00
Mathew Polzin
620f6989d2
Merge pull request #23 from chrisballinger/fix-issue-20
...
Do not include testing source files in podspec
2019-07-16 22:01:29 -07:00
Chris Ballinger
715db33138
Do not include testing source files in podspec
2019-07-16 17:11:36 -07:00
Chris Ballinger
e99abd26b3
Remove Poly from podspec frameworks
2019-07-16 16:16:32 -07:00
Mathew Polzin
099d17aa58
Update README.md
...
Removing check boxes for `Arbitrary` conformance and `OpenAPI` integration. Both of these "features" are maintained in separate libraries.
2019-07-03 07:28:31 -07:00
Mathew Polzin
92d1239a98
Merge pull request #19 from gufo/optional-relationships
...
Allow omitting `relationships` if all are optional
2019-07-03 07:19:14 -07:00
Janko Luin
b7ce3d226e
Apply EmptyObjectDecoder rather than empty JSON
...
Co-Authored-By: Mathew Polzin <matt.polzin@gmail.com >
2019-07-03 08:32:44 +02:00
Janko Luin
5b56d596e2
Merge remote-tracking branch 'upstream/master' into optional-relationships
2019-07-03 08:30:17 +02:00
Mathew Polzin
e820f34253
change podspec version in anticipation of next release
2019-07-02 18:12:29 -07:00
Mathew Polzin
c75912ab79
switch Poly versioning to 'upToNextMajor' and updated the resolved version.
2019-07-02 18:09:06 -07:00
Mathew Polzin
e4481c9e4f
noticed the README had some typos I missed when I changed Entity to ResourceObject.
2019-07-02 18:05:22 -07:00
Mathew Polzin
e9b9a2bd78
Add Empty Object Decoder to be used in upcoming release.
2019-07-02 17:36:54 -07:00
Janko Luin
fc78958f76
Allow omitting relationships if all are optional
...
When all relationships are optional, the `relationships` key is also
optional and not required in the structure.
I'm not super happy with importing Foundation and creating new objects
any time a key is missing, but ultimately none of my attempts at
conditional generics worked out for me.
2019-07-02 17:02:55 +02:00
Mathew Polzin
c7b97567a9
update swift tools version in package file, add some property wrappers, add some tests for wrappers. its all broken but worth holding onto for now.
2019-06-20 22:35:55 -07:00
Mathew Polzin
f73ca8bc2c
Merge pull request #18 from mattpolzin/feature/match-jsonapi-naming
...
Feature/match jsonapi naming
2019-06-12 20:59:50 -07:00
Mathew Polzin
176eca3dce
Bump podspec version to 0.30.0
2019-06-12 20:57:14 -07:00
Mathew Polzin
4e0e44c45d
Update README after renaming. Rename test lib entity checker.
2019-06-12 20:15:07 -07:00
Mathew Polzin
e09e3cd8ac
Finish renaming all things 'Entity' to 'ResourceObject'
2019-06-12 19:56:33 -07:00
Mathew Polzin
502f82ad14
Rename EntityProxy to ResourceObjectProxy and EntityType to ResourceObjectType.
2019-06-12 19:11:43 -07:00
Mathew Polzin
2bb238b092
Renamed EntityProxyDescription to ResourceObjectProxyDescription and EntityDescription to ResourceObjectDescription.
2019-06-12 19:07:21 -07:00
Mathew Polzin
491fe1fbea
clarifying name change in tests. update documentation around entity direct subscript accessor
2019-04-18 22:54:08 -07:00
Mathew Polzin
6b6f40c968
breaking change: change spelling of Entity subscript accessor that returns values of properties within Attributes without digging into the AttributeType. This change will make it possible for the compiler to unambiguously determine the type of subscript access being made before the value is stored, cast, or compared.
2019-04-18 22:40:12 -07:00
Mathew Polzin
14bd29bf42
Update podspec in expectance of breaking change.
2019-04-18 22:37:58 -07:00
Mathew Polzin
cf4d8fc378
Update README.md
2019-04-16 22:39:33 -07:00
Mathew Polzin
10b756f6db
Update README.md
2019-04-16 22:37:35 -07:00
Mathew Polzin
4cd697aae4
Merge pull request #17 from mattpolzin/swift-5
...
Default to Swift version 5.0 and Swift Tools version 5.0
2019-04-16 22:35:11 -07:00
Mathew Polzin
db0f7329e4
Comment out playground code that is failing in Xcode 10.2
2019-04-16 22:11:09 -07:00
Mathew Polzin
fb710c397b
Entirely remove Result type that not only is unneeded with Swift 5 but also was not being used by this library (it was left over from before Poly became its own library). Fix a few redundent public warnings.
2019-04-16 21:56:49 -07:00
Mathew Polzin
b1adc60719
Update package and podspec files
2019-04-16 21:52:50 -07:00
Mathew Polzin
423e61b285
Merge branch 'master' into swift-5
2019-04-16 21:42:17 -07:00
Mathew Polzin
895d575cdb
Fix indentation in README
2019-04-14 21:03:14 -07:00
Mathew Polzin
cd75e9649b
Update cocoapods version, update readme to mention cocoapods support.
2019-04-14 21:01:20 -07:00
Mathew Polzin
c60dfc1584
Testing out podspec
2019-04-14 20:49:59 -07:00
Mathew Polzin
16004051e9
Update language version to 5.0 and specify deployment targets for iOS and Mac OS.
2019-02-17 15:13:02 -08:00
Mathew Polzin
864a66f1ea
Merge remote-tracking branch 'origin/master' into swift-5
2019-02-17 14:43:19 -08:00
Mathew Polzin
abe16dda0d
A bit more clarification/correction
2019-02-07 18:56:22 -08:00
Mathew Polzin
5257fd79fa
Remove redundant public scoping on functions within public extensions. This becomes a warning with the Swift 5 compiler.
2019-02-07 18:49:58 -08:00
Mathew Polzin
f7a81df451
Fix inaccuracy and add a bit of clarity to README section on Entity Ids.
2019-02-07 18:43:57 -08:00
Mathew Polzin
c8fbc09582
Remove Playground page that used the OpenAPI support that has now moved into its own repository.
2019-01-30 18:34:52 -08:00
Mathew Polzin
a88bb77bd0
update linuxmain
2019-01-30 18:00:51 -08:00
Mathew Polzin
247848e788
Update README
2019-01-30 18:00:27 -08:00
Mathew Polzin
7adbdb4505
Move JSONAPIArbitrary and JSONAPIOpenAPI into their own packages.
2019-01-30 17:54:26 -08:00
Mathew Polzin
0c7bf9a92d
Merge branch 'master' into swift-5
2019-01-29 16:42:59 -08:00
Mathew Polzin
ea663bb229
Move Sampleable into its own Package.
2019-01-29 00:44:31 -08:00
Mathew Polzin
f48c385f99
super minor code doc tweak
2019-01-28 23:51:29 -08:00
Mathew Polzin
c96bfadd82
Had not updated linuxmain in a while. pretty sure I'll have problems building on Linux at least with the stuff going on in JSONAPI+OpenAPI.
2019-01-28 23:46:56 -08:00
Mathew Polzin
88be701062
Add OpenAPI support for TransformedAttributes
2019-01-28 23:45:28 -08:00
Mathew Polzin
1e85e1d2a3
fix open API playground.
2019-01-27 22:55:32 -08:00
Mathew Polzin
11a7727ac9
Fix Include OpenAPI support. Fix bug with single include being considered 'OneOf' even though that is an overcomplication of the schema. Add tests for single include type and two include types on document
2019-01-27 22:47:01 -08:00
Mathew Polzin
e8bfbc881b
Added a couple of test cases for JSONDocuments
2019-01-27 22:24:13 -08:00
Mathew Polzin
af757a2fac
Add emphasis to README line.
2019-01-27 21:46:22 -08:00
Mathew Polzin
84955872f8
Finish writing Date Attribute test cases and add support for Optional Date OpenAPI Node guesses.
2019-01-27 21:39:18 -08:00
Mathew Polzin
cb2800abd4
Add support for RequestBody on an OpenAPI Operation.
2019-01-27 13:57:04 -08:00
Mathew Polzin
85d5fef3c8
Fix bug where some references were correctly encoded as objects and others were just encoded as strings
2019-01-27 13:22:18 -08:00
Mathew Polzin
e4ef61fd56
bugfix: OpenAPI path components should begin with a slash.
2019-01-27 12:46:13 -08:00
Mathew Polzin
75ec4f156e
Fix a third dictionary-as-array bug
2019-01-26 20:04:11 -08:00
Mathew Polzin
b45fc73188
Merge pull request #15 from mattpolzin/feature/OpenAPISchema
...
Feature/open api schema
2019-01-26 19:52:15 -08:00
Mathew Polzin
3b73dc9989
Fix super shitty bug caused by Apples implementation of Dictionary's conformance to Encodable sometimes encoding the dictionary as an array.
2019-01-26 19:50:20 -08:00
Mathew Polzin
b2c81026f4
remove 'id' from Unidentified Entity OpenAPI node.
2019-01-26 18:55:47 -08:00
Mathew Polzin
8d057b4398
Merge pull request #14 from mattpolzin/feature/OpenAPISchema
...
Just enough OpenAPI Schema stuff to be dangerous
2019-01-25 18:25:19 -08:00
Mathew Polzin
c8421cdd58
just throw that json extension on the filename to make everything super real
2019-01-25 18:20:04 -08:00
Mathew Polzin
cde10a8491
Finish implementing remaining first wave of encodable conformances for OpenAPI
2019-01-25 18:17:58 -08:00
Mathew Polzin
ad05d3908a
Add a simple test OpenAPISchema and start to tweak things to get it workable.
2019-01-25 12:49:59 -08:00
Mathew Polzin
23b2b2e04f
merge w/ master
2019-01-25 12:01:01 -08:00
Mathew Polzin
2988503d7d
Add Sampleable conformance to Unidentified. Rename file slightly.
2019-01-25 11:59:05 -08:00
Mathew Polzin
5ea83b07c1
Hopefully remove some ambiguity.
2019-01-24 19:09:46 -08:00
Mathew Polzin
2b59f54067
Fix bug causing a supplied encoder to be used for generating an example but not for helping determine the correct Date formatting.
2019-01-24 17:47:44 -08:00
Mathew Polzin
58a7c82436
Restructure files a bit. Make Date handling relatively robust compared to my first pass at it. Make the failure to construct a generic open API node type throw an error rather than silently omit the node.
2019-01-24 17:25:34 -08:00
Mathew Polzin
dc30cb3b9e
Make Attribute Sampleable where its RawValue is Sampleable. Allow Sampleable things to provide a best guess for their node type based on the result of encoding and then deserializing them.
2019-01-24 00:47:24 -08:00
Mathew Polzin
7045373708
update and make sure all Playground pages run
2019-01-23 23:24:53 -08:00
Mathew Polzin
952fe8ba7e
Remove encoder requirement to almost all Open API Node constructors. Made a new protocol for the few places where an encoder did need to be passed in.
2019-01-23 23:21:16 -08:00
Mathew Polzin
951c04ad44
Add Sampleable conformances. Make blanket JSONEncoder change I am not happy with; will try to walk back requirement that encoder gets passed to all functions creating OpenAPI Nodes
2019-01-23 22:21:27 -08:00
Mathew Polzin
57df6b147e
Add Sampleable conformance to UnknownJSONAPIError. Add Sampleable conformance to all Include types and the Includes type.
2019-01-23 11:52:16 -08:00
Mathew Polzin
a88844fe5e
Switch to Poly 1.0.0 (same commit as previously used but by version rather than branch)
2019-01-23 00:34:14 -08:00
Mathew Polzin
d1cf19f9fe
Neck deep in stubbing out OpenAPI types
2019-01-22 22:14:36 -08:00
Mathew Polzin
59835fbe11
Add JSON Reference and OpenAPIComponents (initially just with schemas)
2019-01-22 16:08:47 -08:00
Mathew Polzin
850a713dcb
Merge pull request #13 from mattpolzin/feature/OpenAPISchema
...
Add Include support to OpenAPI schema of JSONAPI Document.
2019-01-22 12:01:40 -08:00
Mathew Polzin
e3c637a41e
update README and add associated type labels to patterns for clarity
2019-01-22 11:57:18 -08:00
Mathew Polzin
9cbc626410
Add Include support to OpenAPI schema of JSONAPI Document.
2019-01-22 11:53:32 -08:00
Mathew Polzin
6dd14daf53
Merge pull request #12 from mattpolzin/feature/OpenAPISchema
...
Testing, Documentation, more Arbitrary conformance, "example" support.
2019-01-22 08:21:22 -08:00
Mathew Polzin
744e08acf4
Update linuxmain
2019-01-21 23:00:13 -08:00
Mathew Polzin
5da4a963d4
Update README and code documentation slightly
2019-01-21 22:50:19 -08:00
Mathew Polzin
5433dddc81
Add support for 'const' via OpenAPI 3.0 workaround suggested by others: Use 'enum' with one value. Add Sampleable support for requesting samples representing 'success' and 'failure' if available.
2019-01-21 22:47:03 -08:00
Mathew Polzin
95f9d8084d
Add Arbitrary conformance for UnknownJSONAPIError. Fix weird encoding exception that I cannot quite figure out or explain at the moment.
2019-01-21 21:56:33 -08:00
Mathew Polzin
d6911f170c
Add example to JSONNode
2019-01-21 20:57:54 -08:00
Mathew Polzin
9972d13a4e
Document zip(with:) on optionals
2019-01-21 15:37:41 -08:00
Mathew Polzin
4dc63167d6
Rename a couple of files
2019-01-21 15:35:54 -08:00
Mathew Polzin
845d085455
Fill out a fair bit of OpenAPI Entity testing
2019-01-21 15:32:38 -08:00
Mathew Polzin
45eb7d06bd
Merge branch 'master' into feature/OpenAPISchema
2019-01-21 13:18:59 -08:00
Mathew Polzin
6ce962cec9
Merge pull request #11 from mattpolzin/feature/Arbitrary
...
Add Arbitrary support for the rest of JSONAPI's key types.
2019-01-21 13:16:46 -08:00
Mathew Polzin
477dae0a73
Add Arbitrary support for the rest of JSONAPI's key types.
2019-01-21 13:13:09 -08:00
Mathew Polzin
4afe4cfb31
Rename first JSONAPI+Testing header to Testing to remove conflict in GitHub Markdown links.
2019-01-21 11:52:02 -08:00
Mathew Polzin
65144d27ae
Merge pull request #10 from mattpolzin/feature/OpenAPISchema
...
Feature/open api schema
2019-01-21 11:50:02 -08:00
Mathew Polzin
1ec4b21c34
Add missing case in Sampleable generic OpenAPINode implementation. Add info on new auxiliary frameworks to the README.
2019-01-20 19:18:10 -08:00
Mathew Polzin
15e13e2cc7
Remove unused error and add a bit of code documentation
2019-01-20 18:54:37 -08:00
Mathew Polzin
1d8ceef317
Update README, add a bit more code documentation
2019-01-20 18:52:21 -08:00
Mathew Polzin
e546614c15
merge with Arbitrary branch
2019-01-20 18:41:54 -08:00
Mathew Polzin
8939d637d4
Add placeholder test to arbitrary test target.
2019-01-20 18:34:24 -08:00
Mathew Polzin
e3b005b89a
Update README
2019-01-20 18:25:28 -08:00
Mathew Polzin
2de6580519
Add some tests around Attribute OpenAPI descriptions
2019-01-20 18:18:35 -08:00
Mathew Polzin
875d938b95
Add id and type properties to Entity OpenAPI Schema
2019-01-20 16:19:26 -08:00
Mathew Polzin
1ed34b00dc
Add todos for Entity Id and type. Add example usage of OpenAPI entity schema support in Playground
2019-01-20 16:10:31 -08:00
Mathew Polzin
531a7f35bd
Cleanup and a bit of documentation
2019-01-20 15:50:46 -08:00
Mathew Polzin
dc42ec27fc
Not crazy about how I got there, but now it is relatively easy to print arbitrary enum's allCases as the list of possible values in the format specced out by OpenAPI.
2019-01-20 15:39:54 -08:00
Mathew Polzin
cf746e182f
currently in a pretty broken state with support for enumerations being turned into allowed values via reflection. I think I am going to have to give up type safety if I want to use reflection and keep things open ended
2019-01-19 15:30:09 -08:00
Mathew Polzin
52d2e9819d
Update README project status to include OpenAPI and Arbitrary work.
2019-01-15 09:40:49 -08:00
Mathew Polzin
81b78cd749
Add more Arbitrary conformances
2019-01-15 09:27:09 -08:00
Mathew Polzin
3a0ede2372
Get rid of OpenAPI namespace because a compiler bug was making it more hassle than it was worth.
2019-01-14 23:46:39 -08:00
Mathew Polzin
cb04a01e71
Add some todos and delete an old file
2019-01-14 23:29:49 -08:00
Mathew Polzin
3c29244540
fill out some of the relationship tests
2019-01-14 23:14:25 -08:00
Mathew Polzin
a9e1e49a79
Add test helpers for Open API test target
2019-01-14 21:18:49 -08:00
Mathew Polzin
9e6e713ad2
Add Codable for the parts of OpenAPI that are built so far.
2019-01-14 21:17:07 -08:00
Mathew Polzin
308f168a8c
Trying to map out the Open API Schema Object using Swift enums
2019-01-13 23:24:02 -08:00
Mathew Polzin
8726bcc9fa
Update all references to JSONAPITestLib to reflect renaming
2019-01-13 18:35:20 -08:00
Mathew Polzin
25bda795a7
Rename JSONAPITestLib to JSONAPITesting to fit with naming convention I am adopting going forward. Added OpenAPI JSON schema types. Added default schema types for a handful of Swift primitives.
2019-01-13 18:28:41 -08:00
Mathew Polzin
14a0256885
Add new targets
2019-01-13 17:27:10 -08:00
Mathew Polzin
b2041e9bc8
Update to bleeding edge Poly library
2019-01-13 07:47:20 -08:00
Mathew Polzin
fd9a626551
Ditch unused test constant.
2019-01-13 07:42:13 -08:00
Mathew Polzin
69bb40aa00
Move JSONAPITestLib tests into their own test target.
2019-01-13 07:16:46 -08:00
Mathew Polzin
060e0e3898
Move PolyWrapped out of Poly and into JSONAPI.
2019-01-12 21:51:51 -08:00
Mathew Polzin
b374367234
Move Poly into its own library.
2019-01-12 21:30:20 -08:00
Mathew Polzin
b363db30cd
Add MIT license docuemnt
2019-01-12 18:41:04 -08:00
Mathew Polzin
6904416623
Begin making Poly more useful in a broader context than JSONAPI.
2019-01-12 17:08:46 -08:00
Mathew Polzin
b294cec542
Merge remote-tracking branch 'origin/master' into swift-5
2019-01-08 21:27:39 -08:00
Mathew Polzin
c04d3301b6
Add Meta-Relationship access.
2019-01-08 21:23:17 -08:00
Mathew Polzin
11e8d13f02
Switch package to swift 5, fix warnings.
2019-01-08 20:47:12 -08:00
Mathew Polzin
5a64bebc99
Merge branch 'master' of github.com:mattpolzin/JSONAPI
2019-01-08 20:13:11 -08:00
Mathew Polzin
790b0fbf52
Change capitalization
2019-01-06 18:20:18 -08:00
Mathew Polzin
539ecc451a
Remove swift syntax highlighting from JSON snippet.
2019-01-03 22:26:25 -08:00
Mathew Polzin
7eb1b05eae
Add swift syntax highlighting to README.
2019-01-03 22:23:17 -08:00
Mathew Polzin
3408263c2a
Add warning note to README
2019-01-03 22:09:43 -08:00
Mathew Polzin
1d6e5d3810
Added Meta-Attribute support and documentation
2019-01-02 22:49:38 -08:00
Mathew Polzin
d68404db36
update README to reflect change made in v0.12.0
2019-01-02 19:46:30 -08:00
Mathew Polzin
4f7db98a87
Update playground files to work with v0.12.0 changes
2019-01-02 19:42:32 -08:00
Mathew Polzin
072b081ac3
Breaking - Rename static var type: String to static var jsonType:String to avoid unnecessary conflict with Swift.type(of:)
2019-01-02 19:35:50 -08:00
Mathew Polzin
897410492d
Add much more substantial example to README and mirror it in the included playground. Add convenient methods for adding includes to a Document. Make Poly less picky about what type of things it contains (don't need to be entities anymore). Typealias Either to Poly2 because they are isomorphic.
2019-01-02 17:14:58 -08:00
Mathew Polzin
b46f5166ea
APIDescription gets a public initializer. A new playground page explores the full potential of the Framework, in a sense.
2018-12-31 17:19:51 -08:00
Mathew Polzin
d5a24c4adb
Split Attribute out into its own Type (no longer just a type alias to TransformedAttribute)
2018-12-29 23:07:14 -08:00
Mathew Polzin
669d5d1342
Add ability to merge Document.Body.Data values
2018-12-28 19:11:24 -08:00
Mathew Polzin
923ab7d9f4
Add support for Poly8/Poly9 and Include8/Include9
2018-12-28 11:05:18 -08:00
Mathew Polzin
72769b6107
Fix small problem with sample code in README
2018-12-27 18:22:31 -08:00
Mathew Polzin
109e15d741
Add convenience method for default decoding of attributes. add tests for custom decoding and encoding as well as custom coding keys. add documentation.
2018-12-27 18:18:34 -08:00
Mathew Polzin
72180f64ef
clarify some things about computed attribute properties.
2018-12-27 16:27:10 -08:00
Mathew Polzin
fc962f9a0d
Lift the constraint that Attributes and Relationships are Codable for EntityProxies.
2018-12-24 07:05:35 -08:00
Mathew Polzin
52eb123166
update documentation
2018-12-22 13:57:38 -08:00
Mathew Polzin
4ef147ec45
Update linuxmain
2018-12-22 13:49:10 -08:00
Mathew Polzin
61074ecc69
Add methods that make it easy to copy an entity with a new ID or copy an unidentified entity and give it an ID
2018-12-22 13:41:34 -08:00
Mathew Polzin
4dbcff6023
Add another way to initialize a nullable attribute to the tests
2018-12-22 13:10:05 -08:00
Mathew Polzin
d6e82fab55
get id and type tests into the encoded entity test function
2018-12-21 08:53:55 -08:00
Mathew Polzin
5fa9848f02
test some attribute encoding a bit further
2018-12-21 08:45:51 -08:00
Mathew Polzin
f38399a1d6
Add a bit of entity structure testing
2018-12-21 07:50:32 -08:00
Mathew Polzin
28f664326d
Added a couple of tests
2018-12-12 21:05:07 -08:00
Mathew Polzin
3b7ef4aeb9
Add access to easy optional access to entire data on Document.Body
2018-12-12 20:05:29 -08:00
Mathew Polzin
bb1ed30e89
Rename Document.Body.primaryData to primaryResource
2018-12-12 20:04:14 -08:00
Mathew Polzin
dfdc266645
remove a bunch of convenience initializers that appeared to be giving the compiler some strife
2018-12-10 22:45:28 -08:00
Mathew Polzin
585cad0a83
Added literal initialization for nullable Attributes (TestLib)
2018-12-10 21:50:30 -08:00
Mathew Polzin
89abdd4cca
fix example code in Playground
2018-12-10 21:11:48 -08:00
Mathew Polzin
67a43be26c
update linuxmain
2018-12-08 20:05:00 -08:00
Mathew Polzin
8f279ce191
Add tests around nullable attributes and remove unnecessary encoding code
2018-12-08 20:04:11 -08:00
Mathew Polzin
c9d388579f
Made it much more convenient to work with Non-EntityType relationships. Discovered and fixed a bug where nullable relationships were encoded incorrectly.
2018-12-08 19:48:10 -08:00
Mathew Polzin
1061283905
loosen the grip entity had on Ids
2018-12-08 01:17:47 -08:00
Mathew Polzin
08949d0a93
Move encoding error type to its own file. Restructure Relatable and OptionalRelatable to not be dependent upon EntityDescription
2018-12-08 00:36:05 -08:00
Mathew Polzin
3047e2d23a
Add access to computed attributes that are not AttributeType
2018-12-07 21:19:08 -08:00
Mathew Polzin
41a2a01788
Added support for relationship operator ~> to optional relationships
2018-12-07 20:59:39 -08:00
Mathew Polzin
53f7f55e07
Add Poly7 and Include7 because why not
2018-12-06 18:38:20 -08:00
Mathew Polzin
d8d030286d
Add a little bit of code doc
2018-12-06 18:12:56 -08:00
Mathew Polzin
005a981bf7
Add a couple of missing initializers to Entity
2018-12-05 22:51:12 -08:00
Mathew Polzin
fad45203dd
small refactor to consider ToOneRelationship with no meta or links to be even more synonymous with 'pointer'
2018-12-05 22:42:34 -08:00
Mathew Polzin
3468cb555a
Remove Result dependency in favor of a super stripped down internally scoped Result enum. This won't interfere with other Result libraries and I was not exposing the Result anyway.
2018-12-05 22:02:59 -08:00
Mathew Polzin
8defe82536
Update README and linuxmain
2018-12-05 18:33:07 -08:00
Mathew Polzin
1f83216b03
Adding a few tests here and there
2018-12-05 18:31:53 -08:00
Mathew Polzin
6e6973c170
Adding test coverage for Relationship Meta and Links
2018-12-05 18:12:00 -08:00
Mathew Polzin
4f52cc2fd1
update README
2018-12-05 17:30:48 -08:00
Mathew Polzin
35d6cbb440
Add support for Relationship Meta and Links (untested)
2018-12-05 09:14:38 -08:00
Mathew Polzin
d667e91a6a
Add some missing initializers for Entity and fix Playground sources.
2018-12-03 19:08:09 -08:00
Mathew Polzin
75c8ce7405
Update linuxmain
2018-12-03 18:46:03 -08:00
Mathew Polzin
3a8237ec0f
Add test coverage for Meta and Links on Entity
2018-12-03 18:45:07 -08:00
Mathew Polzin
49e33baa96
give all top-level-ish headers the JSONAPI prefix
2018-12-03 18:14:05 -08:00
Mathew Polzin
f2a9b5a7b9
That should do the trick
2018-12-03 18:10:36 -08:00
Mathew Polzin
24baadd7a8
try to make headers unique
2018-12-03 18:09:40 -08:00
Mathew Polzin
8d18be6154
Update README after adding Meta and Links to Entity.
2018-12-03 18:04:53 -08:00
Mathew Polzin
8aa887b527
Add metadata and links to resource objects (i.e. Entity). untested.
2018-12-02 22:57:59 -08:00
Mathew Polzin
7d0a686dd9
update linuxmain
2018-12-02 21:39:45 -08:00
Mathew Polzin
e4eb7816d7
Added an APIDescription type to Document that supports the JSON API Spec's JSON:API Object.
2018-12-02 21:35:09 -08:00
Mathew Polzin
482174f5b4
update linuxmain
2018-12-02 01:44:02 -08:00
Mathew Polzin
339480264e
Add JSON:API Object to Document as the APIDescription type. Begin to add testing around this new type.
2018-12-02 01:43:27 -08:00
Mathew Polzin
5d666ec998
move entity validator (i.e. check function) section of project status into a TestLib subsection.
2018-12-01 09:58:07 -08:00
Mathew Polzin
9cacbe9b8b
Revamp project status section and remove old todo list items.
2018-12-01 09:55:31 -08:00
Mathew Polzin
6663ad042e
A cleanup and clarification pass at the README
2018-12-01 01:13:05 -08:00
Mathew Polzin
07402259c4
Add ability to specify that a SingleResourceBody should be optional or not (or specifically that its PrimaryResource is nullable or not). add tests. update documentation.
2018-12-01 00:36:39 -08:00
Mathew Polzin
8274ecb523
Add tests confirming that initializers work as expected without using any TestLib conveniences
2018-11-30 23:56:18 -08:00
Mathew Polzin
853c7e892a
Fix playground bug caused by not running after removing a typealias
2018-11-30 20:18:08 -08:00
Mathew Polzin
04bf96a0cf
update linuxmain
2018-11-29 20:13:21 -08:00
Mathew Polzin
8668311307
better poly proxy tests
2018-11-29 20:10:56 -08:00
Mathew Polzin
689517c633
Add ability to differentiate between things that _act_ like Entities and things that _are_ entities in the sense that the latter are persisted between client and server but the former is just a clientside convenience.
2018-11-29 20:03:44 -08:00
Mathew Polzin
65b80ee0eb
Add ReversibleTransformer and tests. remove unneeded check in Entity.check().
2018-11-29 18:39:59 -08:00
Mathew Polzin
e91a03b396
Expose initializer for Document.Body.Data
2018-11-29 13:37:06 -08:00
Mathew Polzin
82088c7852
Remove BodyData which just aliased Body.Data
2018-11-29 13:15:07 -08:00
Mathew Polzin
34a4c8e7fc
Add TestLib ability to represent to-one relationships with the values of their IDs.
2018-11-29 11:31:17 -08:00
Mathew Polzin
6aeb859c24
Remove now deleted test from linuxmain
2018-11-28 21:13:47 -08:00
Mathew Polzin
163ac94c51
I did some more type wrangling to finally get the Id type to specialize on Entity rather than EntityDescription. The compiler gets into trouble depending on which of a few semantically identical routes are taken, but I finally stumbled upon the correct combination of protocols and extensions to get the job done. this was always the ideal outcome, but I was not sure the Swift compiler would allow it.
2018-11-28 21:13:07 -08:00
Mathew Polzin
e67b9fc142
Update playground and README for computed attributes.
2018-11-28 09:20:50 -08:00
Mathew Polzin
a628992fcb
Make Attribute a Functor to make computed attributes easier to write.
2018-11-28 09:09:23 -08:00
Mathew Polzin
cf47f88a61
Add tests to confirm that Entities can safely have computed attributes or relationships.
2018-11-28 08:15:57 -08:00
Mathew Polzin
0425e2adcb
rename folder in tests
2018-11-28 07:50:47 -08:00
Mathew Polzin
d3763ba713
Add array literal expressibility for ToManyRelationship
2018-11-27 23:59:12 -08:00
Mathew Polzin
fcc1796731
Expose Entity properties on EntityType protocol.
2018-11-27 18:58:48 -08:00
Mathew Polzin
921bcef05d
Ids are now Hashable
2018-11-27 18:39:57 -08:00
Mathew Polzin
661ff6eca5
A little renaming and easier access to important types under the JSONAPIDocument protocol
2018-11-27 18:20:01 -08:00
Mathew Polzin
e36180c9b9
Make properties of Body.Data public
2018-11-27 18:05:02 -08:00
Mathew Polzin
abee0c4d0e
Add body variable to JSONAPIDocument protocol
2018-11-27 17:55:56 -08:00
Mathew Polzin
9c8b2fbebb
Renamed JSONAPIDocument to Document and created a protocol describing a JSONAPI Document.
2018-11-27 17:35:13 -08:00
Mathew Polzin
a9ef71f383
indentation change
2018-11-27 17:15:15 -08:00
Mathew Polzin
232554ec51
Wrap JSONAPIDocument body up a bit nicer for use when the JSONAPIDocument does not represent errors.
2018-11-27 16:12:36 -08:00
Mathew Polzin
8f36bb40e3
Add note about the library being a bit 'opinionated'
2018-11-27 14:04:53 -08:00
Mathew Polzin
55f2f52676
minor README change
2018-11-27 13:59:01 -08:00
Mathew Polzin
dd5f3b1737
Added check for nullable array attributes
2018-11-27 13:57:55 -08:00
Mathew Polzin
7d7b3d7f19
Update linuxmain
2018-11-27 13:34:22 -08:00
Mathew Polzin
aedd5dc29b
Add Entity validation via a function in JSONAPITestLib.
2018-11-27 13:33:55 -08:00
Mathew Polzin
3964202ea2
Mention JSONAPITestLib in the README
2018-11-27 11:53:21 -08:00
Mathew Polzin
dcabafd583
Add a playground page to show off JSONAPITestLib and add nil literal expressibility to ToOneRelationship
2018-11-27 11:45:15 -08:00
Mathew Polzin
9df9efc2dc
rename NoRelatives to NoRelationships to better pair with NoAttributes and NoLinks
2018-11-27 11:08:53 -08:00
Mathew Polzin
a55a4cbed0
Added test library, attribute literal expressibility, and tests
2018-11-27 10:54:51 -08:00
Mathew Polzin
6f6ed87b4c
Update included playground
2018-11-27 09:14:47 -08:00
Mathew Polzin
59ff145aa8
Rename the included Error type.
2018-11-27 09:11:13 -08:00
Mathew Polzin
20a685e67b
Add goal of making it easier to construct Attributes values
2018-11-26 22:29:31 -08:00
Mathew Polzin
3d8d10584b
Add typealiases to make accessing Entity Relationships and Attributes types more convenient
2018-11-26 22:27:10 -08:00
Mathew Polzin
b93580c900
Allow ManyResourceBody to use any PrimaryResource type
2018-11-26 18:57:34 -08:00
Mathew Polzin
8927938d56
Rename URL to JSONAPIURL to avoid conflict with Foundation.URL
2018-11-26 18:29:24 -08:00
Mathew Polzin
372e2de721
update linuxmain
2018-11-25 20:07:47 -08:00
Mathew Polzin
1a2ba17f02
more documentation updates
2018-11-25 20:06:27 -08:00
Mathew Polzin
9f2c7aa2e4
Update README
2018-11-25 19:48:50 -08:00
Mathew Polzin
650937dbb9
improve test coverage of some JSONAPIDocument accessors.
2018-11-25 19:41:10 -08:00
Mathew Polzin
b08cbdb0ae
Add some tests around documents with links.
2018-11-25 19:12:30 -08:00
Mathew Polzin
c30a2615f2
Added links to document but currently untested
2018-11-25 00:02:37 -08:00
Mathew Polzin
86e87ebf5d
Add Links and tests
2018-11-24 22:46:53 -08:00
Mathew Polzin
987bf2b750
Update linuxmain
2018-11-23 20:54:41 -08:00
Mathew Polzin
af1aca9cf4
More failure test cases. pretty ok test coverage at this point.
2018-11-23 20:44:12 -08:00
Mathew Polzin
b97649fab6
Add some failure testing
2018-11-23 20:34:43 -08:00
Mathew Polzin
8114132189
Add attribute validation tests
2018-11-23 20:21:00 -08:00
Mathew Polzin
b61a41c99b
Allow EntityType and Poly to be PrimaryResource in JSONAPIDocument
2018-11-23 19:33:06 -08:00
Mathew Polzin
16b83ddbef
lots of tests of Poly
2018-11-23 19:09:53 -08:00
Mathew Polzin
6dff02bd51
Update to version of Result that does not even import Foundation for tests
2018-11-23 08:58:13 -08:00
Mathew Polzin
2563edf419
Add subscript access to Poly types. Add empty test class for Poly type. Remove unneeded Foundation import. Small README change to read more clearly.
2018-11-23 08:49:55 -08:00
Mathew Polzin
98bb64268f
Split Include1 through Include6 off to a new file and a type I am calling Poly. This new type will allow me to use the same structures to represent polymorphic relationships.
2018-11-22 22:52:21 -08:00
Mathew Polzin
399644b62a
update readme
2018-11-22 22:23:44 -08:00
Mathew Polzin
3b1e5f7414
Switched to a fork of the Result repo that does not depend on Foundation (outside of tests)
2018-11-22 22:08:18 -08:00
Mathew Polzin
bf842bd781
Remove a couple unneeded Foundation imports that snuck in
2018-11-22 21:35:58 -08:00
Mathew Polzin
7edb631f09
Update documentation
2018-11-22 21:32:44 -08:00
Mathew Polzin
3c5a356b44
Add a couple more tests around metadata.
2018-11-22 21:14:19 -08:00
Mathew Polzin
f526963707
Update README and update linuxmain
2018-11-22 21:06:04 -08:00
Mathew Polzin
c4032eb351
Added meta data to JSONAPIDocument. Added tests around JSONAPIDocument error finally. Needs a few more tests around metadata.
2018-11-22 21:04:58 -08:00
Mathew Polzin
7a3a1b8b65
Round off CustomStringConvertible implementations to make print output a lot easier to read.
2018-11-20 07:27:28 -08:00
Mathew Polzin
b3a4591a5d
comment out the rest of the once again relevant playground example
2018-11-18 21:51:22 -08:00
Mathew Polzin
23d057c47b
Adding more custom string convertible implementations to reduce the verbosity of printing to terminal. expose JSONAPIDocument.Include so that its constructor can be used.
2018-11-18 21:47:00 -08:00
Mathew Polzin
3327a93df5
Moved Examples.swift into a Playground, added some initialization code required to create entities and documents in code.
2018-11-18 17:47:26 -08:00
Mathew Polzin
713fd2ba3a
Add xcode workspace files to git ignore.
2018-11-18 15:53:00 -08:00
Mathew Polzin
072479c160
Move Transformer into its own class and add a Validator protocol based on Transformer
2018-11-18 15:49:06 -08:00