Commit Graph

  • e8bfbc881b Added a couple of test cases for JSONDocuments Mathew Polzin 2019-01-27 22:24:13 -08:00
  • af757a2fac Add emphasis to README line. Mathew Polzin 2019-01-27 21:46:22 -08:00
  • 84955872f8 Finish writing Date Attribute test cases and add support for Optional Date OpenAPI Node guesses. Mathew Polzin 2019-01-27 21:39:18 -08:00
  • cb2800abd4 Add support for RequestBody on an OpenAPI Operation. 0.17.3 Mathew Polzin 2019-01-27 13:57:04 -08:00
  • 85d5fef3c8 Fix bug where some references were correctly encoded as objects and others were just encoded as strings Mathew Polzin 2019-01-27 13:22:18 -08:00
  • e4ef61fd56 bugfix: OpenAPI path components should begin with a slash. Mathew Polzin 2019-01-27 12:46:13 -08:00
  • 75ec4f156e Fix a third dictionary-as-array bug 0.17.2 Mathew Polzin 2019-01-26 20:04:11 -08:00
  • b45fc73188 Merge pull request #15 from mattpolzin/feature/OpenAPISchema 0.17.1 Mathew Polzin 2019-01-26 19:52:15 -08:00
  • 3b73dc9989 Fix super shitty bug caused by Apples implementation of Dictionary's conformance to Encodable sometimes encoding the dictionary as an array. Mathew Polzin 2019-01-26 19:50:20 -08:00
  • b2c81026f4 remove 'id' from Unidentified Entity OpenAPI node. Mathew Polzin 2019-01-26 18:55:47 -08:00
  • 8d057b4398 Merge pull request #14 from mattpolzin/feature/OpenAPISchema 0.17.0 Mathew Polzin 2019-01-25 18:25:19 -08:00
  • c8421cdd58 just throw that json extension on the filename to make everything super real Mathew Polzin 2019-01-25 18:20:04 -08:00
  • cde10a8491 Finish implementing remaining first wave of encodable conformances for OpenAPI Mathew Polzin 2019-01-25 18:17:58 -08:00
  • ad05d3908a Add a simple test OpenAPISchema and start to tweak things to get it workable. Mathew Polzin 2019-01-25 12:49:59 -08:00
  • 23b2b2e04f merge w/ master Mathew Polzin 2019-01-25 12:01:01 -08:00
  • 2988503d7d Add Sampleable conformance to Unidentified. Rename file slightly. Mathew Polzin 2019-01-25 11:59:05 -08:00
  • 5ea83b07c1 Hopefully remove some ambiguity. Mathew Polzin 2019-01-24 19:09:46 -08:00
  • 2b59f54067 Fix bug causing a supplied encoder to be used for generating an example but not for helping determine the correct Date formatting. 0.16.1 Mathew Polzin 2019-01-24 17:47:44 -08:00
  • 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. 0.16.0 Mathew Polzin 2019-01-24 17:25:34 -08:00
  • 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. 0.15.0 Mathew Polzin 2019-01-24 00:47:24 -08:00
  • 7045373708 update and make sure all Playground pages run Mathew Polzin 2019-01-23 23:24:53 -08:00
  • 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. Mathew Polzin 2019-01-23 23:21:16 -08:00
  • 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 Mathew Polzin 2019-01-23 22:21:27 -08:00
  • 57df6b147e Add Sampleable conformance to UnknownJSONAPIError. Add Sampleable conformance to all Include types and the Includes type. 0.14.5 Mathew Polzin 2019-01-23 11:52:16 -08:00
  • a88844fe5e Switch to Poly 1.0.0 (same commit as previously used but by version rather than branch) 0.14.4 Mathew Polzin 2019-01-23 00:34:14 -08:00
  • d1cf19f9fe Neck deep in stubbing out OpenAPI types Mathew Polzin 2019-01-22 22:14:36 -08:00
  • 59835fbe11 Add JSON Reference and OpenAPIComponents (initially just with schemas) Mathew Polzin 2019-01-22 16:08:47 -08:00
  • 850a713dcb Merge pull request #13 from mattpolzin/feature/OpenAPISchema 0.14.3 Mathew Polzin 2019-01-22 12:01:40 -08:00
  • e3c637a41e update README and add associated type labels to patterns for clarity Mathew Polzin 2019-01-22 11:57:18 -08:00
  • 9cbc626410 Add Include support to OpenAPI schema of JSONAPI Document. Mathew Polzin 2019-01-22 11:53:32 -08:00
  • 6dd14daf53 Merge pull request #12 from mattpolzin/feature/OpenAPISchema 0.14.2 Mathew Polzin 2019-01-22 08:21:22 -08:00
  • 744e08acf4 Update linuxmain Mathew Polzin 2019-01-21 23:00:13 -08:00
  • 5da4a963d4 Update README and code documentation slightly Mathew Polzin 2019-01-21 22:50:19 -08:00
  • 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. Mathew Polzin 2019-01-21 22:47:03 -08:00
  • 95f9d8084d Add Arbitrary conformance for UnknownJSONAPIError. Fix weird encoding exception that I cannot quite figure out or explain at the moment. Mathew Polzin 2019-01-21 21:56:33 -08:00
  • d6911f170c Add example to JSONNode Mathew Polzin 2019-01-21 20:57:54 -08:00
  • 9972d13a4e Document zip(with:) on optionals Mathew Polzin 2019-01-21 15:37:41 -08:00
  • 4dc63167d6 Rename a couple of files Mathew Polzin 2019-01-21 15:35:54 -08:00
  • 845d085455 Fill out a fair bit of OpenAPI Entity testing Mathew Polzin 2019-01-21 15:32:38 -08:00
  • 45eb7d06bd Merge branch 'master' into feature/OpenAPISchema Mathew Polzin 2019-01-21 13:18:59 -08:00
  • 6ce962cec9 Merge pull request #11 from mattpolzin/feature/Arbitrary 0.14.1 Mathew Polzin 2019-01-21 13:16:46 -08:00
  • 477dae0a73 Add Arbitrary support for the rest of JSONAPI's key types. Mathew Polzin 2019-01-21 13:13:09 -08:00
  • 4afe4cfb31 Rename first JSONAPI+Testing header to Testing to remove conflict in GitHub Markdown links. Mathew Polzin 2019-01-21 11:52:02 -08:00
  • 65144d27ae Merge pull request #10 from mattpolzin/feature/OpenAPISchema 0.14.0 Mathew Polzin 2019-01-21 11:50:02 -08:00
  • 1ec4b21c34 Add missing case in Sampleable generic OpenAPINode implementation. Add info on new auxiliary frameworks to the README. Mathew Polzin 2019-01-20 19:18:10 -08:00
  • 15e13e2cc7 Remove unused error and add a bit of code documentation Mathew Polzin 2019-01-20 18:54:37 -08:00
  • 1d8ceef317 Update README, add a bit more code documentation Mathew Polzin 2019-01-20 18:52:21 -08:00
  • e546614c15 merge with Arbitrary branch Mathew Polzin 2019-01-20 18:41:54 -08:00
  • 8939d637d4 Add placeholder test to arbitrary test target. Mathew Polzin 2019-01-20 18:34:24 -08:00
  • e3b005b89a Update README Mathew Polzin 2019-01-20 18:25:28 -08:00
  • 2de6580519 Add some tests around Attribute OpenAPI descriptions Mathew Polzin 2019-01-20 18:18:35 -08:00
  • 875d938b95 Add id and type properties to Entity OpenAPI Schema Mathew Polzin 2019-01-20 16:19:26 -08:00
  • 1ed34b00dc Add todos for Entity Id and type. Add example usage of OpenAPI entity schema support in Playground Mathew Polzin 2019-01-20 16:10:31 -08:00
  • 531a7f35bd Cleanup and a bit of documentation Mathew Polzin 2019-01-20 15:50:46 -08:00
  • 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. Mathew Polzin 2019-01-20 15:39:54 -08:00
  • 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 Mathew Polzin 2019-01-19 15:30:09 -08:00
  • 52d2e9819d Update README project status to include OpenAPI and Arbitrary work. Mathew Polzin 2019-01-15 09:40:49 -08:00
  • 81b78cd749 Add more Arbitrary conformances Mathew Polzin 2019-01-15 09:27:09 -08:00
  • 3a0ede2372 Get rid of OpenAPI namespace because a compiler bug was making it more hassle than it was worth. Mathew Polzin 2019-01-14 23:46:39 -08:00
  • cb04a01e71 Add some todos and delete an old file Mathew Polzin 2019-01-14 23:29:49 -08:00
  • 3c29244540 fill out some of the relationship tests Mathew Polzin 2019-01-14 23:14:25 -08:00
  • a9e1e49a79 Add test helpers for Open API test target Mathew Polzin 2019-01-14 21:18:49 -08:00
  • 9e6e713ad2 Add Codable for the parts of OpenAPI that are built so far. Mathew Polzin 2019-01-14 21:17:07 -08:00
  • 308f168a8c Trying to map out the Open API Schema Object using Swift enums Mathew Polzin 2019-01-13 23:24:02 -08:00
  • 8726bcc9fa Update all references to JSONAPITestLib to reflect renaming Mathew Polzin 2019-01-13 18:35:20 -08:00
  • 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. Mathew Polzin 2019-01-13 18:28:41 -08:00
  • 14a0256885 Add new targets Mathew Polzin 2019-01-13 17:27:10 -08:00
  • b2041e9bc8 Update to bleeding edge Poly library Mathew Polzin 2019-01-13 07:47:20 -08:00
  • fd9a626551 Ditch unused test constant. Mathew Polzin 2019-01-13 07:42:13 -08:00
  • 69bb40aa00 Move JSONAPITestLib tests into their own test target. Mathew Polzin 2019-01-13 07:16:46 -08:00
  • 060e0e3898 Move PolyWrapped out of Poly and into JSONAPI. Mathew Polzin 2019-01-12 21:51:51 -08:00
  • b374367234 Move Poly into its own library. Mathew Polzin 2019-01-12 21:30:20 -08:00
  • b363db30cd Add MIT license docuemnt Mathew Polzin 2019-01-12 18:41:04 -08:00
  • 6904416623 Begin making Poly more useful in a broader context than JSONAPI. Mathew Polzin 2019-01-12 17:08:46 -08:00
  • b294cec542 Merge remote-tracking branch 'origin/master' into swift-5 Mathew Polzin 2019-01-08 21:27:39 -08:00
  • c04d3301b6 Add Meta-Relationship access. 0.13.3 Mathew Polzin 2019-01-08 21:23:17 -08:00
  • 11e8d13f02 Switch package to swift 5, fix warnings. Mathew Polzin 2019-01-08 20:47:12 -08:00
  • 5a64bebc99 Merge branch 'master' of github.com:mattpolzin/JSONAPI Mathew Polzin 2019-01-08 20:13:11 -08:00
  • 790b0fbf52 Change capitalization Mathew Polzin 2019-01-06 18:20:18 -08:00
  • 539ecc451a Remove swift syntax highlighting from JSON snippet. Mathew Polzin 2019-01-03 22:26:25 -08:00
  • 7eb1b05eae Add swift syntax highlighting to README. Mathew Polzin 2019-01-03 22:23:17 -08:00
  • 3408263c2a Add warning note to README Mathew Polzin 2019-01-03 22:09:43 -08:00
  • 1d6e5d3810 Added Meta-Attribute support and documentation 0.13.2 Mathew Polzin 2019-01-02 22:49:38 -08:00
  • d68404db36 update README to reflect change made in v0.12.0 0.13.1 Mathew Polzin 2019-01-02 19:46:30 -08:00
  • 4f7db98a87 Update playground files to work with v0.12.0 changes Mathew Polzin 2019-01-02 19:42:32 -08:00
  • 072b081ac3 Breaking - Rename static var type: String to static var jsonType:String to avoid unnecessary conflict with Swift.type(of:) 0.13.0 Mathew Polzin 2019-01-02 19:35:50 -08:00
  • 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. 0.12.1 Mathew Polzin 2019-01-02 17:14:58 -08:00
  • b46f5166ea APIDescription gets a public initializer. A new playground page explores the full potential of the Framework, in a sense. Mathew Polzin 2018-12-31 17:19:51 -08:00
  • d5a24c4adb Split Attribute out into its own Type (no longer just a type alias to TransformedAttribute) 0.12.0 Mathew Polzin 2018-12-29 23:07:14 -08:00
  • 669d5d1342 Add ability to merge Document.Body.Data values 0.11.4 Mathew Polzin 2018-12-28 19:11:24 -08:00
  • 923ab7d9f4 Add support for Poly8/Poly9 and Include8/Include9 0.11.3 Mathew Polzin 2018-12-28 11:05:18 -08:00
  • 72769b6107 Fix small problem with sample code in README Mathew Polzin 2018-12-27 18:22:31 -08:00
  • 109e15d741 Add convenience method for default decoding of attributes. add tests for custom decoding and encoding as well as custom coding keys. add documentation. 0.11.2 Mathew Polzin 2018-12-27 18:18:34 -08:00
  • 72180f64ef clarify some things about computed attribute properties. Mathew Polzin 2018-12-27 16:27:10 -08:00
  • be2530f41e Add parsing invariant structure even though I do not have a solid enough use-case to implement an invariant fully just yet. feature/parsing-invariants Mathew Polzin 2018-12-26 14:19:54 -08:00
  • fc962f9a0d Lift the constraint that Attributes and Relationships are Codable for EntityProxies. 0.11.1 Mathew Polzin 2018-12-24 07:05:35 -08:00
  • 52eb123166 update documentation Mathew Polzin 2018-12-22 13:57:38 -08:00
  • 4ef147ec45 Update linuxmain Mathew Polzin 2018-12-22 13:49:10 -08:00
  • 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 0.11.0 Mathew Polzin 2018-12-22 13:41:34 -08:00
  • 4dbcff6023 Add another way to initialize a nullable attribute to the tests Mathew Polzin 2018-12-22 13:10:05 -08:00