Commit Graph

25 Commits

Author SHA1 Message Date
quobix
70f406b6cf Added NodeMap to all low level objects.
this sync map tracks all the nodes that apply to this object.
2024-08-05 09:29:07 -04:00
quobix
338eaa3dac Fixed spec format setting for 3.1 in SpecInfo 2024-05-17 17:19:46 -04:00
quobix
63354654bf added in keynode support
soemthing that has been waiting to be filled in for some time.

Signed-off-by: quobix <dave@quobix.com>
2024-01-04 17:08:08 -05:00
quobix
08571b7693 Removed JsonParsingChannel
It does no good to anyone, anywhere and is creating race conditions when using the stack in a multi-tenant fashion.

Signed-off-by: quobix <dave@quobix.com>
2023-12-20 13:08:51 -05:00
Tristan Cartledge
41557cebcb cleanup: add sync version of ExtractSpecInfoWithDocumentCheck 2023-12-07 12:57:46 +00:00
Tristan Cartledge
fac9a4b3b1 fix: attempted fix to infinite yaml parsing bug 2023-12-07 11:34:36 +00:00
quobix
8b9ef11270 Re-enabled JSON Parsing async channel
The channel is used by vacuum and the validator, it is required for schema validation. but it also slows things down considerably when done synchronously. I have moved this code back to async, it cuts parsing time in half for vaccum, and restores super speed.

Signed-off-by: quobix <dave@quobix.com>
2023-11-09 06:37:36 -05:00
quobix
511843e4df Major surgery on the index and resolver. A complete flip in design.
Signed-off-by: quobix <dave@quobix.com>
2023-10-14 12:36:38 -04:00
quobix
8e08110b11 Added numeric version to SpecInfo
It’s easier to determine now which version is which.

Signed-off-by: quobix <dave@quobix.com>
2023-10-08 12:27:52 -04:00
Dave Shanley
50c1d80563 Added general linting support for non openapi files.
This allows vacuum to operate outside of the OpenAPI world. Exciting!

Signed-off-by: Dave Shanley <dave@quobix.com>
2023-07-22 14:09:33 -04:00
Dave Shanley
e1f0f69650 Original indention and text delimiter style retained when rendering #106
Now the original indention is captured and string delimiters are retained when rendering out documents.

Signed-off-by: Dave Shanley <dave@quobix.com>

# fixes 106
2023-06-17 14:12:27 -04:00
Dave Shanley
2d536c884d A few tiny non breaking changes.
just cleaning things up, preparing for online demo push for https://pb33f.io
2023-02-11 09:16:17 -05:00
Hugo Stijns
1a65c08b24 Fix setting JSON schema for OAS 3.1.0 2022-12-22 06:46:08 -05:00
Dave Shanley
27001e083b Small glitches for vacuum.
A couple of slight bugs were causing big issues in vacuum.
2022-12-16 13:40:18 -05:00
Dave Shanley
ece888d201 Tests were hanging, stopped JSON parsing channel use altogether
vacuum will need looking at for this later version.
2022-12-13 14:12:45 -05:00
Dave Shanley
724fdb31c4 (fix): A memory leak was detected and fixed #46
The issue lay with the `ExtractSpecInfo()` method from within the `datamodel` module. There is a round of parsing that happens in another thread inside there, and a notification is pumped down a channel once done. The pronlem is that nothing was listening on that channel, so everything in those threads just kept piling up with the garbage collector unable to free any of it.
2022-12-13 14:12:45 -05:00
Dave Shanley
c099e0def5 3.0 Schema used by default now for 3.0.x minor versions.
Originally reported in vacuum: https://github.com/daveshanley/vacuum/issues/131
2022-09-28 07:17:57 -04:00
Dave Shanley
e80b640627 Added support for 3.1 docs and variations, as well as removed duplicated descriptions from sample spec. 2022-09-26 15:58:32 -04:00
Dave Shanley
ee4aec4cdb Added latest and greatest schema for correct OAS3.1 validation
When updating vacuum, OAS 3.1 specs were not validated correctly.
2022-09-26 15:47:10 -04:00
Dave Shanley
26bf084207 Adding more docs and examples. 2022-09-13 10:59:53 -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
647541cc77 Added in high document API
filling out documentation, looking at DX and how to consume things, re-shuffling and cleaning house.
2022-09-13 08:39:38 -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
51e1f62b04 Test coverage for v3 model is now at 100%
This should be very easy to duplicate to 2.0 and 3.1, now extraction code needs testing.

Signed-off-by: Dave Shanley <dave@quobix.com>
2022-08-27 12:48:58 -04:00
Dave Shanley
925220e8da Added resolver, models and model utils. 2022-07-18 09:42:46 -04:00