Used the fully types JSONSchema draft v7 types to basically rewrite the logic. Edge cases which were not implemented and/or incorrect were now added. E.g. Type.Union() via list of types for "type" attribute. Or Type.Unknown() for object without properties. Some more tests still should be added, since most cases were caught by typescript type issues rather than the tests.
bumps official support to JSONSchema draft v7 similar to match what typebox has done.
adds linting to the project (linting was disabled for intial version)
Summary
Used the fully types JSONSchema draft v7 types to basically rewrite the logic. Edge cases which were not implemented and/or incorrect were now added. E.g. Type.Union() via list of types for "type" attribute. Or Type.Unknown() for object without properties. Some more tests still should be added, since most cases were caught by typescript type issues rather than the tests.