Commit Graph

62 Commits

Author SHA1 Message Date
Dave Shanley
916b6d410d Extraction functions now at 100% coverage.
Model builder is up next.
2022-08-29 16:19:37 -04:00
Dave Shanley
8a4bf811ba Working throught testing for extraction functions.
boring, but important.
2022-08-29 09:15:36 -04:00
Dave Shanley
8241d834ed Back porting updated schema coverage
ensuring circular references are handled. schemas won't ever care as they are always proxied.
2022-08-28 14:56:27 -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
61a1317ffd Building out extraction and location code.
adding tests to extactraction functions.

Signed-off-by: Dave Shanley <dave@quobix.com>
2022-08-27 13:21:20 -04:00
Dave Shanley
c34c4f668c Massive refactor on how the library handles schemas.
Schemas are now rendered on demand. There is no reasonable way to navigate the mayhem that is circular dependencies through multiple inheritance and polymorphism. So now using a msuch simpler design (and MUCH faster), there is a `SchemaProxy` for every schema reference. This holds a reference to the low model and index, that renders the schema on demand. Once rendered, it's done. Any children can also be rendered on demand, and so down the rabbit hole you do (if you want).

All circular dependencies are know by the index, so you can decide when you want to stop, or just keep going for ever, however it's now a choice, not something decided for you.

Signed-off-by: Dave Shanley <dave@quobix.com>
2022-08-27 09:47:37 -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
75c7c83e31 Bumping coverage on schema to 100%
I think it should be pretty much bullet proof at the moment (until the next failure). Also added external index lookups from main index for external docs. found this bug after refining lookups in schemas.
2022-08-17 08:09:01 -04:00
Dave Shanley
10bf40ad97 Paths test coverage is completed.
Found some good gaps a holes in existing overage.
2022-08-15 17:52:32 -04:00
Dave Shanley
1d77840470 Test coverage bump 2022-08-14 05:29:37 -04:00
Dave Shanley
67c701ff07 Refactoring extraction and builder functions.
now things are robust, we can move things around a little to prepare for the next set of incoming models. The extraction and builder functions have all been moved to the low packakge, and out of the v3 package.
2022-08-14 04:03:13 -04:00
Dave Shanley
acee81f126 Added external doc test 2022-08-14 04:00:11 -04:00