Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V4 Release #398

Open
wants to merge 218 commits into
base: main
Choose a base branch
from
Open

V4 Release #398

wants to merge 218 commits into from

Commits on Jul 8, 2024

  1. Configuration menu
    Copy the full SHA
    f435aa1 View commit details
    Browse the repository at this point in the history
  2. Working on array generation.

    - We emit compilable code for the Type validation and pass the specs!
    mwadams committed Jul 8, 2024
    Configuration menu
    Copy the full SHA
    dcf4e91 View commit details
    Browse the repository at this point in the history
  3. Finished JsonArray.

    mwadams committed Jul 8, 2024
    Configuration menu
    Copy the full SHA
    7906a3d View commit details
    Browse the repository at this point in the history
  4. Debugging ArrayPartial.

    mwadams committed Jul 8, 2024
    Configuration menu
    Copy the full SHA
    5bf2bd1 View commit details
    Browse the repository at this point in the history
  5. Added boolean partial.

    - Fixed bug: core type constructor
    mwadams committed Jul 8, 2024
    Configuration menu
    Copy the full SHA
    3be1ac8 View commit details
    Browse the repository at this point in the history
  6. Working on NumberPartial.

    mwadams committed Jul 8, 2024
    Configuration menu
    Copy the full SHA
    cd1430e View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2024

  1. Added numeric conversions.

    mwadams committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    03135fc View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2024

  1. Finished NumberPartial

    - Refactored the common format mapping code into helper classes
    - Added a `Keywords()` extension method that caches the actual keywords available on the type.
    mwadams committed Jul 10, 2024
    Configuration menu
    Copy the full SHA
    9d6f5aa View commit details
    Browse the repository at this point in the history
  2. Fixed naming in light of naming properties.

    - Updated project dependencies
    - Moved C# code generation code into the correct folder
    mwadams committed Jul 10, 2024
    Configuration menu
    Copy the full SHA
    fa4bfac View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    de1b15f View commit details
    Browse the repository at this point in the history
  4. Added INonStructureKeyword

    - allows us to ignore keywords for the purpose of determining built-in types etc
    mwadams committed Jul 10, 2024
    Configuration menu
    Copy the full SHA
    ad4641e View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2024

  1. Working on ObjectPartial.

    mwadams committed Jul 11, 2024
    Configuration menu
    Copy the full SHA
    87087e6 View commit details
    Browse the repository at this point in the history
  2. Added 2019-09 vocabulary.

    mwadams committed Jul 11, 2024
    Configuration menu
    Copy the full SHA
    20403de View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2024

  1. Fixed code gen for

    - number partial
    - numeric type validation handler
    mwadams committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    fca956a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b9b445b View commit details
    Browse the repository at this point in the history
  3. Added draft 7 engine.

    mwadams committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    8fb7cc5 View commit details
    Browse the repository at this point in the history
  4. Added draf6 engine.

    mwadams committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    949da15 View commit details
    Browse the repository at this point in the history
  5. Added draft4 engine.

    mwadams committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    f76329e View commit details
    Browse the repository at this point in the history
  6. Added engine for OpenApi30

    - Added additional keywords for OpenApi30 dialect.
    mwadams committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    429498a View commit details
    Browse the repository at this point in the history
  7. Renamed Engines solution folder to Vocabularies

    Updated nuget package descriptions.
    mwadams committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    3e79f08 View commit details
    Browse the repository at this point in the history
  8. Fixed WIP object partial generation.

    - still need to implement SetProperty() and RemoveProperty() overloads, plus the __CorvusObjectHelpers.
    mwadams committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    a537341 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    4aa56f1 View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2024

  1. Configuration menu
    Copy the full SHA
    188496f View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2024

  1. Configuration menu
    Copy the full SHA
    ddf85aa View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5587f02 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2024

  1. Configuration menu
    Copy the full SHA
    c8f2624 View commit details
    Browse the repository at this point in the history
  2. Added contains handling.

    mwadams committed Jul 15, 2024
    Configuration menu
    Copy the full SHA
    f6991ef View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6a33b0c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    83a60fc View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2024

  1. Configuration menu
    Copy the full SHA
    c0c7c3d View commit details
    Browse the repository at this point in the history
  2. Added path building for the various keywords.

    Enabled Regex SourceGenerator support for non-spec builds.
    Working on Subschema validation.
    mwadams committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    e0060e3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    530c55e View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2024

  1. Configuration menu
    Copy the full SHA
    4e086c3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    be298d7 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2024

  1. Configuration menu
    Copy the full SHA
    4fbe1fd View commit details
    Browse the repository at this point in the history
  2. Added composition oneOf validation.

    - Fixed anyOf/OneOf results merging.
    mwadams committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    29911fa View commit details
    Browse the repository at this point in the history
  3. Refectored oneOf and anyOf composition validation.

    - Isolated individual keyword validation in local methods.
    mwadams committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    a99ce41 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2024

  1. Configuration menu
    Copy the full SHA
    170eef4 View commit details
    Browse the repository at this point in the history
  2. Added const handling.

    mwadams committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    052063b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1cf0106 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fc855a8 View commit details
    Browse the repository at this point in the history
  5. Fixed pattern validation.

    mwadams committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    a92c823 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    eefc81a View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2024

  1. Configuration menu
    Copy the full SHA
    4ddb06a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    53d7e92 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9c56369 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4a9aaf3 View commit details
    Browse the repository at this point in the history
  5. Added PatternProperties.

    mwadams committed Jul 23, 2024
    Configuration menu
    Copy the full SHA
    8e2c858 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    47d6deb View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2024

  1. FIxed various draft7 issues

    - additionalItems
    - correct $ref in vocab
    - driver using reduced type for root type
    - naming properties as for v2 when clashing with parent
    mwadams committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    010c2fb View commit details
    Browse the repository at this point in the history
  2. Added local metaschema

    Fixed Draft6 $ref vocab
    mwadams committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    bd5ac78 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f0d325c View commit details
    Browse the repository at this point in the history
  4. Added not validation

    Added missing const keyword push location.
    mwadams committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    7397ee6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    81cda78 View commit details
    Browse the repository at this point in the history
  6. Added if/then/else.

    mwadams committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    ae2376c View commit details
    Browse the repository at this point in the history
  7. Added property names validation

    - Ensure parent names are set before children.
    mwadams committed Jul 24, 2024
    Configuration menu
    Copy the full SHA
    cd41353 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    13bc756 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    001d601 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2024

  1. Added enum validation

    mwadams committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    d4654cf View commit details
    Browse the repository at this point in the history
  2. Added min/max properties.

    mwadams committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    316976f View commit details
    Browse the repository at this point in the history
  3. Added DependentSchemas.

    mwadams committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    f5f2799 View commit details
    Browse the repository at this point in the history
  4. Added dependent required.

    mwadams committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    54b89ec View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3159d34 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8a463a9 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    274813d View commit details
    Browse the repository at this point in the history
  8. Added benchmarks

    - BenchmarkDotnet is failing if both Core and Framework builds are used with multitargeting
    - Fixed bug: allocating performing numeric comparisons
    - Added comparisons between code generated from V2 and V3 (they are identical within experimental error
    mwadams committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    0b1d4c8 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2024

  1. Added Create() method.

    mwadams committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    0748071 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1469793 View commit details
    Browse the repository at this point in the history
  3. Fixed indentation issue.

    Added Debug Assertion to catch indentation issues.
    mwadams committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    6054f61 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2024

  1. Revert benchmark nightlies.

    mwadams committed Jul 27, 2024
    Configuration menu
    Copy the full SHA
    0ece58d View commit details
    Browse the repository at this point in the history
  2. Fixed test failures.

    mwadams committed Jul 27, 2024
    Configuration menu
    Copy the full SHA
    a82833e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a6af768 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b6bc74e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1dfbc3c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b478c61 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    20014c1 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    591594e View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2024

  1. Configuration menu
    Copy the full SHA
    4e8a867 View commit details
    Browse the repository at this point in the history
  2. Added optimizations for

     - property name equality checks
    - aggressive inlining
    
    These (broadly) compensate for the fact that we have fixed a number of cases where we were not pushing the validation property location correctly to the context in V2. Those extra instructions (even though we don't push the location itself in the flags case, just test to see if we should) add a small overhead.
    mwadams committed Jul 28, 2024
    Configuration menu
    Copy the full SHA
    96099d8 View commit details
    Browse the repository at this point in the history
  3. Fixed file naming to match previous heuristic.

    Improved console output.
    mwadams committed Jul 28, 2024
    Configuration menu
    Copy the full SHA
    de4dc3b View commit details
    Browse the repository at this point in the history
  4. Added Match for subschema.

    mwadams committed Jul 28, 2024
    Configuration menu
    Copy the full SHA
    153fa12 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    16adbe6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    fd48385 View commit details
    Browse the repository at this point in the history
  7. Fixed bug

    - Multiple instances of the same schema type in composition causes match to generation to fail.
    mwadams committed Jul 28, 2024
    Configuration menu
    Copy the full SHA
    c8842a6 View commit details
    Browse the repository at this point in the history
  8. Added conversion operators.

    mwadams committed Jul 28, 2024
    Configuration menu
    Copy the full SHA
    b89e6f7 View commit details
    Browse the repository at this point in the history
  9. Add TryAs() methods

    mwadams committed Jul 28, 2024
    Configuration menu
    Copy the full SHA
    813c294 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2024

  1. Configuration menu
    Copy the full SHA
    6f435cb View commit details
    Browse the repository at this point in the history
  2. Added Is and As properties.

    mwadams committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    0b5784f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d663ea1 View commit details
    Browse the repository at this point in the history
  4. Added enum generation.

    - Also added missing separator lines.
    mwadams committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    ab50672 View commit details
    Browse the repository at this point in the history
  5. Added built-in name heuristics for the basic types (not format-based)

    Fixed the array type name heuristic so it works with single implied items types.
    mwadams committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    b3dcda4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    624569a View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2024

  1. Fixed naming heuristics

    - Added a proper way of systematically weeding out multiple paths to the *same* type, via dynamic references.
    
    This situation occurs when there are multiple references to a subschema that all actually occur in the same dynamic context, but this cannot be determined until you are "done" (you can tell because the dynamic types will all have the same name, end up in the same parent, because that parent represents the dynamic anchor for the type. If they are from a different dynamic scope, they will have a different parent.
    
    V2 deals with this by the brute-force method of just writing the files over and over again. This is a wasteful (especially in the Source Generator scenario) so we avoid that in V3.
    mwadams committed Jul 30, 2024
    Configuration menu
    Copy the full SHA
    1452564 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2024

  1. Fixed bug: solo-acquired keyword is permitted to provide no informati…

    …on about unknown keywords.
    mwadams committed Jul 31, 2024
    Configuration menu
    Copy the full SHA
    0dbf40b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    16e9180 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    66bf6c5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    957789f View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2024

  1. Fix #392

    - Exposed CorvusValidation static class publicly
    - Exposed the constant properties and fields within that publicly
    - Exposed the validation methods internally.
    mwadams committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    4eecf4d View commit details
    Browse the repository at this point in the history
  2. Regenerated types.

    mwadams committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    f3ae06b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    28708b1 View commit details
    Browse the repository at this point in the history
  4. Fix #383

    - Added `--disableOptionalNamingHeuristics` to the command line generator to expose the underlying optionality of the broken-out naming heuristics.
    mwadams committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    0ec794b View commit details
    Browse the repository at this point in the history
  5. Fix #298

    - Added `--optionalAsNullable` flag to the generator
    - Fixed (optional) comments
    mwadams committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    1e456b8 View commit details
    Browse the repository at this point in the history
  6. Fix: match naming.

    mwadams committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    7f83801 View commit details
    Browse the repository at this point in the history
  7. Path truncation support.

    mwadams committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    25914b0 View commit details
    Browse the repository at this point in the history
  8. WIP: path truncation.

    mwadams committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    bd181b6 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2024

  1. Added path truncation to fix #390

    mwadams committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    37facbb View commit details
    Browse the repository at this point in the history
  2. Removed unncessary usings.

    mwadams committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    049e42b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bfb0680 View commit details
    Browse the repository at this point in the history
  4. Updated readme.

    mwadams committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    cd25b49 View commit details
    Browse the repository at this point in the history
  5. Removed unused using.

    mwadams committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    3bab0f3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    cf6666a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1e71cf8 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a986e9a View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b3dfc88 View commit details
    Browse the repository at this point in the history
  10. Corrected version numbering.

    mwadams committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    0158c2e View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    68408af View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2024

  1. Configuration menu
    Copy the full SHA
    0f98a56 View commit details
    Browse the repository at this point in the history
  2. Added support for a json configuration file to drive code generation.

    Includes support for explicit type naming etc.
    mwadams committed Aug 3, 2024
    Configuration menu
    Copy the full SHA
    ba503c6 View commit details
    Browse the repository at this point in the history
  3. Updated the README.

    mwadams committed Aug 3, 2024
    Configuration menu
    Copy the full SHA
    a289ec7 View commit details
    Browse the repository at this point in the history
  4. Added the ability to set the namespace on the root type as part of th…

    …e generation specificiation.
    mwadams committed Aug 3, 2024
    Configuration menu
    Copy the full SHA
    46efdd9 View commit details
    Browse the repository at this point in the history
  5. Added the ability to add additional files during generation

    - refactored for readability
    mwadams committed Aug 3, 2024
    Configuration menu
    Copy the full SHA
    d5505c0 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2024

  1. Generate our Corvus.Json.ExtendedTypes from our code generator.

    1. This allows us to eliminate the last of the T4 templates
    2. This dogfoods our codegen - the specs that test the non-validation capabilities of the core types become tests for our generated code as well as the core types themselves.
    
    - Adding code generation for all of the "format" extensions using the existing IFormatHandler (renamed from IFormatProvider)
    - This also fixes #318
    - Implemented custom span-based parsers for OffsetDateTime, LocalDate, OffsetTime so they become zero-allocation allowing implicit casts to those types.
    - Optimized non-span/string-based parsing of netstandard2.0 IPAddress (v4/v6) and UUID.
    mwadams committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    18c2f78 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2024

  1. Enhanced numerics support.

    mwadams committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    8d86c95 View commit details
    Browse the repository at this point in the history
  2. Continue to generate our Corvus.Json.ExtendedTypes from our code gene…

    …rator.
    
    Added JsonRegex
    Included all the 'content' types in the generation
    Added specs for the exsting content types (revealing a bug in EqualsUtf8Bytes)
    mwadams committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    285cbe5 View commit details
    Browse the repository at this point in the history
  3. A bit of perf shaving.

    - Reduced the size of validation context by packing the valid bit into the features bitfield.
    mwadams committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    6162b36 View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2024

  1. Added code generated from V3 to verify interop.

    -- Need to add some more variations on the schema to ensure basic string and number type validation is performed (e.g. min/max/exclusivemin/exclusivemax/string length etc.)
    mwadams committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    69f9288 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    09c06c8 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    109acac View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    eeebe6f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0672d29 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3aa2278 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    fe1f470 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a7bfbfa View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    6f5256a View commit details
    Browse the repository at this point in the history
  10. Addded JsonContent code generation.

    - Added the additional string format types to the parsing, cast, and equality specs
    mwadams committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    87460d4 View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2024

  1. Configuration menu
    Copy the full SHA
    e0a3826 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    264537a View commit details
    Browse the repository at this point in the history
  3. Added specs for WriteTo().

    - This is critical functionality and was just assumed to work! Fortunately it did...
    mwadams committed Aug 9, 2024
    Configuration menu
    Copy the full SHA
    526a411 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    759bd86 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4d51b26 View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2024

  1. Added specs

    - Additional integer equality specs
    -Refactored common code into Corvus.Json.ExtendedTypes
    mwadams committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    b969ef0 View commit details
    Browse the repository at this point in the history
  2. Trimmed unused code.

    mwadams committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    f2b0ab9 View commit details
    Browse the repository at this point in the history
  3. Fixed missing namespace.

    mwadams committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    d87fd65 View commit details
    Browse the repository at this point in the history
  4. Cleaned up unused code.

    mwadams committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    c043b6f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    979bdf4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    520de74 View commit details
    Browse the repository at this point in the history
  7. Update README.md

    mwadams authored Aug 12, 2024
    Configuration menu
    Copy the full SHA
    314014c View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8d0d53c View commit details
    Browse the repository at this point in the history
  9. Pruned unused code.

    mwadams committed Aug 12, 2024
    Configuration menu
    Copy the full SHA
    2b0f80f View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2024

  1. Fixed bug: Added local metaschema to the generator.

    - Included vocab schema and 2020-12 metaschema variant for the $corvusTypeName custom keyword
    mwadams committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    bc868e4 View commit details
    Browse the repository at this point in the history
  2. Added string format specs.

    mwadams committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    d1ba606 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9dc547b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5430a80 View commit details
    Browse the repository at this point in the history
  5. Additional numeric specs.

    mwadams committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    a475ed0 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8376340 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2024

  1. Configuration menu
    Copy the full SHA
    38f7c4f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f317030 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2024

  1. Configuration menu
    Copy the full SHA
    e352b69 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    43bdde2 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2024

  1. Added initial support for a dynamic schema load and validation

    - New Corvus.Json.Validator package to load schema documents and build validation
    - New command in the command line tool to validate a JSON document.
    mwadams committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    720ec98 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b66a6e3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2cc0968 View commit details
    Browse the repository at this point in the history
  4. Added target to package so it requires <PreserveCompilationContext> a…

    …nd updated the README.
    mwadams committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    a9fa7fe View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2024

  1. Added net9.0 benchmark run.

    mwadams committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    2621745 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5f83b30 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2024

  1. Emit format-based typed constant values for well-known format types.

    - Intended to supports custom keywords that wish to perform format-based validation
    - (Supports the custom keyword sample code that implements a minDate/maxDate vocabulary)
    mwadams committed Aug 21, 2024
    Configuration menu
    Copy the full SHA
    cb9ee57 View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2024

  1. Return the static instance of ValidationContext.InvalidContext for in…

    …valid flag validation.
    
    This allows us to be returned as a ref, rather than built and copied.
    mwadams committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    1300d6f View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2024

  1. Configuration menu
    Copy the full SHA
    d2cbbd8 View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2024

  1. Preparation for #399 in conjunction with changes to V3.

    Removed explicit conversion to string in interface, and its dependencies.
    mwadams committed Aug 25, 2024
    Configuration menu
    Copy the full SHA
    c7cb962 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2024

  1. Fix #399

    - Generate implicit operator string if requested
    - Eliminate some unused methods in code generation
    - Fix bug: dependent property collection is never adding dependent properties
    - Update package versions
    mwadams committed Aug 26, 2024
    Configuration menu
    Copy the full SHA
    38e62c4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    24f3009 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3a3d340 View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2024

  1. Feature/408 validation results contain more errors than expected (#413)

    * Generate relative file path for the root file, using just the filename
    * Generate more efficient allOf and type validation code
    * Ensure type and format validation locations are applied.
    * Fixed default name collision resolver bug when names cannot be reduced in a single pass.
    * Use the `WithResult()` overload that takes the keyword in code generation wherever possible.
    * Equivalence in dotnet and JsonElement error reporting across .NET versions.
    mwadams authored Aug 29, 2024
    Configuration menu
    Copy the full SHA
    c65cfbe View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2024

  1. Update README.md

    mwadams authored Sep 9, 2024
    Configuration menu
    Copy the full SHA
    6ffb32d View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2024

  1. Configuration menu
    Copy the full SHA
    9118fee View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2024

  1. Clean up ExtendedTypes project file

    - Removed unncessary removals
    - Switched to #ifdef rather than removing project files so they show up in the source tree in VS
    mwadams committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    888ab59 View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2024

  1. Update to System.Text.Json 9.0 preview builds.

    Use JsonMarshal.GetRawUtf8Value()
    Use new GetPropertyCount() method on JsonElement.
    mwadams committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    25e0cee View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2024

  1. Removed unused code.

    mwadams committed Sep 14, 2024
    Configuration menu
    Copy the full SHA
    64718c6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ace47d7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1635d26 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dd772bc View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    50977aa View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2024

  1. Removed dependency on Corvus.Json.ExtendedTypes for the code generation.

    Exposed `SchemaReferenceNormalization` as a public capability.
    mwadams committed Sep 16, 2024
    Configuration menu
    Copy the full SHA
    4ea4ab3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5325233 View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2024

  1. Configuration menu
    Copy the full SHA
    716ea10 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    68255b0 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2024

  1. Moved NullableAttributes to internal where possible.

    Add a default public implementation to Corvus.Json.ExtendedTypes for the netstandard2.0 libraries.
    mwadams committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    70c9140 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6e96b97 View commit details
    Browse the repository at this point in the history
  3. Cleaned dependencies from all projects

    Removed use of `StringBuilderPool` and added use of ValueStringBuilder.
    mwadams committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    e6d87be View commit details
    Browse the repository at this point in the history
  4. Added missing license file.

    Updated build tooling version.
    mwadams committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    5ffbce1 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2024

  1. Experimental Source Generator (#431)

    * Added packable and locally-referenceable source builder.
    * Added local Sandbox project that consumes the generator.
    * Added SourceGenerator info to the README.
    mwadams authored Sep 20, 2024
    Configuration menu
    Copy the full SHA
    555ddfb View commit details
    Browse the repository at this point in the history
  2. Prevent snupkg generation for the source generator.

    Do not pack the Sandbox.SourceGenerator.
    mwadams committed Sep 20, 2024
    Configuration menu
    Copy the full SHA
    3a1be76 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2024

  1. Configuration menu
    Copy the full SHA
    bf9b67f View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2024

  1. Configuration menu
    Copy the full SHA
    b75fcd1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d75d697 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2024

  1. Ensure item and property index tracking is zero allocation for up-to …

    …32 properties or items.
    mwadams committed Sep 30, 2024
    Configuration menu
    Copy the full SHA
    7180f85 View commit details
    Browse the repository at this point in the history
  2. Removed unnecessary tests.

    mwadams committed Sep 30, 2024
    Configuration menu
    Copy the full SHA
    7892ccd View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2024

  1. Configuration menu
    Copy the full SHA
    5eea75c View commit details
    Browse the repository at this point in the history
  2. Feature/440 documentation comments duplicated (#441)

    * Fixed bug: line spaces no longer being applied.
    
    * Failing test added.
    
    * Fixed bug #440
    
    De-duplicated documentation when the property type is not reducible.
    
    * Include all unreduced type short documentation.
    mwadams authored Oct 1, 2024
    Configuration menu
    Copy the full SHA
    e256f9f View commit details
    Browse the repository at this point in the history
  3. Fix bug - exceptions should not be thrown when properties are generat…

    …ed for sibling-hiding keywords
    mwadams committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    b480cca View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e884c54 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2024

  1. Configuration menu
    Copy the full SHA
    b47b6b7 View commit details
    Browse the repository at this point in the history
  2. Fix Bug #444

    Emit (prunable) do-nothing validation for unrecognized explicit format.
    mwadams committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    aa16fac View commit details
    Browse the repository at this point in the history
  3. Update README.md

    mwadams authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    e88b4ba View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2024

  1. Configuration menu
    Copy the full SHA
    0a2106a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    68ead26 View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2024

  1. Configuration menu
    Copy the full SHA
    254930d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6e19dc0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bfe37e9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1e23c86 View commit details
    Browse the repository at this point in the history
  5. Updated packages.lock.json

    mwadams committed Oct 11, 2024
    Configuration menu
    Copy the full SHA
    cc1fff0 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    edf6bc4 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2024

  1. Configuration menu
    Copy the full SHA
    2e73bd6 View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2024

  1. Update README.md

    Fixed typo.
    mwadams authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    f3b83f5 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2024

  1. Fix #456

    Added methods for WithXXX() properties.
    Ensure optional properties can be set with "null" to remove them as per Create().
    mwadams committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    9b538a5 View commit details
    Browse the repository at this point in the history
  2. Regenerated models.

    mwadams committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    b9b15be View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1c5846e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    432d75f View commit details
    Browse the repository at this point in the history