Commit Graph

27 Commits

Author SHA1 Message Date
Dave Shanley
c08dd591b2 (feat): Unpack extensions into complex function types #8
The more in-depth we use extensions, the more likely is is that we need custom extensions. New `UnpackExtensions` function in the high package makes this easy. Low level models have been updated to support feature fully and docs added in README and examples as well.

Signed-off-by: Dave Shanley <dave@quobix.com>
2022-12-02 11:15:44 -05:00
Dave Shanley
59bf83c446 Supercharged test coverage back up to 99.9%
I can't test that one line in the index, so this will do.

Now to complete the document for what's changed.
2022-11-18 11:00:34 -05:00
Dave Shanley
3bc0a3a577 v2 swagger scopes added to what-changed.
Added hashing functions to all v2 and v3 models that handle security, thats the next target.
2022-11-18 11:00:34 -05:00
Dave Shanley
b42e35f2b7 Wired up multi-version handling patterns
Designs for handling multiple versions of objects have been set, seems clean and scalable. Generic functions for handling maps has been added also, which will cut down time moving forward.
2022-11-18 11:00:34 -05:00
Dave Shanley
61beb3ea2a Schema what-changed almost complete.
Perhaps the biggest and most complex of all the models to determine what has changed.
2022-10-10 12:19:57 -04:00
Dave Shanley
4b9c5fba1e Building out schema comparison mechanism
Which has led to a new wider hashing capability for the low level API. hashing makes it very easy to determine changes quickly, without having to run comparisons to discover changes, could really speed things up moving forward.
2022-10-08 14:09:46 -04:00
Dave Shanley
ba37ca4e29 Collapsed repetitive code into generic functions.
Establishing patterns for individual objects, discovering designs to collapse what would be an obscene amount of repetitive code.
2022-09-30 10:39:35 -04:00
Dave Shanley
c47cc15cad Added tags to what-changed 2022-09-29 07:46:21 -04:00
Dave Shanley
65b242b6c4 Building out low level docs now
a long road ahead, but we must push forward.
2022-09-20 07:55:19 -04:00
Dave Shanley
aa4422fa74 Mutation method updated to return new copy
with value node (pointer) and value (non pointer) returned.
2022-09-13 09:32:08 -04:00
Dave Shanley
a2b7119af7 Added mutate command to low level API
This simple method gives the low API a super powerful and simple way to mutate the value of any node, which is then reflected in the root node, can than be serialized again and, voila! now our spec is editable.
2022-09-13 09:15:55 -04:00
Dave Shanley
4771f8d7e9 Datamodel now at 100% coverage
working with k8s, stripe, petstore and locals. Speed is as good as I can make it at this point, not without further performance tunupes for memory consumption. less copying everywhere.
2022-08-30 09:07:03 -04:00
Dave Shanley
8a4bf811ba Working throught testing for extraction functions.
boring, but important.
2022-08-29 09:15:36 -04:00
Dave Shanley
2398f051b8 building out tests for extraction functions.
Same functions will power every other model. Found some opprotunities to add control over circular references, when and how to fire errors and what not. All in all, some robust code additions will improve the library significantly.
2022-08-28 13:21:57 -04:00
Dave Shanley
1a71f449ff Huge performance increase with building.
Using some designs unearthed from building the higher level model, I have brough that design down to the lower level to speed things up. It only took 8 years, but finally, I think I have mastered mult-threading. No more deadlocks, and no more need for waitgroups for everything.
2022-08-22 09:46:44 -04:00
Dave Shanley
5a2f3ca924 Schema async work complete. 2022-08-20 17:45:14 -04:00
Dave Shanley
248b4daa80 We-worked model to remove resolver.
lookups are performed inline now. keeps things simpler, however it has a performance knock, so it's time to refine async building were possible.
2022-08-11 14:54:25 -04:00
Dave Shanley
717b7d4610 Full model is now in place,
Time to revisit each model and build individual tests to ensure all error handling is in place across the model.

Signed-off-by: Dave Shanley <dave@quobix.com>
2022-08-10 12:18:13 -04:00
Dave Shanley
2793504a92 Starting to firm up with design choices
lots more of the model coming online now.
2022-08-06 15:54:07 -04:00
Dave Shanley
13781cbbde Working in generics now to reduce code.
generics are a little funky still. sigh.
2022-08-05 21:57:04 -04:00
Dave Shanley
bdb9aa7c41 Working through building out schema models.
Perhaps the most complex model in the stack, almost there! a small amount of refactoring also to help things stay clean.
2022-08-05 12:47:50 -04:00
Dave Shanley
2f60694047 Added tag model build out with tests.
Working through patterns and re-applying them as I go, cleaning things up as I cook.
2022-07-31 12:04:15 -04:00
Dave Shanley
7535cf568c Working through the model builder
Shaping out the design as I go, what makes sence, what feels right, what do we need, how do we want to use it and how to we want to search it etc.
2022-07-30 15:27:21 -04:00
Dave Shanley
4e3a5584c3 Adding more model building code.
Seems to be working pretty well so far.
2022-07-30 08:56:09 -04:00
Dave Shanley
eda834f79f Working on building out models
a recursive approach? or a dfs approach? not sure yet. still playing with ideas.
2022-07-29 09:44:37 -04:00
Dave Shanley
a906d46227 Completed adding v3 models (I think)
Going to start logic for building things out. attempting generic builder pattern first.
2022-07-29 06:52:07 -04:00
Dave Shanley
a5f4c7f607 Adding new low level models for OAS 2022-07-28 08:49:57 -04:00